【技术教程】so逆向,无条件使用货币思路教程

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-6-29

少壮不努力,长大靠翻译!

有段时间没更新教程了....今天来水一期[委屈]
后面的时间会很少,有时间的话我会持续更新教程。认真观看,不懂就发问,最快的进步方法。

关于so的修改,多少需要点dll基础结合的;然后一些基础的我就不多说了,感兴趣的可以康康哈。

【需要准备的工具】
1.mt管理器
2.il2cppdumper
3.dnspy
4.IDA Pro 7.0
5.教程用到的素材游戏:

本帖含有隐藏内容,请您 回复 后查看
密码:8vq4
#【初夏教程】初识dat-so修改及相关工具简单介绍#,工具和使用介绍在我引用的帖子获取~主要讲修改思路。

改法1:如果你运气比较好,搜到的方法比较明显的方法可以直接修改,比如一些:canbuy(译:可以购买),这类的一般都是布尔值,直接赋值1即可,不用打开ida。

改法二:还可通过改商店价格,也就是get_price、get_cost,这些int类,直接赋值0也是可以的,不过很少出现。

改法三:修改判断比较,在购买函数里面都会有比较,就是检查你的货币能不能购买的意思。这期教程就讲改法3,出现较少的。

还有一些不常见的就不一一举例了...

开搞!

老样子,先进入游戏捕捉信息,发现两种货币,可以尝试搜索:gold,coin,gem,diamond等

1.将Dummy好的dll全部拖入dnspy中,这里有个技巧,如果SO文件较大,单独把Assembly-Csharp.dll放进去就行了,这样你搜出来的结果就不会那么多,有助于你更准确的分析,但结果少的情况下还是建议把全部拖进去哈。

2.搜索coin,试试能不能直接修改货币,发现是float浮点类型,不能直接赋值,我们就从别的方法入手。

3.既然是和购买有关的,那就试试搜buy,万金油的方法,搜出来一个很可疑的方法,根据图一对照,确定就是这个方法。

4.复制上面的地址:0x504984,打开ida,等待加载好so文件,G键跳转该地址。

5.这里按P键,创建函数。

6.在你对ARM指令不熟悉的情况下不用理会这些,太长了,不好分析,直接分析它的伪代码比较清晰。

7.按f5跳反编译伪代码进行分析。

8.图片放不下了,楼下继续更新。

8.往下滑,发现有比较逻辑了,请看图注释。

9.跳转到对应的ARM指令。

10.分析一下指令,CMP是比较指令,对其进行比较;BGE loc_504A7C,意思是逻辑成立就会跳转到 loc_504A7C处执行,反之不成立会跳转到 sub_25E73C

11.既然是比较大于或等于逻辑才会成立,那我们就改不等于,也就是说你的货币数量不等于价格,同样也可以使用购买。

12.已知B是跳转指令,GE是有符号大于≧,把GE改成,NE即可(NE属于不等于符号)

其实还可以把减少函数改成增加函数,这样就无条件使用反加了,不过你改的是不等于,如果一直加货币就比价格高了,那逻辑就很滑稽了[滑稽]

5楼
真小实 2022-6-29
谢邀,看不懂[滑稽]
你不是一个人(看不懂)[滑稽][滑稽]
教程完了吗?
差不多了。
哪里不懂[滑稽]
相当于改判断吗?还没说咋改呢[滑稽]

评论

登录后才可发表内容
  • 主题

    217

  • 帖子

    349

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0398s Mem:2054Kb