使用CE查找Android中变量的偏移
0x00 准备工作下载Cheat Engine以及调试器服务端:https://www.cheatengine.org/index.php夜神模拟器:
https://www.yeshen.com/
下载安装贪婪洞窟(梦境模式):
http://a.4399.cn/game-id-94656.html
0x01 CE远程挂接模拟器
将CE工具的服务器文件传入模拟器中:
adbpush C:\Users\Darkbright\Desktop\ceserver_x86 /data/local/tmp
进入模拟器shell:
adbshell
然后执行:
#cd /data/local/tmp/
#chmod 777 ceserver_x86
#./ceserver_x86
Windows端另起一个终端,进行端口转发:
adbforward tcp:52736 tcp:52736
打开CE工具,连接模拟器(注意选择Network):
https://yl.qiyikt.com/data/attachment/forum/201911/10/184726ny3itozrt31yyt5o.png
https://yl.qiyikt.com/data/attachment/forum/201911/10/184810hp76p55vevcsj77t.png
0x02 查找游戏数据
打开游戏,使用CE搜索最小攻击力的值:
https://yl.qiyikt.com/data/attachment/forum/201911/10/185312i64zn3mn36vbbxsi.pnghttps://yl.qiyikt.com/data/attachment/forum/201911/10/185323o1nsv1u9nud2u2tu.png
通过戴上/取下武器改变这个值,并使用CE工具进行搜索
在确定变量的地址之后,下面找到这个变量的基地址:
首先查找Find out what writes to this address:
https://yl.qiyikt.com/data/attachment/forum/201911/10/185329uui3ie8ibhh7llgf.png
搜索算出的上一级地址:
https://yl.qiyikt.com/data/attachment/forum/201911/10/185337ku5i7u5o5zuo5h41.png
后续持续查找Find out what accesses this address,直到找到基地址:
https://yl.qiyikt.com/data/attachment/forum/201911/10/185344z04w5qh35wqqo555.png
https://yl.qiyikt.com/data/attachment/forum/201911/10/185349mpg9ul9vsvsy1hnv.png
https://yl.qiyikt.com/data/attachment/forum/201911/10/185354m7s2hddjd0a2whbz.png
出现模块名,表示找到了基地址
下面整理整体偏移:
https://yl.qiyikt.com/data/attachment/forum/201911/10/185359yzjbeicqwrbijwrw.png
重启CE和游戏,找到的数据能够正确获取,说明方法正确。
0x03后续说明
通过CE找到的数据偏移基本上通用模拟器与真机,唯一的区别是不同的机器模块加载的基地址不尽相同,后续需要编写代码获取模块加载地址。
后续会封装Linux进程读写API,包括模块基地址获取、进程内存空间读写等内容。
本帖最后由 hlwdsg 于 2020-4-26 00:18 编辑
非常抱歉,我附加某应用后提示
parace attach failed(pid=7603).this system might not be properly rooted
/system/lib/libegl.so
/system/lib/libminikin.so
/system/lib/…………(各种)
然后就无法进行下去,(有时应用闪退)有没有什么解决办法? 浅暮丶千殇 发表于 2020-3-1 10:26
多谢大佬我说怎么用CE可以搜到数值 但不能用偏移,还有 楼主这个是转载的吧建议加个转载提示 不然有可 ...
你们说的那是csdn吧,那也是我发的呀,不信你可以问一下{:1_907:} 都是大佬 看不懂看不懂
厉害,想试试,话说这个文件在哪里?C:\Users\Darkbright\Desktop\ceserver_x86 厉害了这是要做修改器? 感谢分享,学习了 arm设备如何操作? 哥,远程连接部分你没说清楚啊?在哪下服务端文件啊? 收藏谢谢分享。。。。 拜读大作,谢谢分享,疫情结束回家有电脑了试试