Tesla.Angela 发表于 2011-8-7 21:05:23

古老的INT 2D检测调试器

从某外国的人的汇编代码移植过来的,对StrongOD无效。。。
很久没在WIN32底层版发贴,当灌水了。。。
#include <Windows.h>

int main()
{
        char str0[]="Debugger not detected!";
        char str1[]="Debugger detected!";
        char str2[]="Check Debugger";
        PVOID p=(PVOID)GetProcAddress(LoadLibraryW(L"user32.dll"),"MessageBoxA");
        system("pause");
        __try
        {
                __asm //check debugger
                {
                        int 0x2d
                        nop
                }
        }
        __except(EXCEPTION_EXECUTE_HANDLER)
        {
                __asm //Debugger not detected!
                {
                        xor eax,eax
                        push eax
                        lea eax,str2
                        push eax
                        lea eax,str0
                        push eax
                        xor eax,eax
                        push eax
                        call p
                }
                goto end;
        }
        __asm //Debugger detected!
        {
                xor eax,eax
                push eax
                lea eax,str2
                push eax
                lea eax,str1
                push eax
                xor eax,eax
                push eax
                call p
        }
end:
        return 0;
}

cjygxm 发表于 2011-8-8 11:27:32

Tesla.Angela 发表于 2011-8-10 16:26:55

sb666 发表于 2011-8-8 19:39 static/image/common/back.gif
vb版
VERSION 5.00
Begin VB.Form Form1


还有一个绝招,强行置顶,挡住OD的界面。
当然,别人HOOK SetWindowPos这招就废了。

Tesla.Angela 发表于 2011-8-11 16:41:35

Tesla.Angela 发表于 2011-8-10 16:26 static/image/common/back.gif
还有一个绝招,强行置顶,挡住OD的界面。
当然,直接HOOK SetWindowPos也行。

你这两个都不现实,因为你是对其它进程操作,这个可以被轻易BAN掉。
有个鬼佬说,自己调试自己,就能防止被其它进程调试。
我没有试过,你试试吧。

Tesla.Angela 发表于 2011-8-11 17:12:15

sb666 发表于 2011-8-8 19:39 static/image/common/back.gif
vb版
VERSION 5.00
Begin VB.Form Form1


从唯物主义的观点看,无论StrongOD再怎么NB,也不可能做到让程序在被调试时和没有被调试时一模一样。
可以检测时间,如果在注册时,某段本需要只十几毫秒来执行的代码竟然用了大于1秒钟,即可认为被调试,直接退出即可。这个在VB里用两次TIMER函数的返回值相减取绝对值即可。

Tesla.Angela 发表于 2011-8-11 23:56:21

sb666 发表于 2011-8-8 19:39 static/image/common/back.gif
vb版
VERSION 5.00
Begin VB.Form Form1


"在运行到关键代码时挂起所有进程“这个某大型游戏就是这么搞的
别人可以不让你挂起。
另外下次回帖最好不要使用“点评”,否则搞得我好像在自言自语。。。

Tesla.Angela 发表于 2011-8-12 17:36:09

sb666 发表于 2011-8-12 12:28 static/image/common/back.gif
用驱动操作调度表呢?看谁能阻止。有些游戏都有些病态了,比如腾讯那个反外挂,挂钩一大堆钩子,处理超差 ...

对付钩子最好的办法是镜像内核。
页: [1]
查看完整版本: 古老的INT 2D检测调试器