首页
社区
课程
招聘
[原创]重载内核全程分析笔记
发表于: 2013-8-20 20:19 101127

[原创]重载内核全程分析笔记

2013-8-20 20:19
101127
收藏
免费 6
支持
分享
最新回复 (152)
雪    币: 33
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
126
果断mark一下
2014-9-5 15:43
0
雪    币: 524
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
127
0.00.0.0
2014-9-5 15:43
0
雪    币: 39
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
128
Mark好文章
2014-9-10 15:23
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
129
顶楼主学习态度!
2014-9-11 05:15
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
130
mark 学习一下
2014-9-11 10:30
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
131
初学内核宠爱的好资料
2014-10-2 00:47
0
雪    币: 97
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
132
Win7 64下的ssdt需要你动态获取,它没有导出,不能向XP下那样直接使用,函数地址也有点变化,看一下win7下的ssdt hook就能明了了
2014-10-3 02:19
0
雪    币: 68
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
133
先收藏再说吧
2014-10-3 13:22
0
雪    币: 6092
活跃值: (654)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
134
不是64位的 是32位的  不可以。
函数地址能找到,但是问题是后面的出现错误
2014-10-6 14:09
0
雪    币: 484
活跃值: (977)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
135
其实 楼主不用做SSDT HOOK来找KiFastCallEntry  你这样 好累.......
直接读取MSR寄存器 这里面就是KiFastCallEntry的地址啊
mov ecx, 0x176
rdmsr
mov FunctionAddress, eax
2014-10-12 22:55
0
雪    币: 484
活跃值: (977)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
136
这里应该只是计算出SSDT表的位置即可 楼主可能是用词不对吧
2014-10-12 23:05
0
雪    币: 214
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
137
mark~~
2014-10-28 11:39
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
138
mark
2014-10-28 12:18
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
139
请问用DriverMonitor加载出现 The imagePath specified in drive's service database entry is incorrect,or the fule is missing 该怎么解决呀
2014-11-3 16:50
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
140
收藏一下,正在啃
2014-11-12 13:13
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
141
才看到

这个很厉害
2014-11-12 13:33
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
142
请问,为什么要修改堆栈里面的值呢?
                        call        display
                        //再返回前修改堆栈里的数据
                        mov                [esp+0x14],eax
并没有看到中间有任何修改ebx的值。。。那么为什么结果,call ebx的结果还是新内核呢
2014-11-26 18:47
0
雪    币: 160
活跃值: (272)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
143
标记一下,学习学习
2014-11-27 20:49
0
雪    币: 458
活跃值: (306)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
144
[QUOTE=嘘!安静;1333751]请问,为什么要修改堆栈里面的值呢?
                        call        display
                        //再返回前修改堆栈里的数据
                        mov                [esp+0x14],eax
并没有看到中间有任何修改ebx的值。。。那么为什么结果,call ebx的结果还是新内核呢[/QUOTE]

这个跟堆栈有关哦,esp就是堆栈指针,+0x14就是指向ebx的。好久没碰了,呵呵。
2014-11-29 18:22
0
雪    币: 54
活跃值: (75)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
145
mark下
2014-12-19 08:34
0
雪    币: 69
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
146
好像看懂了!回头试试
2014-12-19 17:57
0
雪    币: 16
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
147
基址重定位那里有疑问,偏移量应该是镜像在内存中的地址-PE文件基址,也就是新内核Image地址-OptionalHeader.ImageBase啊,代码里却是OrigImage-OriginalImageBase,也就是旧内核基址-OrigImage-OriginalImageBase???
2015-1-13 23:44
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
148
这个贴子,不能沉
2015-2-7 18:06
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
149
看来我要从2013年开始学起了。。落后的太多了。···
2015-2-9 21:19
0
雪    币: 2
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
150
你这个HOOK KiFastCallEntry的方法貌似有点问题啊,是通过调用NtOpenProcess,然后堆栈回朔HookKiFastCallEntry 的, 但是如果TP也HOOK了NtOpenProcess了呢?
2015-6-22 23:04
0
游客
登录 | 注册 方可回帖
返回
//