原软件下载地址:http://ng.d.cn/yidian/ 最近接触伊甸的时候发现挺好玩的,然后罪恶心就犯了。 游戏介绍:伊甸是一款U3D引擎开发的游戏。 工具:APKIDE、.Net Reflector 分析: 下载,用APKIDE反编译APK
进入路径打开文件:<APKIDE路径>\ApkIDE\Work\com.yidian.rekoo.dangle\assets\bin\Data\Managed\Assembly-CSharp.dll 选择用reflector打开。
打开以后如图所示:
一般情况下,人物的数据最基本的就是hp(血量),那我们按下F3进入搜索,并且输入"get hp",如图所示
发现是空值,因为我们没有选定相关的搜索方式
我们选择第二个,方法名搜索即可找到许多东西,那么,在这么多东西里面我们如果分析呢?首先我们要先看得懂什么意思。
根据图片我们可知,我们需要首先需要注意的是【文件+支持库】,定位到【assembly-csharp】。接着在类名和方法名里面查找所有有关的数据。
我们发现了一个取英雄最大血量的方法,我们点进去看一下。
这里我们可以看到,他就返回了一个数据。,要改英雄血量那么就点击上方的【tools】-【reflexilv1.6】(这个工具基本上都是随软件装的,不懂的可以评论。)
我们可以看到有几条命令: ldarg.0 //调用函数起始 ldc.i4.s 15 //隐藏参数 ldc.i4.1 //0x1 true call system.int32 heroattrdata:getuiattr(attrforui,system.boolean) //提交到该方法,调用结束。 ret //返回return 那我们要锁定,那就修改成这样
ldc.i4 9999999 //999999血 ret //返回return 就修改完成了无限血。看不懂的可以看图。
接下来保存,找到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 |