先查一下保護改了哪些內存
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的文件
[文章純屬研究,切勿用於非法目的。]