Free-Man 发表于 2014-11-23 02:03:05

【Android逆向教程】Unity3d游戏的逆向分析

本帖最后由 Free-Man 于 2014-11-23 02:26 编辑

使用到的工具

ApkIDE
.NET Reflector

怎么判定它是Unity游戏呢
一般的路径格式是这样的assets\bin\Data\Managed
[如果是个Unity游戏 却找不到dll文件那么 骚年放弃吧。。。

一般情况下都是修改上图的这个dll文件 [如果想要搜索的东西不在这个dll文件可借用notepad++辅助搜索 来判断对哪个dll文件进行修改

以RunningMan这款游戏为例来作以下分析:
内购破解部分就不讲了,因为下面将要修改的比内购的要来的痛快
用ApkIDE反编译之后 找到dll文件就是上图的那个文件用.NET Reflector打开.NET Reflector工具的基本使用方法 在论坛里找Dawn老湿的unity教程在手机上试玩了下这个游戏游戏人物居然把女神宋智孝 画的那么抽象 真是太刺激了。。。。
金币-Coin、钻石-Gem、生命-Hp那么着重修改这三个值吧金币修改:按下F3搜索,切换到方法搜索搜到的内容这么多改哪个呢, 容我百度翻译几分钟红色部分是我现在要修改的蓝色框选到的应该也是能够修改的 我就只拿红色框选的作修改吧修改方法是一样的有兴趣的童鞋也可以把蓝色框选的尝试修改修改~
看Declaring Type那列的暂且理解为游戏数据统计 ,那么综合前面的get_coins可以猜测成游戏金币的统计 动手修改试试吧
双击进入, Toolsàreflexilv1.6删掉引用的ldfld代码 即第二行
然后修改第一行看到左边的get_coins():Int32 这个是int32 类型的值,所以OpCade对应选择的是ldc.i4保留ret是为了 从当前方法返回,并将返回值(如果存在)从调用方的计算堆栈推送到被调用方的计算堆栈上。
点击Upadate确认修改保存Dll文件用IDE编译出来apk看看效果
蛋痛。。。。。
改掉的是每跑一局都会固定获得999999999金币和其他额外金币
好吧,不要在意这些细节也算是达到金币用不完的目的了。。。         
钻石修改:
GemCount 钻石总数
同样的方法进行修改--------------------------------------------------------------------------------------------------------------------------------------------------------点击Update确定修改,保存dll,在用IDE编译出来 测试效果。


钻石也修改好了那么有兴趣的童鞋可以自己尝试着修改人物的血量我这里就不操作了 自己练练手吧~

小白 发表于 2014-11-23 09:43:54

我来支持下

JackIO 发表于 2014-11-23 13:01:51

支持楼主,U3D游戏破解很牛叉。

737672679 发表于 2014-11-24 14:31:20

{:3_50:}

dll是unity。

明白了。

亚塔 发表于 2014-12-1 17:03:47

看上去好像高大上。

xbing9 发表于 2014-12-10 11:52:30

终于有点头绪

听鬼哥讲故事 发表于 2015-2-4 12:04:42

很好实践可以用,多谢分享

含笑半步颠 发表于 2015-5-15 10:01:28

好贴,,,,,

sheing3003 发表于 2015-5-19 20:56:19

一般網游這個不能用有甚麼其他方法阿

吃货还怕不火。 发表于 2015-7-31 11:55:34

页: [1]
查看完整版本: 【Android逆向教程】Unity3d游戏的逆向分析