第一次发帖,如果发错版块请管理帮忙移动一下,谢谢
因为最近闲的蛋疼,也好久没研究安卓的反编译了,重新复习一下,先从简单的开始吧,准备一个apk先 https://pan.baidu.com/s/1V2DcUejpH0SzZ9lu1KvQbg 提取码:4gv8
工欲善其事必先利其器准备以下工具
1.AndroidKiller_v1.3.1(论坛爱盘有)
2.dnspy.exe https://pan.baidu.com/s/1ABx0Alan9Eh-N5HQt4rIhg 提取码:hgsk
第一步,准备工作做完,当然就开始进入我们的正题了,开始反编译准备好的apk,打开android killer把apk拖进去等待处理完成后,看到Assembly-CSharp.dll文件
我们可以知道这是一个使用unity开发的apk游戏,所以基本上不需要看smali里面的代码了,只需要处理Assembly-CSharp.dll文件里的代码就可以完成修改金钱
等数据了
第二步,就是使用dnspy.exe打开Assembly-CSharp.dll文件进行分析,我们知道金钱一般的关键词都是coin,money等,所以我们通过关键词来搜索
通过搜索这两个关键词我们可以发现出现了很多关于这两个词的方法和变量,那么多不可能一个个修改验证是否正确,那我们可以试着搜索一下金钱的数值 50000
我们可以看到在搜索的时候有一个main.AppData的类,这个名字想想都知道是app数据处理的一个类,所以我们直接点进去看发现一个变量secureMoney_,
这个变量后面带着一个50000L的数值,那么接下来要干什么?你们懂得,嘿嘿嘿,右键选择编辑IL指令,找到0xc350这行,我们把0xc350修改成0xf423f,然后点确定
当然修改多少进制转换一下就行了,怎么进制转换就不用我多说了吧。 修改之后 文件->保存模块 保存之后替换掉反编译之后的dll文件,然后回编译
看看结果
可以看到,我们已经成功的修改了金钱的值,接下来再说一个小修改,有时候我们玩游戏的时候不想一开始就那么富有,有困难的时候才增加金钱怎么办,我的思路就是
修改某个按钮的功能,需要钱的时候就点击一下,不需要的时候正常玩,这样可以让游戏不那么容易腻
开始
找一个和游戏不相关的按钮,这里我选择了 其他->网站这个按钮
这个时候我们就不能只修改Assembly-CSharp.dll文件了,因为这个按钮的逻辑不一定在这文件里,我们把全部dll都用dnspy打开,搜索kairopark.jp(因为打开的域名是这个)
通过分析我们可以发现,打开网页的都是通过一个OpenBrowser(string url)方法操作的,所以直接在这里写入增加金钱的逻辑就行了,因为时间关系我随便写了一下,
每次点击新增100000G,因为是测试,所以后面的打开浏览器我没做修改,所以还是会正常打开浏览器访问网页,,写好后也是保存模块替换dll,回编译,安装
结果
以上内容完全属于个人兴趣修改,不分享任何完成作品,第一次发帖,有很多地方写的不是很好的,请见谅
|