安卓游戏[深城]修改技能伤害
本帖最后由 吃大米的L 于 2018-1-18 18:25 编辑反编译安卓游戏[深城] 修改技能伤害
这个游戏是一个末日AI机器人, 探索地下世界的故事,
之所以想修改他的技能伤害, 是因为玩到某一关有个血量巨tm高的boss玩了好久都过不去,而做材料需要时间太长了.
废话不多说, 上游戏
https://attach.52pojie.cn/forum/201801/18/153728v6stmzm8jmiiigit.png
首先,先把apk发送到电脑, 用工具签一下名, 这里用的是吾爱破解的工具包
先把apk拖进去签名, ( 防止重编译后停止运行,因为我以前吃过这样的亏)
https://attach.52pojie.cn/forum/201801/18/153840hzqg1naqucewuzqu.jpg
https://attach.52pojie.cn/forum/201801/18/153246jaoorcmholvv5zw4.jpg
呐, 然后把签名过的apk拖进改之理, 反编译
我们这次的目的呢是为了改技能伤害, 我们来搜索一下伤害的英文碰碰运气
游戏里伤害的英文一般是damage
https://attach.52pojie.cn/forum/201801/18/154625hjqkjsa6z4q6jzzf.png
这里我们发现了好多结果, 那么究竟是哪个呢.
眼睛一撇, 呐, 有一个getDamage
那这个方法可能就是获取伤害值, 计算伤害的方法了
点进去看一下 , 嘻嘻
https://attach.52pojie.cn/forum/201801/18/155022a8kgzpsk8mjb3k4s.png
那这里是一个smail文件, 看的不清晰,
我们点击上面的java图标来看一下java源码
https://attach.52pojie.cn/forum/201801/18/155547x5jyga8g5dyvi9dg.png
咦? 这个类的名字居然没有混淆?
这是一个等级类?
好吧好吧, 意外地发现了好多有价值的东西
那我们既然是奔着技能伤害来的, 那么就重点关注一下getDamege方法
可以看到这个方法是直接返回了另一个类的方法, 而且注意看,参数是this.level
这么说, 伤害应该是由等级作为参数来计算的.
接下来我们直接进入那个方法, 来看一下具体的伤害计算方式吧!
https://attach.52pojie.cn/forum/201801/18/160201erqe1iaqt244v1m3.png
分析一下这个方法, paramInt这个形参, 就是刚才那个方法传过来的等级了, 所以paramInt这个参数就是等级
然后刚进方法, 他使用了一个参数i=paramInt + 1
通过上面我们知道, 既然是根据等级来计算技能伤害的, 那么也就是说, 肯定等级越高伤害越高
这里我们看到了 i 这个参数是由等级+1计算得来的, 而且下面都是通过这个 i 计算, 所以, 我们让这个 i 的值改变
技能伤害当然也就随之改变啦
所以java代码改成这样: int i = paramInt + 500
这样就相当于我们的等级加上500再传入这个 i 了
这伤害还不爆表了?我们直接增加了500级的伤害
好啦理论上是这样, 但是java源代码是不能修改的, 只能作为参考
我们应该去改smail的代码
找到这个类对应的smail文件, 在里面找到这个方法
看一下这个类的路径com.rockbite.deeptown\!\com\underwater\demolisher\logic\a.class
https://attach.52pojie.cn/forum/201801/18/162037tdjhhudou8exudhm.png
我们找到这个方法, 一眼就看到了一个add加法运算
这行代码的意思就是把p0 + 1 赋值给 v1 , 确定了,就是刚才那句java代码
那他加上了0x1 就是只加了1 , 我们让他加上 500
500转换成十六进制就是 0x1f4
因为我们后面加的数变大了, 所以lit8 已经不能满足需求了, 我们需改改成 lit16
所以这行代码就改为: add-int/lit16 v1, p0, 0x1f4
https://attach.52pojie.cn/forum/201801/18/162523hy1ory16o7ghggoo.png
ok , 修改完成了,
我们用改之理重新编译apk
https://attach.52pojie.cn/forum/201801/18/162855dzqtsqb9vz5bvzv3.png
发送到手机测试一下吧!
https://attach.52pojie.cn/forum/201801/18/163107q0bzrtw0uek1jojw.png
ok成功了, 一路秒到三百多层,
别看数字很小, 后面的n 应该是游戏里最大的单位了
足够秒天秒地秒空气
好啦到这里就结束了,, 感谢观看[(#^.^#)] 老哥,修改好的能再发一下吗?谢谢了 xulikelaile 发表于 2018-1-19 17:47
感谢分享 楼主的吾爱破解工具包能给我个吗 之前帖子里的链接失效了
https://pan.baidu.com/s/1pMvvHxx 感谢楼主分享 谢谢分享 @吃大米的L 求原版游戏 {:301_1006:} 很好的分析,学到东西了,感谢分享! 谢谢分享! 冥界3大法王 发表于 2018-1-18 19:16
@吃大米的L 求原版游戏
随便一个地方都可以下载到奥 之前玩过破解版的,游戏吧手机都玩的卡了 谁玩着游戏,也没必要花大量时间研究它。 感谢分享