记录一次unity3d游戏修改-未加壳
第一次发帖,如果发错版块请管理帮忙移动一下,谢谢因为最近闲的蛋疼,也好久没研究安卓的反编译了,重新复习一下,先从简单的开始吧,准备一个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,然后点确定
当然修改多少进制转换一下就行了,怎么进制转换就不用我多说了吧{:1_926:}。修改之后 文件->保存模块 保存之后替换掉反编译之后的dll文件,然后回编译
看看结果
可以看到,我们已经成功的修改了金钱的值,接下来再说一个小修改,有时候我们玩游戏的时候不想一开始就那么富有,有困难的时候才增加金钱怎么办,我的思路就是
修改某个按钮的功能,需要钱的时候就点击一下,不需要的时候正常玩,这样可以让游戏不那么容易腻
开始
找一个和游戏不相关的按钮,这里我选择了 其他->网站这个按钮
这个时候我们就不能只修改Assembly-CSharp.dll文件了,因为这个按钮的逻辑不一定在这文件里,我们把全部dll都用dnspy打开,搜索kairopark.jp(因为打开的域名是这个)
通过分析我们可以发现,打开网页的都是通过一个OpenBrowser(string url)方法操作的,所以直接在这里写入增加金钱的逻辑就行了,因为时间关系我随便写了一下,
每次点击新增100000G,因为是测试,所以后面的打开浏览器我没做修改,所以还是会正常打开浏览器访问网页,,写好后也是保存模块替换dll,回编译,安装
结果
以上内容完全属于个人兴趣修改,不分享任何完成作品,第一次发帖,有很多地方写的不是很好的,请见谅 chrishany 发表于 2020-11-23 11:26
感谢楼主分享,我最近也在研究一个游戏,领过测试,游戏没有加壳,也没有签名校验,确定是unity3D游戏。在 ...
不好意思哈,很久没上吾爱了,如果有Assembly-CSharp.dll文件,你去分析java的代码大多数是浪费时间的,基本上逻辑都是在Assembly-CSharp.dll文件里的,当然不排除会调用so里面的方法,另外你想快速找核心逻辑我也没好办法教你.我也是入门菜鸟,基本上我都是按关键字来找逻辑分析的,不会说一次就可以找到关键部分 感谢楼主分享,我最近也在研究一个游戏,领过测试,游戏没有加壳,也没有签名校验,确定是unity3D游戏。在用dnspy分析csharp.dll的时候我崩溃了,里面找不到需要的逻辑…
然后开始用ak和jadx gui分析代码,初步判断核心逻辑应该在一些.unity3D文件里面。由于刚刚接触smali功力还不深,所以还结合着ddms在一起弄…请教楼主有没有其他的建议,方便快速找到核心逻辑代码?谢谢了! 楼主发帖辛苦了,沙发 imlison 发表于 2020-8-13 19:36
现在大部分的u3d游戏都会加密了吧,不加密的话直接能反编译出源码出来。
加密也可以用ida来分析破解呀,只是难度大了很多,反正我现在看到有so的先放一下,先把基础打好再说 明月心 发表于 2020-8-13 19:34
楼主发帖辛苦了,沙发
感谢支持{:1_893:} 楼主会unity3d写内置修改器嘛内置菜单那种动态修改的 haotie好贴,一定要顶一下 alicc 发表于 2020-8-13 19:57
楼主会unity3d写内置修改器嘛内置菜单那种动态修改的
不会呀,我还是小菜鸟{:301_972:} 袁煜914 发表于 2020-8-13 20:27
楼主那如何将unity3d游戏安装到网页源码上呢?和4399一样的那种?
没试过。不过有源码通过unity自己的打包就可以发布访问了,没有源码要么搞不了要么难搞 额,这不是开启debug的吗,原来也可以发啊