痞孑 发表于 2018-6-18 22:34

Coco2d-x之某瓜皮游戏逆向秒杀

本帖最后由 痞孑 于 2018-6-18 22:37 编辑





前提摘要1.Coco2d-x引擎是相对于Unity3D的又一实力派引擎。尽管随着3D游戏的热门,很多其它的厂商偏向于Unity3D。2.可是Coco2d-x的普及量也不容小觑,特别是一些比較大的手游公司。比方触控科技仍然一直沿用着Coco2d-x的东西。3.那么简单了解一下,我们就开始干吧!

准备工具IDA Android killer arm_asm010Editor
首先把包扔进Android killer反编译

随便浏览了一下发现这是用cocos2d-x游戏引擎制作的那么它的很多数据初始化应该就是在lib 文件夹里,那我们就着手试下,打开后缀名为.so文件所在的目录

先从比较大的文件开始看,因为游戏中初始化的东西多了,逻辑多了,那么它的so文件肯定也大(个人观点,猜的,我也没使用cocos2d-x开发过游戏,也不太懂,就靠推断和经验),那我们就从大的文件入手了,直接拖入ida中查看此文件

那么一般我都会在Exports栏下搜索关键字,因为Exports栏下都是一些方法的输出因为游戏中一般要获取钻石啊,金币什么的今天,我们来修改攻击(一击必杀的感觉贼鸡儿爽)那么我们直接在此栏下面Ctrl+F搜索attack(攻击),得到一堆的结果
我们怎么判断哪个是真的获取攻击值呢,一般就直接找那种有“GetXXX”什么的,当然可能也有别的情况,这里可能需要点英文基础,不懂的也可以在百度翻译,这里我们可以看到有一个函数是“GetWeaponAttack”(获取武器攻击)这个极有可能就是获取武器攻击力的方法,点进去看看,按空格键,切换到试图模式

大致浏览下整个方法,看起来不是很复杂,虽然也看不太懂,但是如果它要输出的话,肯定在最后获取一个值,最后就是给R0赋值了,那我们就直接给它赋固定值吧,不管它上面的逻辑怎么处理,到最后一定是执行我们给的固定值。

我们找到关键点之后,点击,然后切换到“Hex-view-1”查看它的16进制码

这里说明一点,怎么直接给R0赋值,这里需要用到一个工具arm_asm.exe这是一个汇编转16进制码的工具,此工具有些汇编是无法转换的

之后关闭ida之后,然后再使用“010Editor”打开刚才的那个so文件,可直接把so文件拖入“010Editor”因为我们刚才已经知道那个最后获取攻击力的地址了,所以这里直接Ctrl+G跳转到那个地址

修改完之后,保存,然后重新再次编译生成apk,运行之后,杀怪伤害如下图哎呀,人生真是寂寞如雪{:301_991:}

Arm_Asm下载地址https://pan.baidu.com/s/1H7XKQnLlxekWClNML7A3eg 密码:nc80

gunxsword 发表于 2018-6-19 11:56

之前看到别人的教程中也是这么搞,只是他没有分享这个指令转换工具,正好楼主的教程分享了,果断收藏

话说楼主怎么没有把游戏分享出来,让我们耍一耍啊!

225298658 发表于 2018-6-18 22:47

本帖最后由 225298658 于 2018-6-18 22:48 编辑

现在不太喜欢手机上的游戏,所以也不怎么去学习手机相关的{:1_924:}

m16yjq 发表于 2018-6-18 22:48

厉害了我的痞子

dfui 发表于 2018-6-18 23:19

大神级的操作。所有十八般武器样样会用。

殇痛か 发表于 2018-6-18 23:54

厉害了~~

laoda1228 发表于 2018-6-19 06:32

2.8m什么鬼???

linuxprobe 发表于 2018-6-19 08:10

什么类型的游戏称为瓜皮游戏?

coolman33 发表于 2018-6-19 08:32

2.8m什么鬼???

linclon 发表于 2018-6-19 09:14

厉害,试玩一下,顺便帮顶

thornfish 发表于 2018-6-19 09:29

支持,继续加油出
页: [1] 2 3 4 5
查看完整版本: Coco2d-x之某瓜皮游戏逆向秒杀