Tesla.Angela
发表于 2017-6-29 21:53:17
[科普]简单总结“内核重载”和BufferDriverLoader的联系与区别
PS:本文不是什么新技术,纯粹是对一些老知识的总结。
标题里的BufferDriverLoader,就是“无需把【驱动文件】输出到磁盘,而是直接把【映像】映射到内存并执行”的意思。
共同点:
1、“内核重载”与BufferDriverLoader都是本质上都是通过“PE加载器”,把PE文件映射到内存里。都需要经过读取文件、展开对齐、修复导入表、重定位的过程。
2、都不支持SEH,如果发生异常,即使在try...catch里,也会导致直接蓝屏。
不同点:
**** Hidden Message *****
还有大家最关心的一点,能否在WIN64系统上实现“内核重载”?
**** Hidden Message *****
kz丶cn
发表于 2017-6-29 21:55:24
沙发?
zf0815zj
发表于 2017-6-29 21:56:05
支持下。。。
zjr230506
发表于 2017-6-29 21:57:27
寂寞长夜学习学习
hzqst
发表于 2017-6-29 22:04:48
本帖最后由 hzqst 于 2017-6-29 22:11 编辑
每次都要回帖好麻烦啊
补充一下:
1、x64是可以实现memload SEH的,只不过要调用某个非导出函数把需要seh的代码块加入内核维护的一个链表,非常不可靠所以一般不会有人用于正规项目,只能自己玩玩,具体见https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/Loader.c:BBMapWorker
2、x64下有pg,重载内核可行但没任何实际意义,只能做着玩儿。
3、如果只是为了躲过函数头的hook,完全可以复制函数头N个字节然后jmp回去原始内核,一般也没人会去函数内部下钩子吧。
46785131
发表于 2017-6-29 22:11:16
最后的才是重点呀..呵呵!~~~
brucep555
发表于 2017-6-29 22:33:33
顶一顶.学习下哈
tangptr@126.com
发表于 2017-6-30 00:06:38
路过
n36437517
发表于 2017-6-30 06:56:44
学习学习
wtxpwh
发表于 2017-6-30 09:14:18
围观
flac
发表于 2017-6-30 09:26:46
谢谢分享
yimingqpa
发表于 2017-6-30 10:07:51
看一看,学习一下.
惊雷
发表于 2017-6-30 13:12:51
撒娇啊回答说
3207145141
发表于 2017-6-30 14:52:54
学习大佬的总结.谢谢.
落笔飞花
发表于 2017-6-30 15:18:54
来顶帖了。。。。。。。。。。
CleanLove
发表于 2017-6-30 18:48:31
make 支持下 谢谢~~~
yyss258147
发表于 2017-7-1 16:51:41
拜读下
软绵绵
发表于 2017-7-1 17:45:32
学习学习,感谢分享
linkerrors
发表于 2017-7-1 21:27:44
感谢ta分享!
hamman
发表于 2017-7-2 16:49:17
看看涨姿势,谢谢!
岁月
发表于 2017-7-3 23:57:10
谢谢Ta大分享。
545821848
发表于 2017-7-9 16:12:09
x64应该可以实现的哈。
黄枫叶
发表于 2017-7-25 22:38:45
支持下。。。
sijin
发表于 2017-8-27 13:35:27
谢谢分享,学习下
zt8152070
发表于 2017-8-28 10:57:40
学习下
mq2752639
发表于 2017-10-6 11:20:07
很好、很强大,这个一定得支持!!!
aoskan888
发表于 2017-10-19 19:31:27
想学习下。比较感兴趣
YesBacker
发表于 2017-11-8 20:25:19
看看大神的帖子
dogbitesme
发表于 2017-11-30 09:17:48
非常强大的技术
chaos4
发表于 2017-12-2 02:35:15
BUFFER加载貌似也能在ARK里看到吧?
qq569582281
发表于 2017-12-5 10:47:59
谢谢楼主
你坏
发表于 2017-12-7 19:57:45
看看为什么64位系统不能重载内核