Deemoxy 发表于 2017-6-13 13:29

浅谈Windows下如何读写安卓模拟器的内存

本帖最后由 Deemoxy 于 2017-6-13 13:32 编辑

今天跟群友讨论到关于读写安卓模拟器的数据,群友们一致认为在Windows下是无法读写安卓模拟器的内存的。

下面就来浅析一下

安卓模拟器在运行时肯定是加载进入内存的,而在模拟器中运行的app也应该在内存中可以找到相关的数据,但很多内存搜索工具却又搜索不到
比如超级模块中的内存搜索命令,搜索内存会陷入无限搜索无法结束,对此我查看了一下超级模块命令

在命令中,先是获取了内存块的信息,而虚拟机中的内存块的信息是无法成功获取的,无法获取模块的大小也就没法定义内存搜索终止的地址
对此我们可以改进,自定义一个起始地址和终止地址,虽然这样搜索内存的速度会大大减退但可以实现读取某一区域的全部内存内容实现搜索。


而读写需要内核读写,读出寄存器中的内容。


说起搜索读取修改内存又不得不提起功能强大的Cheat Engine,CE也可以读写模拟器的内存
CE中自带DBVM支持,因为我是个菜鸟也没法去解析CE源码到底是如何搜索虚拟机内存的这里我只能给大家说一下如何开启CE的DBVM支持


这样既可对模拟器实施搜索与修改,但是无法调试模拟器的程序,这个是因为平台不同。




总结: 现在对于Windows系统中如何读写安卓模拟器是一片空白,这里只是做个浅析给大家提供一个思路,我们的思维不能只局限在计算机的规则中,而应该考虑计算机为何产生这种规则,也希望制作游戏防护的朋友注意这种跨平台的修改。

44018723 发表于 2017-6-15 11:03

那么问题来了,模拟器中的内存分配在哪里?是否可以通过模拟器的调试接口获取到APK程序的内存空间?

snccwt 发表于 2017-6-13 14:31

厉害了,学无止境

lingfei 发表于 2017-6-13 15:10

厉害了老兄,佩服

woshiwoabu 发表于 2017-6-13 16:10

支持一下 备用学习

zjhyajks 发表于 2017-6-13 18:29

学习一下

虚无空幻 发表于 2017-6-13 19:29

我记得以前试过那个模式,也改不了.我不知道为什么你的可以

十御 发表于 2017-6-13 22:45

说了半天和没说一样............{:301_996:}

氓之嗤嗤 发表于 2017-6-13 22:57

不错,思维值得学习{:301_993:}

艾莉希雅 发表于 2017-6-14 00:02

记得检查一下有没有zram……为了回个帖子特意叫人代发

chenjingyes 发表于 2017-6-14 00:09

这个研究不错,对我很有启发性。后续是否研究利用改模拟器内存过壳解密等{:1_921:}
页: [1] 2 3 4
查看完整版本: 浅谈Windows下如何读写安卓模拟器的内存