请选择 进入手机版 | 继续访问电脑版

使用CE查找Android中变量的偏移

本帖最后由 Darkbright.Liu 于 2019-11-10 19:06 编辑

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):

1

1

2

2


0x02 查找游戏数据
打开游戏,使用CE搜索最小攻击力的值:

3

3

4

4

通过戴上/取下武器改变这个值,并使用CE工具进行搜索
在确定变量的地址之后,下面找到这个变量的基地址:
首先查找Find out what writes to this address:

5

5

搜索算出的上一级地址:

6

6

后续持续查找Find out what accesses this address,直到找到基地址:

7

7

8

8

9

9

出现模块名,表示找到了基地址
下面整理整体偏移:

10

10

重启CE和游戏,找到的数据能够正确获取,说明方法正确。

0x03后续说明      
      通过CE找到的数据偏移基本上通用模拟器与真机,唯一的区别是不同的机器模块加载的基地址不尽相同,后续需要编写代码获取模块加载地址。
      后续会封装Linux进程读写API,包括模块基地址获取、进程内存空间读写等内容。



标签: 暂无标签
Darkbright.Liu

写了 7 篇文章,拥有财富 129,被 2 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

Systems 注册会员 | 发表于 2019-12-22 14:01:33
那PC端写的外挂 对模拟器端有用吗
回复

使用道具

Darkbright.Liu 注册会员 | 发表于 2019-12-22 18:32:12
Systems 发表于 2019-12-22 14:01
那PC端写的外挂 对模拟器端有用吗

得看你代码是怎么写的,
如果是针对的Linux进程的读写,则需要开一个socket负责与Windows端进行通信
如果是针对Windows上Android模拟器进程的读写,就需要通过特征码定位到目标位置
回复

使用道具

Wilde 注册会员 | 发表于 2020-1-22 16:06:17
山总我爱你
帮了大忙了
回复

使用道具

胖虎 注册会员 | 发表于 2020-2-13 22:44:03
666666666666666666666666666666
回复

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

意见
反馈