Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/metixw/anti-debug
防御工具逆向工程调试器恶意软件分析二进制分析精选资源反机器人
GitHubmetixw/anti-debug

anti-debug

针对 x64dbg 等调试器的未公开反调试技巧合集,包含 C++ 代码示例和用于规避研究的逆向笔记。

查看仓库
31262天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

反调试技巧

只是我在逆向和摆弄调试器时发现的一些未公开的反调试技巧的集合。

每当我发现有趣的东西时,都会在这里添加更多内容。

1. 可执行文件锁定检测

这是我在做 ttd 分析时发现的。它并不是什么真正的反调试功能,只是一种奇怪的文件共享行为,可以用来检测 x64dbg。

据我所见,这个技巧已经存在了大约 10 年,而且在 x64dbg 中仍然没有被修复。

我以前在一些反作弊中使用过它,而且从未真正看到有人谈论它。不过它也没什么大不了的,一旦你知道发生了什么,就很容易修补。

基本上,它会尝试以独占访问方式打开自己的可执行文件。如果其他东西持有该文件的冲突句柄,CreateFileA 就会失败并返回 ERROR_SHARING_VIOLATION。

这并不一定意味着附加了调试器,但在某些情况下,它可以作为一种检测技巧。 image

代码

// made by metixw ( @metixw )
#include <windows.h>
#include <iostream>

bool walahi()
{
    char path[MAX_PATH];
    GetModuleFileNameA(NULL, path, MAX_PATH);
    HANDLE h = CreateFileA(path, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (h == INVALID_HANDLE_VALUE) return GetLastError() == ERROR_SHARING_VIOLATION;
    CloseHandle(h);
    return false;
}
 // just an example but if u wanna use it as an anti-debug trick put it in a thread 
int main()
{
    while (true)
    {
        if ( walahi() )
        {
            std::cout << "detected walahi" << std::endl;
            system( "pause" );
            Sleep(1000);
            exit(0);
        }
        Sleep( 500 );
    }
    return 0;
}

更多技巧即将推出。

下载工具