Android下内存修改的研究汇总

Android下内存修改的研究汇总

1.linux下有个开源的内存修改项目scanmem。

项目地址:

  1. http://taviso.decsystem.org/scanmem.html
  2. http://code.google.com/p/scanmem/
  3. https://github.com/coolwanglu/scanmem

 

2.Android下要针对其他进程进行内存修改是基于ptrace系统调用,因此要想学会android下的进程注入,首先需要了解ptrace的用法。
3.Android系统是基于Linux系统,在linux系统中可以通过ptrace系统调用实现对进程的内存修改。过程大致过程如下:
  • [1]通过远程进程pid,ATTACH到远程进程。
  • [2]获取远程进程寄存器值,并保存,以便注入完成后恢复进程原有状态。
  • [3]获取远程进程系统调用mmap、dlopen、dlsym调用地址。
  • [4]与前端交互根据值搜索根据proc/<pid>/maps中的地址和偏移量。
  • [5]根据值得变化,来确定内存地址(一般没办法精确到一个)。
  • [6]根据内存地址修改成前端需要的值。
  • [7]恢复远程进程寄存器。
  • [8]DETACH远程进程。

备注:其中4-5两步可以有多种方式来搜索定位
参考:

http://www.sanwho.com/133.html

http://blog.csdn.net/mldxs/article/details/14486827

http://zhangwenxin82.blog.163.com/blog/static/114595956201171510512459/

 

 

posted @ 2014-05-14 15:18  起始页  阅读(1668)  评论(0编辑  收藏  举报