文章目录
一、向进程内存写出数据
- 一、向进程内存写出数据
- 二、写出流程
- 三、完整代码
向内存写出数据 : 每次最多能写出 4 字节 ;
ptrace(PTRACE_POKETEXT, m_nPid, (void*)pDestAddr, d.val);
- 参数一 : 写出数据标志 PTRACE_POKETEXT ;
- 参数二 : 进程号 PID ;
- 参数三 : 写出去数据的地址 ;
- 参数四 : 写出的数据内容 , 4 字节 ;
向进程内存写出数据时 , 每次最多只能写出 4 字节数据 , 先根据读取的大小 , 计算出读取次数 ,
// 每次读取 4 字节 , 读取次数为 nSize / 4
j = nSize / 4;
然后再计算出最后不足 4 字节的部分 ,
// 读取最后不满 4 个字节的数据
remain = nSize % 4;
读取数据时 , 先循环 j 次 , 写出 j x 4 字节数据 ,
for (i = 0; i
关注
打赏
热门博文
- 【Android Gradle 插件】Gradle 自定义 Plugin 插件 ③ ( 自定义插件作用 | Android Gradle 插件的扩展 | 自定义 Extension 扩展 )
- 【Android Gradle 插件】Gradle 构建生命周期 ③ ( BuildListener 构建监听器 | TaskExecutionGraphListener 任务执行图监听器 )
- 【Android Gradle 插件】Gradle 构建生命周期 ② ( Gradle 类的添加构建生命周期监听器函数 | Gradle#addListener 函数 )
- 【Android Gradle 插件】Gradle 构建生命周期 ① ( 分析构建脚本 | 执行初始化配置 | 执行 Gradle 任务 | Project#beforeEvaluate 函数 )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑨ ( 控制 Gradle 执行任务顺序 | Task#finalizedBy 函数 | 控制 Gradle 执行任务顺序示例分析 )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑧ ( 控制 Gradle 执行任务顺序 | Task#shouldRunAfter 函数 | 三个函数使用场景对比 )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑦ ( 控制 Gradle 执行任务顺序 | Task#dependsOn 函数 | Task#mustRunAfter 函数 )
- 【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
- 【数学分析】学科简介 ( 初等数学缺陷 | 微分与积分 | 学习数学分析的目的 | 数学分析与高等数学对比 )
- 【Android Gradle 插件】自定义 Gradle 任务 ③ ( Gradle 自定义任务创建方法 Project#task 函数 | Task#doFirst 函数用法 )