吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10511|回复: 116
收起左侧

[Android 原创] 童年经典游戏魔塔分析与破解教程(ce+frida)

  [复制链接]
你上当了 发表于 2022-12-18 21:49
本帖最后由 你上当了 于 2022-12-19 09:58 编辑

准备工具
1、cheat-engine
2、frIDA

打开游戏,CE连接进程
image.png
搜索血量400
image.png
打怪减血,然后搜索376,只剩一个。明显只能是它了
image.png
然后看下它附近的内存地址,人物是个结构体,附近的地址肯定有会相关的数值。(当然一个个搜索也是可以的)
image.png

现在问题来了,怎么对这内存进行寻址?硬看so代码肯定是可以找到,不过CE支持内存读写监听,很容易找到读写的指令
image.png
image.png
image.png image.png

分析完毕 ,下面使用frida 进行mod
[Asm] 纯文本查看 复制代码

        

                var mt24mgr = Module.findExportByName(moduleName, '_ZN4mt247GameMgrC2Ev')
                var mt50mgr = Module.findExportByName(moduleName, '_ZN4mt507GameMgrC2Ev')
                var refreshAddr = Module.findExportByName(moduleName, '_ZN4mt507UILayer17refreshHeroStatusEv')
        
                var schedulerAddr = Module.findExportByName(moduleName, '_ZN7cocos2d9SchedulerC2Ev')
                var refreshFunc= new NativeFunction(refreshAddr, "int", ["pointer"])

                console.log(mt24mgr)
                console.log(mt50mgr)
                console.log(refreshAddr)
                var schedulerInstance = null


                var playerBaseMT24 = null
                Interceptor.attach(mt24mgr, {
                        onEnter: function (args) {
                          console.log('mt24mgr')
                          console.log(ptr(args[0]))
                          playerBaseMT24 = ptr(args[0])
                        }
                })
                var playerBaseMT50 = null
                Interceptor.attach(mt50mgr, {
                        onEnter: function (args) {
                   
                          console.log('mt50mgr')
                          playerBaseMT50 = ptr(args[0])
                          console.log(playerBaseMT50)

                        }
                })


                {
                        setInterval(function(){
                          
                                if(playerBaseMT50!=null && Memory.readInt( playerBaseMT50.add(0xc))< -200000){
                                        console.log('mod',Memory.readPointer( playerBaseMT50.add(0xc)))
                                        Memory.writeInt(playerBaseMT50.add(0x18),888888) 
                                        Memory.writeInt(playerBaseMT50.add(0x18+4),888888)
                                        Memory.writeInt(playerBaseMT50.add(0x18+8),888888)
                                        Memory.writeInt(playerBaseMT50.add(0x18+12),888888)
                                        refreshFunc(Memory.readPointer( playerBaseMT50.add(0xc)))

                                   playerBaseMT50 = null
                                   playerBaseMT24 = null 
                                }
                 
                        }, 10000)
                }   
                            
   

image.png

样本:
https://lachs.lanzoue.com/i4USG0iz9yif
代码
https://github.com/qajknsdjaks/frida-game-cheat




免费评分

参与人数 25威望 +3 吾爱币 +75 热心值 +24 收起 理由
zqguang3708 + 2 + 1 热心回复!
笙若 + 1 + 1 谢谢@Thanks!
qtfreet00 + 3 + 52 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tsingl + 1 + 1 用心讨论,共获提升!
78zhanghao87 + 1 谢谢@Thanks!
plasd + 1 + 1 用心讨论,共获提升!
wzl90327 + 1 + 1 谢谢@Thanks!
叶霸霸 + 1 + 1 用心讨论,共获提升!
CrazyNut + 2 + 1 用心讨论,共获提升!
renyangyu + 1 + 1 我很赞同!
lu6xueqi + 1 + 1 热心回复!
kkpljat + 1 + 1 谢谢@Thanks!
junjia215 + 1 + 1 谢谢@Thanks!
skyfbw + 1 + 1 我很赞同!
抱薪风雪雾 + 1 + 1 谢谢@Thanks!
久闻攻之大名 + 1 + 1 谢谢@Thanks!
acesec + 1 谢谢@Thanks!
youremperor + 1 + 1 我很赞同!
xyl52p + 1 谢谢@Thanks!
石木 + 1 + 1 谢谢@Thanks!
woyucheng + 1 + 1 谢谢@Thanks!
一生唯爱吾 + 1 + 1 能不能附上魔塔地址
zpzwz + 1 + 1 用心讨论,共获提升!
hl8861023 + 1 + 1 用心讨论,共获提升!
jiahao666 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

隔壁王阿大 发表于 2024-3-1 09:19
“现在问题来了,怎么对这内存进行寻址?硬看so代码肯定是可以找到,不过CE支持内存读写监听,很容易找到读写的指令”下的2张图还能看明白。在接下来没有文字解释了,就不明白中间的截图所代表的流程是怎么做到的了,大佬能给解释解释不
 楼主| 你上当了 发表于 2022-12-19 09:53
luckysky 发表于 2022-12-19 05:53
lz这个要win11才可以直接跑安卓apk吧?

Android平台,我那个是qtscrcpy手机投屏。样本 https://lachs.lanzoue.com/i4USG0iz9yif
hjtkxg 发表于 2022-12-18 22:08
AT4R 发表于 2022-12-18 22:39
谢谢楼主分享!
xiaoyingang 发表于 2022-12-18 22:46
厉害了,这个玩了很久才通关
XiaoYxx 发表于 2022-12-18 22:46
我也去试一下
头像被屏蔽
hxdmax 发表于 2022-12-18 22:52
提示: 作者被禁止或删除 内容自动屏蔽
huj11111 发表于 2022-12-18 22:53
楼主好有研究精神啊!好评  哈哈哈
Sealsclerk 发表于 2022-12-18 23:09
很久以前玩的游戏了,来试试
dujiu3611 发表于 2022-12-18 23:23
怎么玩来着,我都忘记了,感谢分享,回忆去
mengyoyoyo 发表于 2022-12-18 23:54
童年的回忆呀
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 06:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表