首页
论坛
专栏
课程

[原创]SO Hook技术汇总

ThomasKing
6
2015-1-3 22:14 81924
小弟祝各位坛友新年快乐,身体健康,工作顺利
---------------------------------------------------------------------------------------
SO HOOK技术汇总:(限于水平,难免会有错误、疏漏之处,请各位大牛斧正)
1. 导入表(GOT)HOOK
    最常见也最简单,为了体系的完整性,稍微再啰嗦下    

2. ARM Inline hook
    ARM Inline 的原理想必各位坛友都知道,就不啰嗦了。 由于ARM有ARM指令和Thumb(1、2)指令集,Inline的实现比较麻烦。鉴于在论坛没有找到比较详细的帖子介绍,这里讨论了关于这两种指令集Inline hook的实现的细节部分。

3. 基于Android linker的"导出表"HOOK
   ELF文件格式并没有PE那种导出表,但也可以实现类似的导出表HOOK。其复杂度和导入表相当,其效果也比较理想(性价比较高^_^)

由于排版水平太烂,直接上PDF吧。
附件包含三个:
1. HookSOLibrary 这三种HOOK的实现库(如果发现BUG,麻烦各位坛友发邮箱告知我下吧,最好把汇编和opcode附上,ThomasKingNew@hotmail.com)
2. SubstrateTest  PDF中的图来源于此,限于篇幅,有些细枝末节的地方并未提出,可动态调试这个APK查看。
3. SO hook技术汇总.pdf 文档

[推荐]十年磨一剑!《加密与解密(第4版)》上市发行

上传的附件:
最新回复 (105)
淡然出尘 2015-1-3 22:26
2

0

赞 前排支持~
安于此生 34 2015-1-3 22:27
3

0

收藏一份,感谢
曹无咎 1 2015-1-3 22:36
4

0

强势围观中。。。
bjhrwzh 2015-1-3 22:42
5

0

这个强大啊~~~
cvcvxk 10 2015-1-3 22:55
6

0

顶~
好帖子不多了~
JackJoker 2015-1-4 00:12
7

0

好帖子,支持一个
注册不成 2015-1-4 01:22
8

0

新年快乐
mingxuan三千 2015-1-4 08:54
9

0

顶楼主 学习
熊猫正正 9 2015-1-4 08:59
10

0

顶,谢谢分享
Nermor 1 2015-1-4 08:59
11

0

so cool!
IamHuskar 4 2015-1-4 09:26
12

0

COOL COOL
outdoxl 2015-1-4 09:28
13

0

up 谢谢分享
jimdlf 2015-1-4 09:36
14

0

回复一下 以便不时之需
peterchen 2015-1-4 10:18
15

0

TK,牛X...
cqzhou 2015-1-4 10:26
16

0

╮(╯▽╰)╭ 跟不上大牛的节奏啊
wfgfw 2015-1-4 10:27
17

0

赞一个~
万抽抽 2 2015-1-4 10:58
18

0

好顶赞!
handsome枫雪 2015-1-4 11:05
19

0

感谢LZ分享~~~~~~~~~
boyliang 5 2015-1-4 11:23
20

0

好久没有干货了,顶!
曹操abc 2015-1-4 11:24
21

0

very nice!!!
OnlyEnd 2015-1-4 11:32
22

0

王总元旦都不休息哇~    满满的都是干货!  赞
ThomasKing 6 2015-1-4 15:06
23

0

名字实在太长,就简写了。。。 借TK大神的名气了。
ThomasKing 6 2015-1-4 15:07
24

0

额,元旦出去跨年了,太危险了。。。
qqtianqi 2015-1-4 16:41
25

0

收集一下!!!
huangyalei 2015-1-4 17:44
26

0

收藏学习!
fanfu 2015-1-4 21:07
27

0

TK在android版发的全是干货,学习了,多谢分享
coltor 2 2015-1-4 21:24
28

0

不错,支持~
kwanhua 2015-1-4 21:32
29

0

最近就在学习hook,收藏了
Ericky 6 2015-1-4 23:01
30

0

谢谢king 总分享  正在研究so inject~
birk 2015-1-5 20:36
31

0

楼主真酷啊
ODPan 2 2015-1-6 00:49
32

0

mark
huixingabc 2015-1-6 08:24
33

0

谢谢 收藏了
jeffycf 2015-1-6 14:52
34

0

新年快乐。谢谢分享
zhanggary 2015-1-6 15:15
35

0

逆向熟悉的且有时间能力的可以私聊我
dlgt 2015-1-6 16:07
36

0

这个正需要,谢谢!
leepupu 2015-1-8 20:59
37

0

如果早點看到我就不會自己寫個蠢方法啦
之前做了 thumb inline hook 將絕對地址分多行指令載入寄存器 在push rx, pop pc
花了十幾行還跳不回來...
ThomasKing 6 2015-1-8 22:03
38

0

额,随便怎么跳,只要堆栈平衡能跳回来就行
leepupu 2015-1-8 22:20
39

0

主要是覆盖掉了区域转跳指令
不知道如何补跑盖掉的那段

不过大大的 BLX PC 真是点醒我也
可以减少许多被吃掉的指令
ThomasKing 6 2015-1-8 23:01
40

0

额,小菜一枚。。。 如果纯Thumb去Inline hook的话,也是可以做,不过有点绕。。。切ARM比较简单点吧
xdnice 2015-1-9 08:41
41

0

收藏下。。。
jeffly 2015-1-9 09:04
42

0

不错,谢谢分享
Tensm 1 2015-1-9 16:36
43

0

谢谢分享,好人一生平安
koflfy 1 2015-1-9 19:27
44

0

mark
starup 2015-1-9 21:12
45

0

好东西,感谢楼主分享,只搞过got表的hook,inline没做过,只听说过思路。
mdjshifan 2015-1-11 11:22
46

0

arm的inline实现了,这个thumb就是没弄好,IDA译码错误问题,4字节对齐问题,谢谢楼主
mdjshifan 2015-1-11 11:23
47

0

通过你的文章我把thumb inlinehook问题解决了,非常感谢
mdjshifan 2015-1-11 11:43
48

0

虽然没给libTKHooklib.so的源码但是思路足矣
ThomasKing 6 2015-1-11 13:31
49

0

个人觉得有了思路,自己再实现一把,才能弄懂,学到东西。
叹小白 2015-1-12 13:30
50

0

好东西。。谢谢。。
返回