lucifer2046 发表于 2014-9-11 20:16

逆向教程->U3D游戏逆向分析(伊甸逆向分析)

原软件下载地址:http://ng.d.cn/yidian/最近接触伊甸的时候发现挺好玩的,然后罪恶心就犯了。游戏介绍:伊甸是一款U3D引擎开发的游戏。工具:APKIDE、.Net Reflector分析:下载,用APKIDE反编译APKhttp://forum.cnsec.org/data/attachment/forum/201409/10/233451ub6mh3frg64h3lh4.jpg


进入路径打开文件:<APKIDE路径>\ApkIDE\Work\com.yidian.rekoo.dangle\assets\bin\Data\Managed\Assembly-CSharp.dll选择用reflector打开。http://forum.cnsec.org/data/attachment/forum/201409/10/233503bdgksxug2nyzn8ix.jpg


打开以后如图所示:http://forum.cnsec.org/data/attachment/forum/201409/10/233514ud4zth2umfaqc5px.jpg


一般情况下,人物的数据最基本的就是hp(血量),那我们按下F3进入搜索,并且输入"get hp",如图所示http://forum.cnsec.org/data/attachment/forum/201409/10/233526t1qprcprov3rorb0.jpg


发现是空值,因为我们没有选定相关的搜索方式http://forum.cnsec.org/data/attachment/forum/201409/10/233544jvsaaaao38asiaqs.jpg


我们选择第二个,方法名搜索即可找到许多东西,那么,在这么多东西里面我们如果分析呢?首先我们要先看得懂什么意思。http://forum.cnsec.org/data/attachment/forum/201409/10/233602e00jj103tr010zhc.jpg


根据图片我们可知,我们需要首先需要注意的是【文件+支持库】,定位到【assembly-csharp】。接着在类名和方法名里面查找所有有关的数据。http://forum.cnsec.org/data/attachment/forum/201409/10/233617xjb1jbzbjbk6deul.jpg


我们发现了一个取英雄最大血量的方法,我们点进去看一下。http://forum.cnsec.org/data/attachment/forum/201409/10/233634bfk61xxf6lz09jjm.jpg


这里我们可以看到,他就返回了一个数据。,要改英雄血量那么就点击上方的【tools】-【reflexilv1.6】(这个工具基本上都是随软件装的,不懂的可以评论。)http://forum.cnsec.org/data/attachment/forum/201409/10/233651pd093l0krqcdzcl9.jpg


我们可以看到有几条命令:ldarg.0//调用函数起始ldc.i4.s15//隐藏参数ldc.i4.1//0x1 truecallsystem.int32 heroattrdata:getuiattr(attrforui,system.boolean)//提交到该方法,调用结束。ret//返回return那我们要锁定,那就修改成这样
ldc.i49999999//999999血ret//返回return就修改完成了无限血。看不懂的可以看图。http://forum.cnsec.org/data/attachment/forum/201409/10/233708r7tut8oooqvz8jq2.jpg


http://forum.cnsec.org/data/attachment/forum/201409/10/233726hhdm2wadwsg2afau.jpg


接下来保存,找到assembly-csharp点击右键reflexilv1.6-save as然后覆盖源文件保存即可。然后将apk重新打包就修改完成了。

接下来,我们查看GetHeroMaxHp() : Int32发现他的类是heroattrdata也就是英雄角色数据也发现了许多其他的方法。GetHeroMaxHp() : Int32'红上限
GetHeroMaxSp() : Int32'副本蓝上限
GetEquipBaseAttr(ItemAddAttr) : Int32’锁定所有数据
GetEquipAddAttr(ItemAddAttr) : Int32’增加所有数据
GetHeroMaxGamePoint(Int32) : Int32’体力上限
get_m_AttackRange() : Single'取怪物攻击范围
set_m_AttackRange(Single) : Void’置怪物攻击范围
set_m_AttackRandInterval(Single) : Void’置怪物攻速
get_m_AttackRandInterval() : Single ’取怪物攻速
get_HitRate() : Int32’取怪物命中率
set_HitRate(Int32) : Void'置怪物命中率
get_MonsterLevel() : Int32取怪物等级1,不影响血量
initmonster   初始化怪物(改血有效)
------------------------
STR    力量 = 物攻 + 护甲
INT    智力 = 抗性
LUK    运气 = 合成物品成功率
Dodge暴击率
AGI    敏捷 = 闪避等级 +闪避率
VIT    体质 = 血+暴击
Hitrate命中
以上是我个人分析以后找到的各类数据。修改方式与改血相同。不懂得的可以评论。然后尽情的蹂躏伊甸吧。
                                                               2014.09.09 Sarkozy
原文:http://blog.csdn.net/sarkozy2014/article/details/39161099

2217936322 发表于 2014-9-11 20:19

一血!!楼下继续!

日岳如流 发表于 2015-2-18 10:45

顶楼主,一直在找这方面的教程,终于找到了

小楠 发表于 2014-9-11 20:38

楼上的你们这就送过来了。不好意思,双杀!!这才开场1分钟啊。。。。。 还有就是楼主这个,收藏了,刚下了个这个游戏在玩,以后可以自己想怎么样就怎么样了!

Mc东哥_在线秒单 发表于 2014-9-11 20:26

二血!!楼下继续!

mtkppqq 发表于 2014-9-11 20:36


三血!!楼下继续!

77254076 发表于 2014-9-11 20:41

四血!楼下继续!

Sunshine_尕 发表于 2014-9-11 22:50

五血!楼下继续!

飘舞的雪花 发表于 2014-9-11 22:50

谢谢楼主。

htcperfect 发表于 2014-9-11 22:59

算是搬运吧,法种大神的

ゞ.╰_訫唲o 发表于 2014-9-13 08:13

需要伊甸破解版 可以联系QQ:619772489
页: [1] 2
查看完整版本: 逆向教程->U3D游戏逆向分析(伊甸逆向分析)