qq_29774269 2019-08-01 14:42 采纳率: 50%
浏览 469
已采纳

api hook的底层实现是怎样的?

有谁知道hook底层的具体实现吗?进程地址空间是彼此独立的,那么hook技术怎么突破这种独立空间检测将一个进程的代码注入到另一个进程中的呢?
具体来说,比如安卓有沙箱机制,那么hook是怎么绕过沙箱将一个进程的代码注入到另一个进程中的?
请不要拿hook就像“钩子”之类的比喻来说事儿,然后上那张经典的钩子图,这种比喻让寻求本质的人感到迷茫。我想知道具体的底层实现,特别是怎么突破进程空间独立这一限制的。

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-08-01 18:57
    关注

    你说得没错,进程是独立的,所以一般都是先注入代码,也就是把要执行的代码先写入目标进程,然后再让它执行(比如说修改系统例程的入口地址表,指向你注入的代码),因为这个代码是进程内的了,所以就不存在跨进程的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序