游戏安全实验室 首页 技术入门 查看内容

 阅读目录

ptrace注入游戏介绍

发布于:2016-4-27 15:34   |    170198次阅读 作者: 管理员    |   原作者: TP   |   来自: 原创

Android系统采用的是Linux内核,很多Linux系统上的技术都可以应用在Android系统上,Android系统上ptrace注入远程进程的技术就是其中一种。本章节将对ptrace注入的完整流程进行介绍。

一、ptrace函数介绍

ptrace注入技术的核心就是ptrace函数,在ptrace注入过程中,将多次调用ptrace函数。Linux的man文档(超链接至: http://man7.org/linux/man-pages/man2/ptrace.2.html)中提到,ptrace函数为一个进程提供了监视和控制其他进程的方法,在注入进程后,父进程还可以读取和修改子进程的内存空间以及寄存器值。

ptrace函数的原型如下所示,其中request参数为一个联合体,该参数决定了ptrace函数的行为,pid参数为远程进程的ID,addr参数与data参数在不同的request参数取值下表示不同的含义。

long ptrace(enum __ptrace_request request, pid_t pid, void *addr, void *data);

request参数取值较多,由于篇幅所限这里仅介绍一部分ptrace注入进程的过程中需要使用到的request参数。

PTRACE_ATTACH,表示附加到指定远程进程;