首页
社区
课程
招聘
[原创]Android内核无痕Hook理解和感悟
发表于: 2026-4-9 10:49 29483

[原创]Android内核无痕Hook理解和感悟

2026-4-9 10:49
29483
收藏
免费 319
支持
分享
打赏 + 5.00雪花
打赏次数 1 雪花 + 5.00
 
赞赏  mb_ndaywdez   +5.00 2026/05/19 感谢分享~
最新回复 (263)
雪    币: 6561
活跃值: (16388)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
126
啊你好哇123 我问gemini他都回答无法回答此类问题,说违反协议啥的,,你咋弄的求
不要用国内IP ,开个会员。
去香港开个自己的汇丰蓝狮子卡 + 红狮子卡,绑定谷歌基本就没啥限制了。
2026-4-13 11:11
1
雪    币: 114
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
127
学习一下先进经验
2026-4-13 11:17
0
雪    币: 101
活跃值: (465)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
128
666666
2026-4-13 16:28
0
雪    币: 870
活跃值: (2245)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
129
这个讨论对我很有帮助,谢谢!
2026-4-13 20:51
0
雪    币: 0
活跃值: (1339)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
130
6666
2026-4-13 23:47
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
131
谢谢分享
2026-4-14 09:56
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
132
6666
2026-4-14 10:08
0
雪    币: 33
活跃值: (2297)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
133
666
2026-4-14 10:13
0
雪    币: 553
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
134
5555
2026-4-14 10:24
0
雪    币: 1549
活跃值: (4783)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
135
哟西
2026-4-14 11:01
0
雪    币: 85
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
136
学不完,根本学不完
2026-4-14 11:04
0
雪    币: 29
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
137
111111
2026-4-14 11:45
0
雪    币: 1600
活跃值: (7403)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
138
1
2026-4-14 11:58
0
雪    币: 29
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
139
MTE就无解,无敌了么?
2026-4-14 14:13
0
雪    币: 7540
活跃值: (6689)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
140
66666666666
2026-4-14 14:33
0
雪    币: 439
活跃值: (578)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
141
666
2026-4-15 11:37
0
雪    币: 4875
活跃值: (5527)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
142
感谢分享。
2026-4-15 12:18
0
雪    币: 196
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
143
66666666
2026-4-15 13:06
0
雪    币: 9
活跃值: (161)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
144
这个是真牛
2026-4-15 21:11
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
145
牛啊
2026-4-16 09:54
0
雪    币: 107
活跃值: (755)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
146
我就知道有这么一天大家都会盯上内核异常机制的
2026-4-16 10:35
0
雪    币: 107
活跃值: (755)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
147

格式错误,我在楼下贴新的

最后于 2026-4-16 11:56 被dadadasda编辑 ,原因: 格式错误
2026-4-16 11:52
0
雪    币: 107
活跃值: (755)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
148

拿markdown重写一下

我可能读得不是很仔细,所以有个状态计算上的小疑问:

  • DBI相当于整体重编译了一整个标记UXN的页,还是
  • 只在击中UXN页上函数入口(由用户层标记)的时候触发一次DBI编译,对每个函数入口触发分配一段幽灵内存实现替代。

前者的话

每个函数入口的位置(原UXN页offset)应该在指令膨胀后的DBI页面集里位置(DBI区offset)不太好算吧(所以我觉得这个可能性不大)。无遗漏的话需要建立1024指令=>1024+指令的offst映射。

后者的话

确实对一般带ret且指令位于UXN页内的函数指令体应该是没有问题,相当于把函数拆散了放置在各个幽灵页的DBI区。 但对于UXN页内的B型指令,有时候B到的地址也位于UXN页面内而且其指令体位于函数体外部这个处理感觉会有点奇怪。

例如, UXN页中局部的一种情况,上到下地址递增:

// 假设编译器发疯了把这部分可复用指令放到了函数体前面
// block位于UXN页内
block:
    ....
    B block-back
//block end


func: //target 函数
        stp ... //函数头部
        
        ....
        B block //B出,地址也位于UXN页内
        ...
    block-back: //跳回位置
        ...
        ret
//func end

这时候DBI动态编译会把block部分代码也在幽灵内存中动态生成吗?

或者是block确实位于func后方,那确实block在映射后1024指令时候不会位于UXN页面

func: //target 函数
        stp ... //函数头部
        
        ....
        B block //B出,地址也位于UXN页内
        ...
    block-back: //跳回位置
        ...
        ret
//func end

---UXN PAGE end ----

block:
    ....
    B block-back
//block end

但这时候B block-back时候相当于也执行状态X进入了UXN页, 但如果block是复用块,被UXN页外调用进而从block-back进入UXN页触发exception,以block-back开头的指令块它不是常规函数入口点,它也会被重写DBI块吗?这样是不是就相当于一个函数有了多个重写的指令部分。

也即是有以下疑问

  1. 由于标记UXN页是一个粗粒度4096长度的标记,这个指令体内可能存在非hook函数的进入入口,这部分是怎么处理的。
  2. DBI重编译时候是否能识别到非顺序排布指令块(非后续1024指令长度)的部分并将其加入到DBI影视基地内部。

以上这些都是比较极端的场景,实际上应当分析完整体函数逻辑后确定以合适方案hook(比如干脆就局部用HWBP)。

最后于 2026-4-16 12:03 被dadadasda编辑 ,原因: 追加说明
2026-4-16 11:54
1
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
149
666
2026-4-16 16:16
0
雪    币: 124
活跃值: (645)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
150
4
2026-4-16 21:15
0
游客
登录 | 注册 方可回帖
返回