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

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

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

  • 写回答

1条回答 默认 最新

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

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

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

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘