逆向教程->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 一血!!楼下继续!
顶楼主,一直在找这方面的教程,终于找到了 楼上的你们这就送过来了。不好意思,双杀!!这才开场1分钟啊。。。。。 还有就是楼主这个,收藏了,刚下了个这个游戏在玩,以后可以自己想怎么样就怎么样了! 二血!!楼下继续!
三血!!楼下继续! 四血!楼下继续! 五血!楼下继续! 谢谢楼主。 算是搬运吧,法种大神的 需要伊甸破解版 可以联系QQ:619772489
页:
[1]
2