-
-
[旧帖] [求助]关于内核重载的一些疑惑 0.00雪花
-
发表于: 2014-2-22 01:41 1657
-
内核重载的原理跟外壳中常见的重载DLL,模拟API函数很类似,唯一一点疑惑的是在处理重定位表时,我们根据重定位表中的数据来修正内核文件中的全局变量基址,比如原系统内核模块的基址为804D8000,一句代码如下:
8056cb1b 8b1d380b5580 mov ebx,dword ptr [nt!KeI386MachineType+0x3634 (80550b38)]
当我们新载入的系统内核模块经过重定位后,这句代码如下:
e225db1b 8b1d381b24e2 mov ebx,dword ptr ds:[0E2241B38h]
但是看雪论坛中前辈们关于内核重载的文章中表示这些全局变量的地址必须修正成与原内核一样的地址,也就是得修正成80550b38;
搞不明白为什么不能用新内核的全局变量基址呢?有知道的前辈望不吝赐教
8056cb1b 8b1d380b5580 mov ebx,dword ptr [nt!KeI386MachineType+0x3634 (80550b38)]
当我们新载入的系统内核模块经过重定位后,这句代码如下:
e225db1b 8b1d381b24e2 mov ebx,dword ptr ds:[0E2241B38h]
但是看雪论坛中前辈们关于内核重载的文章中表示这些全局变量的地址必须修正成与原内核一样的地址,也就是得修正成80550b38;
搞不明白为什么不能用新内核的全局变量基址呢?有知道的前辈望不吝赐教
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
- [求助]调试某程序时遇到的Anti-Debug, 求各位大牛帮忙想想对策 4008
- [求助]关于内核重载的一些疑惑 1658
- [求助]求教这里一个内核模块如何加载 1778
- [原创]TraceMe注册机编写过程 1526
赞赏
雪币:
留言: