`
Nightlee
  • 浏览: 67303 次
社区版块
存档分类
最新评论

android捕鱼达人修改方法(反编译、修改、打包)

阅读更多
感谢ssgemail在http://www.iteye.com/topic/1112018中提供的方法


涉及内容

apk反编译
代码修改
打包
重启签名

需要的工具
jdk:必须的
baksmali:classes.dex反编译为smali格式(文本文件,可修改)
smali:smali格式编译打包为classes.dex
但由于smali格式类似汇编,比较难阅读,所以用dex2jar进行辅助
dex2jar:classes.dex转为jar包
jdgui:jar反编译并阅读

以上工具可以在 http://liye111111.ys168.com/ 下载

好了,顺序就是把apk用zip解开,里面的classes.dex分别用baksmali处理为smali,用dex2jar处理成jar,然后用jdgui看代码,找好java文件中要改的位置后,在smali里找对应的位置修改,改完了用smali再编译为classes.dex,覆盖原来apk里的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本,因为签名不同了,我第一次再这里卡了好久。


以“捕鱼达人海底捞”为例
下载这个游戏的apk,fishing_joy_1.apk,和工具放在一起



用zip解开fishing_joy_1.apk
copy classes.dex到baksmali的同一目录



用baksmali处理为smali
java -jar baksmali-1.2.6.jar -x classes.dex
得到out目录,里面是smali文件

用dex2jar处理classes.dex为jar包
dex2jar-0.0.7.10-SNAPSHOT\dex2jar.bat classes.dex
得到classes.dex.dex2jar.jar
这时我们的工作目录下面是这样



用jdgui打开classes.dex.dex2jar.jar


好了,可以看代码,但还不能直接修改,需要对比着来修改smali文件

比如我们通过对比找到控制鱼被打到几率的代码在FishLayer.smali
    invoke-static {v4, v5}, Lcom/sg/android/fish/fish/FishFactory;->getProb(II)D

    move-result-wide v4

    invoke-static {}, Ljava/lang/Math;->random()D

    move-result-wide v6

    const-wide/high16 v8, 0x4059

最后的0x4059会与random相乘,如果比getProb方法计算的结果小,判断为鱼可以打下来
改为0x0,每条鱼都是必中

改好后,用java -jar smali-1.2.6.jar -o classes.dex out
得到修改后的classes.dex,用这个文件替换fishing_joy_1.apk中的同名文件
但这个apk是不能用的,还没有进行重新签名

先用keytool生成keystore
keytool -genkey -keystore mykeystore -alias mykeystore -validity 999
把apk中的META-INF删除,再用jarsigner 签名
jarsigner -verbose -keystore mykeystore -signedjar fishing_joy_1_signed.apk fishing_joy_1.apk mykeystore

先卸载原来手机中安装的这个游戏,再用fishing_joy_1_signed.apk安装

最后工作目录是这个样子









  • 大小: 21.5 KB
  • 大小: 29.7 KB
  • 大小: 37.1 KB
  • 大小: 35.9 KB
  • 大小: 45.3 KB
3
0
分享到:
评论
5 楼 冷月無聲 2014-03-26  
为什么我修改smali后就不能再打包成apk了
4 楼 HeiCuChan 2013-03-14  
为什么的我反编译后跟你的不一样,你说的类和方法我都没找到,你用的哪个版本的apk啊?
附包图一张
3 楼 hahahaha13 2012-07-03  
很好很强大
2 楼 Nightlee 2011-08-08  
keel 写道
引用
通过对比找到控制鱼被打到几率的代码在FishLayer.smali

这个貌似难度很大……有什么技巧么?

用dex2jar反编译成class看会轻松点
1 楼 keel 2011-08-04  
引用
通过对比找到控制鱼被打到几率的代码在FishLayer.smali

这个貌似难度很大……有什么技巧么?

相关推荐

    android 捕鱼达人 游戏 代码

    《Android捕鱼达人游戏源码解析》 Android捕鱼达人游戏,作为一个经典的移动平台游戏,它的源码为开发者提供了宝贵的参考资料,尤其是对于那些希望深入理解Android编程和游戏开发的初学者而言。这款基于AndEngine...

    Android捕鱼达人源码.rar

    【Android捕鱼达人源码分析】 Android捕鱼达人是一款深受玩家喜爱的移动游戏,其源码的公开为开发者提供了深入了解游戏开发的宝贵机会。本篇将基于提供的"Android捕鱼达人源码.rar"进行深入解析,探讨其核心技术和...

    Android捕鱼达人源码

    Android捕鱼达人源码,可供大家参考研究。

    android捕鱼达人-andengine源码

    《Android捕鱼达人——AndEngine源码深度解析》 在Android平台上,AndEngine是一款广受欢迎的2D游戏开发引擎,以其轻量级、高效且易于学习的特性,深受开发者喜爱。本源码是基于AndEngine老版本开发的捕鱼达人游戏...

    android捕鱼达人(andengine引擎)

    android捕鱼达人,用的是andengine引擎,最好是4.0编译,然后java1.6,不懂andengine引擎的可以到我资源里面下载这本书入门下http://download.csdn.net/detail/jamesliulyc/4150114

    捕鱼达人修改版

    在《捕鱼达人修改版》中,JavaScript库和框架可能被用来简化开发过程。例如,jQuery可以方便地处理DOM操作和事件绑定,而Three.js这样的3D图形库可能用于创建更加立体逼真的游戏环境。开发者可能会利用AJAX技术进行...

    android捕鱼达人源码

    《Android捕鱼达人源码解析与学习指南》 在Android开发领域,捕鱼达人是一款深受玩家喜爱的休闲游戏,其源码对于开发者来说具有很高的学习价值。本文将深入探讨Android捕鱼达人的源码,揭示其背后的编程技术和设计...

    android捕鱼达人源代码

    【Android 捕鱼达人源代码详解】 "Android 捕鱼达人源代码"是一个针对Android平台的游戏开发项目,它提供了完整的源代码,适合开发者学习和研究。这个游戏以捕鱼为主题,融合了娱乐与策略,玩家通过操作虚拟炮台,...

    纯android版捕鱼达人游戏

    《纯Android版捕鱼达人游戏》是一款专为Android平台设计的捕鱼类游戏,它不依赖任何外部游戏引擎,完全由原生Android代码构建。这款游戏对于想要深入学习Android游戏开发的程序员来说,是一个绝佳的学习资源,因为它...

    Html5捕鱼达人源码.zip

    Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人源码Html5捕鱼达人...

    安卓Android源码——捕鱼达人源代码.zip

    【标题】"安卓Android源码——捕鱼达人源代码.zip" 提供的是一个基于Android平台的捕鱼达人的游戏源代码,这是一份对于Android开发者来说非常有价值的参考资料。它可以帮助开发者深入理解游戏开发流程,特别是...

    Android应用源码之高仿安卓捕鱼达人游戏-IT计算机-毕业设计.zip

    该压缩包文件“Android应用源码之高仿安卓捕鱼达人游戏-IT计算机-毕业设计.zip”包含了一个Android应用的源代码,旨在帮助学生进行毕业设计学习。这个项目模仿了流行的手机游戏“捕鱼达人”,提供了丰富的Android...

    Android应用源码之高仿安卓捕鱼达人游戏.zip

    【Android应用源码之高仿安卓捕鱼达人游戏】 在Android平台上,捕鱼达人是一款深受玩家喜爱的休闲游戏。这款高仿版的捕鱼达人源码为我们提供了一个深入理解Android游戏开发的绝佳机会。通过分析和学习这份源码,...

    Android 捕鱼达人 源代码

    【Android 捕鱼达人 源代码】是一款基于Android平台开发的游戏应用,它为开发者提供了深入了解游戏开发、动画设计以及Android系统编程的机会。通过学习这个源代码,开发者可以掌握如何构建一个完整的移动游戏,包括...

    Android游戏捕鱼达人源代码(仅供学习 )

    对于Android游戏开发者来说,捕鱼达人的源代码提供了一个很好的实践案例,可以深入理解AndEngine的使用方法,学习如何构建2D游戏的完整框架,包括UI设计、游戏逻辑编程、物理引擎应用等方面。同时,通过分析源码,...

    Android捕鱼达人游戏完整源码.rar

    Android捕鱼达人游戏完整源码,安卓游戏开发必看实例,开源的android游戏源码,界面相当漂亮哦,运行界面如截图所示。因Bin目录下的内容可以重新编译生成,因此在上传前删除了该文件夹,以压缩源码包大校

    Android 捕鱼达人源代码-IT计算机-毕业设计.zip

    【Android 捕鱼达人源代码】是一款几年前的Android应用程序示例,主要用于帮助学生进行毕业设计学习。这个项目提供了一个完整的捕鱼游戏的源代码实现,是理解Android开发、游戏编程和交互设计的一个宝贵资源。 首先...

    捕鱼达人 Android 版源码分享.rar

    fishjoy源码,翻译为“捕鱼达人”,此为完整的捕鱼达人 Android 版源码分享,这个好像是原版的代码,来自国外的android开发基地,注释也是英文的,这点有点遗憾啊,不过能写andorid的,英文应该都不错吧,发上来给感...

    Android高级应用源码-捕鱼达人源代码.zip

    《Android高级应用源码——捕鱼达人源代码解析》 捕鱼达人是一款广受欢迎的移动游戏,其源代码对于Android开发者来说是一份宝贵的参考资料。通过深入学习和分析这份源代码,我们可以了解并掌握Android游戏开发的...

    C#基于Unity3D的捕鱼达人小游戏源码.zip

    C#基于Unity3D开发的捕鱼达人小游戏源码.zipC#基于Unity3D开发的捕鱼达人小游戏源码.zipC#基于Unity3D开发的捕鱼达人小游戏源码.zipC#基于Unity3D开发的捕鱼达人小游戏源码.zipC#基于Unity3D开发的捕鱼达人小游戏...

Global site tag (gtag.js) - Google Analytics