mac平台的代码注入和函数hook
2013-08-17 10:48
1506 查看
关于mac平台的代码注入和函数hook,github上有个开源工程mach_start是做这个事的。本人由于工作的需要也以这个工程为基础做些修改和完善。从我个人的使用经历来看,我觉得mach_star这个工程还远没有达到稳定通用的程度,需要做一些改进。
mach_star的主要问题在于函数调用的修正,虽然有专门的函数来做修正,但实际效果并不理想。第一个问题是它只修正导入表的地址,对本模块的函数调用没有处理。另外一个问题就是对导入表的修正不够彻底,没有考虑系统api在不同进程中地址不一样的情况。
第一个问题比较好解决,使用原来的修正函数来修正导入表之外的跳转即可。对于第二个问题,需要获取被注入进程的导入表,手动修正注入模块的导入表,这个比较麻烦,需要使用vm_read函数读取,手动分析mach-o格式。
相对于windows的代码注入,mac平台的注入实在不是一个简单的工作。
mach_star的主要问题在于函数调用的修正,虽然有专门的函数来做修正,但实际效果并不理想。第一个问题是它只修正导入表的地址,对本模块的函数调用没有处理。另外一个问题就是对导入表的修正不够彻底,没有考虑系统api在不同进程中地址不一样的情况。
第一个问题比较好解决,使用原来的修正函数来修正导入表之外的跳转即可。对于第二个问题,需要获取被注入进程的导入表,手动修正注入模块的导入表,这个比较麻烦,需要使用vm_read函数读取,手动分析mach-o格式。
相对于windows的代码注入,mac平台的注入实在不是一个简单的工作。
相关文章推荐
- ring3层面函数HOOK从头来之(一)——无dll远程进程代码注入
- 改造 Cydia Substrate 框架用于函数内代码的HOOK
- 比较好用的PHP防注入漏洞过滤函数代码
- 网站自动提交至百度站长收录平台函数(适用任何框架代码)
- Mac 平台优秀的代码编辑器 TextMate 2 宣布开源
- php防注入函数代码
- Linux 平台一种进程代码注入方法
- 改造 Cydia Substrate 框架用于函数内代码的HOOK
- Linux 平台一种进程代码注入方法
- 代码注入的三种方法 钩子(HOOK)
- [windows平台] 给进程注入代码 -- 导入DLL到指定进程的地址空间
- MAC平台上eclipse2017安装代码反编译插件
- 修改函数代码HOOK的封装
- Android平台上的注入代码
- Android平台的 Ptrace, 注入, Hook 全攻略
- php防注入函数代码【转】
- so注入(inject)和挂钩(hook) 以及同进程动态库so文件的函数hook方法介绍
- Mac平台使用git进行代码托管
- PHP获取MAC地址的函数代码