2014年10月9日
摘要: 1. 简介 使用ptrace向已运行进程中注入.so并执行相关函数,其中的“注入”二字的真正含义为:此.so被link到已运行进程(以下简称为:目标进程)空间中,从而.so中的函数在目标进程空间中有对应的地址,然后通过此地址便可在目标进程中进行调用。 到底是如何注入的呢? 本文实现方案为:在目... 阅读全文
posted @ 2014-10-09 19:22 一个人的天空@ 阅读(3262) 评论(0) 推荐(0) 编辑
摘要: ARM的汇编编程,本质上就是针对CPU寄存器的编程,所以我们首先要弄清楚ARM有哪些寄存器?这些寄存器都是如何使用的?ARM寄存器分为2类,普通寄存器和状态寄存器寄存器类别寄存器在汇编中的名称各模式下实际访问的寄存器用户系统管理中止未定义中断快中断通用寄存器和程序计数器R0(a1)R0R1(a2)R... 阅读全文
posted @ 2014-10-09 16:05 一个人的天空@ 阅读(4075) 评论(0) 推荐(0) 编辑
摘要: ARM 汇编与C之间的函数调用需要符合ATPCS,建议函数的形参不超过4个,如果形参个数少于或等于4,则形参由R0,R1,R2,R3四个寄存器进行传递;若形参个数大于4,大于4的部分必须通过堆栈进行传递。 R0 用来存放函数的第一个参数,R1用来存放第二个参数,R2用来存放第三个参数,R3用来存放第... 阅读全文
posted @ 2014-10-09 14:52 一个人的天空@ 阅读(4046) 评论(0) 推荐(0) 编辑