首页
社区
课程
招聘
重载DLL后函数桥接问题.
发表于: 2014-11-3 15:28 5038

重载DLL后函数桥接问题.

2014-11-3 15:28
5038
这两天在尝试猥琐反HOOK的DEMO.对方HOOK了NtCreateThreadEx

因为是KernelBase.dll.CreateRemoteThreadEx调用了Ntdll.NtCreateThreadEx
我的办法是重载一个Ntdll.dll,方便以后部分函数走阳关大道.
然后修改KernelBase.dll.CreateRemoteThreadEx里面的CALL 到NewNtdll.NtCreateThreadEx

结果报错了.然后的以为是重载DLL的问题.于是在Ntdll.dll模块末尾的空白区域复制了Ntdll.NtCreateThreadEx的代码.

77DB5A00 B8 A5000000 MOV EAX,0xA5
77DB5A05 33C9 XOR ECX,ECX
77DB5A07 8D5424 04 LEA EDX,SS:[ESP+0x4]
77DB5A0B 64:FF15 C0000000 CALL FS:[0xC0]
77DB5A12 83C4 04 ADD ESP,0x4
77DB5A15 C2 2C00 RETN 0x2C


最后再修改KernelBase.dll.CreateRemoteThreadEx里面的CALL到77DB5A00,
结果也报错.
求大神指点.是哪里没处理好么?..

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 235
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
ntdll在加载时候会初始化一些全局数据与一些关联的共享数据,特别是在高版本x64位系统微软对自己的DLL文件内部数据的产生了一定的“假象”,如果不是系统标准的加载会有一定的问题需要去解决,一些特别重要的DLL都与某些DLL有一定的数据共享包括R0访问R3的数据以及R0与R3的一些数据映射,如果自定义去重定位加载需要摸清几乎所有需要用到的关联数据~
2014-11-3 17:21
0
雪    币: 297
活跃值: (265)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
3
hook KiFastSystemCall判断索引处理函数绕过hook ntdll. NtCreateThreadEx
2014-11-3 17:30
0
游客
登录 | 注册 方可回帖
返回
//