-
-
[旧帖]
[求助]过TP保护代码中不懂得地方
0.00雪花
-
发表于:
2013-7-23 23:44
2115
-
[旧帖] [求助]过TP保护代码中不懂得地方
0.00雪花
源码是看雪牛人发布的代码:http://bbs.pediy.com/showthread.php?t=173058&highlight=TP+%E4%BF%9D%E6%8A%A4+%E6%8A%A4
我在学习中有个很难理解的地方:
ULONG uNewSSDTAddr = GetSSDTAddr(uKernelBase, uImageBase, 0x115);
uNewSSDTAddr是原始函数的位置好理解,可下面这行将原始函数地址-载入地址+映像基址=映像中此函数的地址吗?而上面不是已经获得到映像中此函数的地址是uNewSSDTAddr 了嘛,我个人总感觉这里是一样的,可调试结过就不一样了,是不是PE重定位的原因,还请大神知道下帮我突破难关。
ULONG uOlduSSDTAddr = uNewSSDTAddr - uKernelBase + uImageBase;
CopyFuncByte(uNewSSDTAddr, uOlduSSDTAddr, (ULONG)FuckNtWriteVirtualMemory);
HookSSDT((ULONG)FuckNtWriteVirtualMemory, &g_uOldNtWriteVirtualMemoryAddr, 0x115);
另外如果有哪位兄弟也研究上面链接的代码可以M我一下,我们一起学习。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!