Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
makin — makin - reveal anti-debugging and anti-VM tricks [This project is not maintained anymore] | Kitploit
Tools/GitHubGitHub/secrary/makin
Dynamic Analysis (Sandboxing)Reverse EngineeringDebuggersMalware AnalysisAnti-Bot
GitHubsecrary/makin

makin

makin - reveal anti-debugging and anti-VM tricks [This project is not maintained anymore]

View Repository
7441477 years agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

I create makin to make initial malware assessment little bit easier for me, I think it's useful for others as well, It helps to reveal a debugger detection techniques used by a sample.

Any feedback is greatly appreciated: @_qaz_qaz

How does it work?

makin opens a sample as a debuggee and injects asho.dll(main module renames all dlls before injection), asho.dll hooks several functions at ntdll.dll and kernelbase.dll libraries and after parameters checkings, it sends the corresponding message to the debugger (makin.exe).

makin also generates a script for IDA Pro to set breakpoints at detected APIs.

At this moment, makin can reveal following techniques:

ntdll.dll:

  • NtClose - ref: The "Ultimate" Anti-Debugging Reference: 7.B.ii
  • NtOpenProcess - ref: The "Ultimate" Anti-Debugging Reference: 7.B.i
  • NtCreateFile - ref: The "Ultimate" Anti-Debugging Reference: 7.B.iii (Open itself)
  • NtCreateFile - ref: The "Ultimate" Anti-Debugging Reference: 7.B.iii (Open a driver)
  • LdrLoadDll - ref: The "Ultimate" Anti-Debugging Reference: 7.B.iv
  • NtSetDebugFilterState - ref: The "Ultimate" Anti-Debugging Reference: 7.D.vi
  • NtQueryInformationProcess - ref: The "Ultimate" Anti-Debugging Reference: 7.D.viii.a, 7.D.viii.b, 7.D.viii.c
  • NtQuerySystemInformation - ref:

kernelbase.dll:

  • IsDebuggerPresent - ref: MSDN
  • CheckRemoteDebuggerPresent - ref: MSDN
  • SetUnhandledExceptionFilter - ref: The "Ultimate" Anti-Debugging Reference: D.xv
  • RegOpenKeyExInternalW - checks registry keys
  • RegQueryValueExW - checks registry key values

You can add more VM checks via editing checks.json file, without modification of the executable

That's all for now, you can add as much as you wish :)

Third-party

  • Zydis (MIT License)
  • JSON for Modern C++ (MIT License)
DEMO:

makin_demo

Download Tool
The "Ultimate" Anti-Debugging Reference: 7.E.iii
  • NtSetInformationThread - ref: The "Ultimate" Anti-Debugging Reference 7.F.iii
  • NtCreateUserProcess - ref: The "Ultimate" Anti-Debugging Reference 7.G.i
  • NtCreateThreadEx - ref: ntuery blog post
  • NtSystemDebugControl - ref: @waleedassar - pastebin
  • NtYieldExecution - ref: The "Ultimate" Anti-Debugging Reference 7.D.xiii
  • NtSetLdtEntries - ref: ANTI-UNPACKER TRICKS: PART ONE - 2.1.2
  • NtQueryInformationThread - ref: ntquery - NtQueryInformationThread
  • NtCreateDebugObject and NtQueryObject - ref: Anti-Debug NtQueryObject
  • RtlAdjustPrivilege - ref: Using RtlAdjustPrivilege to detect debugger by insid3codeteam
  • root@kitploit:~
  • PEB->BeingDebugged - Instead of calling IsDebuggerPresent(), some programs manually check the PEB (Process Environment Block) for the BeingDebugged flag.
  • PEB->NtGlobalFlag - ref: al-khaser
  • UserSharedData->KdDebuggerEnabled - ref: al-khaser - SharedUserData_KernelDebugger
  • Close PROCTECTED handle trick - ref: al-khaser - HANDLE_FLAG_PROTECT_FROM_CLOSE