Jump to content
Advertising GIF
Advertising GIF

Advanced Anti-Debug + Fake Entry + TLS Callback (Source Code C++)


Recommended Posts

  • Founder

IMPORTANT NOTE: IT IS NECESSARY TO REMEMBER THAT THERE IS NO RUNTIME PATCH OR STRING OBF IN THE PROJECT. THAT IS WHY YOUR STRINGS WILL BE READ IN PAUSE MODE EVEN IF THE PROGRAM IS NOT START FROM DEBUGGER BECAUSE IT DOES NOT HIDE PE SECTIONS. IT IS RECOMMENDED TO USE THIS PROJECT WITH VMP ENGIMA OR CODE VIRTUALIZER.

EN

What Is This Project?

This project provides an advanced Anti-Debugging system for Windows applications.
The code combines multiple techniques with TLS Callback and Fake EntryPoint, ensuring that the application can terminate itself (TerminateProcess) even before reaching the real program entry.

🔹 Techniques Used

IsDebuggerPresent / CheckRemoteDebuggerPresent → Standard API checks

PEB (Process Environment Block) Flag → BeingDebugged detection

NtQueryInformationProcess → Low-level debug port check

Inline Hook Detection (ntdll.dll) → Detects ScyllaHide / TitanHide patches

Debugger Window Scan → Searches for x32dbg, x64dbg, OllyDbg window names

Timing Attack → Uses QueryPerformanceCounter to detect delays

Debug Register (DRx) Check → Hardware breakpoints detection

TLS Callback → Runs before the program’s main entry point

Fake EntryPoint → Hides the real entry, runs anti-debug first

🔹 Defense Against ScyllaHide & TitanHide

Tools like ScyllaHide / TitanHide patch APIs to hide the debugger.

This code counters them by:

Inline hook detection → finds their patches.

Timing checks → detects manipulation of execution speed.

Debug registers scan → uncovers HW breakpoints.

👉 Result: Even with ScyllaHide/TitanHide, the app will terminate immediately.

🔹 Is It Enough Alone?

Not fully. This provides a strong baseline but cannot guarantee 100% protection.

Skilled reverse engineers may bypass it.

Therefore, the best approach is to combine with VMProtect, Themida, or other virtualization tools.

Recommendation:

You don’t need to enable VMProtect’s anti-debug features (this code already covers them).

Instead, enable virtualization, mutation, and control flow obfuscation.

This way, strings, logic, and sensitive routines remain hidden.

Installation instruction:

In Project Properties > Linker > Advanced > Entry Point set it to FakeEntry

ÖNEMLİ NOT : UNUTMAMAK GEREKLİDİR Kİ PROJEDE HERHANGİ BİR RUNTİME PATCH VEYA STRİNG OBF BULUNMAMAKTADIR BU YÜZDEN PROGRAM DEBUGGER ÜZERİNDEN START OLMASA BİLE PE SECTIONLARI GİZLEMEDİĞİ İÇİN PAUSE MODDAYKENDE STRİNGLERİNİZ OKUNACAKTIR BU PROJEYİ VMP ENGİMA VEYA CODE VİRTUALİZER İLE BİRLİKTE KULLANMANIZ ÖNERİLİR

TR

Bu Proje Nedir?

Paylaştığım proje, Windows tabanlı uygulamalar için gelişmiş Anti-Debug sistemi içeriyor.
Kodlar, klasik yöntemlerin yanında TLS Callback ve Fake EntryPoint mekanizmaları ile çalışıyor.
Böylece uygulama, daha main() veya WinMain() fonksiyonuna bile ulaşmadan debug edildiğini fark ederse kendini sonlandırıyor (TerminateProcess).

🔹 Kullanılan Teknikler

IsDebuggerPresent / CheckRemoteDebuggerPresent → Standart API tespitleri

PEB (Process Environment Block) Kontrolü → BeingDebugged flag

NtQueryInformationProcess → Kernel seviyesine yakın debug port kontrolü

Inline Hook Kontrolü (ntdll.dll) → ScyllaHide / TitanHide patch’lerini tespit edebilir

Debugger Window Scan → x32dbg, x64dbg, OllyDbg gibi pencere isimlerini arar

Timing Attack → QueryPerformanceCounter ile sleep manipülasyonlarını yakalar

Debug Register (DRx) Kontrolü → HW breakpoint’leri algılar

TLS Callback → Programın EntryPoint’ine girmeden önce anti-debug çalışır

Fake EntryPoint → Gerçek giriş gizlenir, önce kontrol yapılır

🔹 ScyllaHide & TitanHide Karşısındaki Gücü

ScyllaHide / TitanHide gibi araçlar, IsDebuggerPresent, NtQueryInformationProcess gibi standart API’leri hook’layarak debugger’ı gizler.

Ancak bu kod:

Inline Hook tespiti yaparak, bu araçların yaptığı patch’leri algılar.

Timing saldırısı sayesinde debugger’ın yavaşlatma girişimlerini fark eder.

Debug Register taraması ile HW breakpoint’leri ortaya çıkarır.

Sonuç: ScyllaHide veya TitanHide kullanılsa bile uygulama, büyük ihtimalle terminate olur.

🔹 Tek Başına Yeterli mi?

Hayır. Bu kod güçlü bir temel sağlar ama tek başına %100 koruma değildir.

Profesyonel reverse engineer’lar bu katmanı aşabilir.

Bu nedenle, kodu VMProtect, Themida veya farklı bir Virtualizer ile birleştirmek gerekir.

Önerim:

VMProtect’in kendi anti-debug sistemini açmanıza gerek yok (çünkü bu kod zaten fazlasını yapıyor).

Yalnızca Virtualization / Mutation / Control Flow Flattening gibi diğer koruma özelliklerini açın.

Böylece stringler, kod blokları ve logic tamamen gizlenir.

Kurulum Talimatı:

Project Properties > Linker > Advanced > Entry Point kısmına FakeEntry yaz

This is the hidden content, please
 (rar pass : crackfrm.org)

For those who want to test, try sending a sample crack me patch. VMP's anti-debug protection is disabled, the project uses its own protection.

Test etmek isteyenler için örnek bir crack me patch atmayı deneyin vmp nin anti debug koruması kapalı projenin kendi korumasını kullanıyor

This is the hidden content, please

  • Like 2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use