Re: 请教各位一个反调试的问题

C/C++本地代码调试

请教各位一个反调试的问题


maek 2012-10-16, 17:47 下午

一程序OllyDbg下内存断点、硬件断点都可以被他发现然后退出程序

把程序里的一线程挂起后可以正常下断,证明是此线程反断点

但是他并没有调用NtSetInformationThread (ThreadHideFromDebugger)防止调试事件被发往调试器

十分疑惑。它还有什么办法可以检测到断点?

 

Re: 请教各位一个反调试的问题


maek 2012-10-16, 19:03 下午
张老师可否帮忙解惑

Re: 请教各位一个反调试的问题


格蠹老雷 2012-10-18, 13:05 下午
反调试的方法层出不穷,这样太难回答了,要么有反汇编出来的代码,要么有更多描述...

Re: 请教各位一个反调试的问题


maek 2012-10-25, 17:10 下午

经反复测试:

当中断后我立即切换到调试器按下运行它正常工作,稍迟几秒会被它发现。

就是说他的判断不准确,有可能是判断线程的运行速度

另外请问张老师:破解时遇到VMP代码变形的程序是不是就应该放弃破解了?

Re: 请教各位一个反调试的问题


格蠹老雷 2012-10-25, 18:02 下午

计时的方法很常见,可以尝试在GetTickCount API设置断点,看是否有调用,如果真的发现是用这个API来取时间那么可以使用a命令将其patch成

xor eax, eax

ret

要看ROI(return of investment)了

Re: 请教各位一个反调试的问题


maek 2012-10-25, 21:18 下午

并不是GetTickCount ,计时的方式有很多

唯有自己慢慢研究了

谢谢张老师

Powered by Community Server Powered by CnForums.Net