去捍卫者
https://discord.gg/qeYaYK4JKq
卫士
该 Go 包提供了检测和防御各种形式的调试工具和虚拟化环境的功能。顺便说一句,为了快速安装,请运行install.bat
。
反虚拟化
- 分类检测:检测系统是否在分类或分析环境中运行。
- 监控指标:监控系统指标以识别指示虚拟化的异常行为。
- VirtualBox 检测:检测 Oracle VirtualBox 是否存在。
- VMware 检测:检测 VMware 虚拟化软件是否存在。
- KVM 检查:检查基于内核的虚拟机 (KVM) 管理程序。
- 用户名检查:验证当前用户是否是默认虚拟化用户。
- 最近的用户活动:检查用户活动;如果文件少于 20 个,则退出。
- USB 安装:检查 USB 是否曾经插入过计算机。
- VM 工件:识别虚拟机 (VM) 留下的工件,这可以指示 VM 环境的存在。
- Parallels Check :检测 Parallels Desktop,这是一种流行的 macOS 虚拟化软件,用于运行 Windows 和其他来宾操作系统。
- QEMU 检测:识别 QEMU、开源机器仿真器和虚拟器的存在,这可能表明虚拟机检测。
反调试
该模块包括检测和防止对正在运行的进程进行调试和分析的功能。
- IsDebuggerPresent :检查调试器当前是否附加到进程。
- 远程调试器:检测远程调试器是否连接到进程。
- PC 正常运行时间:监控系统正常运行时间以检测基于系统重新启动的调试尝试。
- 检查列入黑名单的 Windows 名称:验证进程名称是否与调试器常用的任何列入黑名单的名称相匹配。
- 正在运行的进程:检索正在运行的进程列表并识别潜在的恶意进程。
- 父反调试:检测父进程是否正在尝试调试当前进程。
- 检查不良进程:如果在系统上检测到,则根据您的选项执行某些操作(布尔)。
- 检测用户模式反反调试器:检测用户模式反反调试器,例如 ScyllaHide(BASIC / VMP 插件)。
- Internet 连接检查:检查是否存在 Internet 连接。
流程工具
您的应用程序可能需要 ProcessUtils
- 关键流程:实现管理系统运行所必需的关键流程的功能。
- 设置运行时:将应用程序运行时设置为指定之一:
MacOS,Linux,Windows
- 启用所有令牌:启用当前进程的所有令牌 Windows 权限
- IsAdmin - 请求管理员:请求当前进程的管理员,并检查当前进程是否为管理员
防DLL注入
- 修补 Dll :利用二进制映像签名缓解策略来防止注入非 Microsoft 二进制文件。
快速概括
- 通过检查函数地址上的错误指令来检测常见反调试函数上的大多数反反调试挂钩方法(在 x64 上最有效)。它还可以检测用户模式反反调试器(如 ScyllaHide),并可以检测一些使用挂钩来监视应用程序行为/活动的沙箱(如 Tria.ge)。
制作人员
- https://github.com/AdvDebug :启发我开始制作这个包。没有他,就没有这里。查看他的 GitHub。
- https://github.com/MmCopyMemory:提供想法等等。查看他的 GitHub。
- https://github.com/bytepulze :帮助解决错误/修复,查看他的 Github
- 我这样做是因为我注意到有人试图破解或分析我的其他 Go 程序。以前,我有很多行反调试代码(我懒惰地编码并将所有内容都放入其中),因此我想创建一些快速可靠的东西,这将使逆向工程师的生活变得更加困难。因此,我制作了 GoDefender。