先查一下保护改了哪些内存
804f87d8-804f87de 7 bytes - nt!KiAttachProcess
[ 8b ff 55 8b ec 53 8b:b8 8c 9c e4 ef ff e0 ]
8053e631-8053e635 5 bytes - nt!KiFastCallEntry+e1 (+0x45e59) //此项为360
[ 2b e1 c1 e9 02:e9 52 55 e1 00 ]
805aa794-805aa79a 7 bytes - nt!NtReadVirtualMemory
[ 6a 1c 68 e0 a4 4d 80:b8 28 9a e4 ef ff e0 ]
805aa89e-805aa8a4 7 bytes - nt!NtWriteVirtualMemory (+0x10a)
[ 6a 1c 68 f8 a4 4d 80:b8 62 9b e4 ef ff e0 ]
805c2549-805c254c 4 bytes - nt!NtOpenProcess+225 (+0x17cab)
[ 8b fe fe ff:f7 79 88 6f ]
805c27cb-805c27ce 4 bytes - nt!NtOpenThread+21b (+0x282)
[ 09 fc fe ff:cd 78 88 6f ]
查找修改点,
对修改函数调用的代码直接 改成ret 10h
F5,发现系统自动重启。于是再来一次
查找检测修改的函数,此代码为无参,直接ret.
进游戏OD无法找到进程
定位DEBUGPORT修改点,直接ret.
重启系统再来一次,改5个ret,一个jmp,大概半分钟,OD CE就能正常使用了
第一次查找定位代码可能会花时间多点。
和别的hook方法比,不需要写代码,不需要硬编码,缺点依赖于TP的文件
[文章纯属研究,切勿用于非法目的。]