Founder cambaz 486 Posted August 16 Founder Share Posted August 16 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 Sign In or Sign Up (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 Sign In or Sign Up 2 Link to comment https://crackfrm.org/topic/340-advanced-anti-debug-fake-entry-tls-callback-source-code-c/ Share on other sites More sharing options...
Kontra 4 Posted August 16 Share Posted August 16 Eline emeğine sağlık <3 Link to comment https://crackfrm.org/topic/340-advanced-anti-debug-fake-entry-tls-callback-source-code-c/#findComment-2995 Share on other sites More sharing options...
börü 0 Posted August 16 Share Posted August 16 Eline sağlık üstad Link to comment https://crackfrm.org/topic/340-advanced-anti-debug-fake-entry-tls-callback-source-code-c/#findComment-2996 Share on other sites More sharing options...
null 0 Posted August 17 Share Posted August 17 Ellerine sağlık Link to comment https://crackfrm.org/topic/340-advanced-anti-debug-fake-entry-tls-callback-source-code-c/#findComment-3002 Share on other sites More sharing options...
viyipa 0 Posted August 17 Share Posted August 17 tysm Link to comment https://crackfrm.org/topic/340-advanced-anti-debug-fake-entry-tls-callback-source-code-c/#findComment-3015 Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now