Aller au contenu

ScyllaHide - Cheatsheet Anti-Anti-Debug Usermode

ScyllaHide - Cheatsheet Anti-Anti-Debug Usermode

ScyllaHide est une bibliothèque usermode anti-anti-debug open-source avancée pour Windows (x86/x64). Les malwares et les packers commerciaux détectent les debuggers grâce à un ensemble bien connu d”appels API et de drapeaux ; ScyllaHide hook ces fonctions pour qu”elles retournent « pas de debugger présent », permettant à un analyste de déboguer le code protégé sans déclencher son évasion. Il est livré en tant que plugin pour x64dbg, IDA et OllyDbg, et peut aussi fonctionner de manière autonome en injectant dans une cible.

Pour l”analyse de malwares autorisée et la recherche logicielle uniquement. ScyllaHide est un outil de recherche défensive ; utilisez-le sur des échantillons et des logiciels que vous êtes autorisé à analyser.

Installation

MéthodeComment
x64dbgDéposer les DLL du plugin dans x64dbg/plugins/
IDACopier le plugin IDA dans le dossier plugins/ d”IDA
Standalone (injecteur)Utiliser InjectorCLIx64.exe / InjectorGUI.exe
Sourcecompiler depuis le dépôt x64dbg/ScyllaHide
VérificationLe menu des plugins apparaît dans le debugger

Ce qu”It Cache

TechniqueScyllaHide contrecarre
IsDebuggerPresentRetourne faux
CheckRemoteDebuggerPresentSignale pas de debugger
Drapeau PEB BeingDebuggedEffacé
NtGlobalFlagNormalisé
NtQueryInformationProcessProcessDebugPort/Flags usurpés
Drapeaux de heapNormalisés
NtSetInformationThread (HideFromDebugger)Bloqué
Vérifications de timing (GetTickCount, rdtsc)Optionnellement atténuées
OutputDebugString / breakpoints matérielsGérés/cachés

Utiliser le Plugin (x64dbg)

ÉtapeAction
Ouvrir cibleCharger le binaire empaqueté/protégé dans x64dbg
OptionsPlugins → ScyllaHide → Options
Choisir un profilChoisir ou régler un profil de hook
Attacher hooksActiver avant d”exécuter les vérifications anti-debug
ExécuterContinuer l”exécution ; les vérifications passent maintenant

Profils

ProfilUtilisation
Modèles prédéfinisPackers courants (ex. VMProtect, style Themida)
PersonnaliséBasculer les hooks individuels pour une cible têtue
Enregistrer/chargerPersister un profil par échantillon/packer

Injection Autonome

# Injecter ScyllaHide dans un processus déjà en cours d''exécution (ou lancé)
InjectorCLIx64.exe <pid|path> HookLibraryx64.dll <profile>
OptionObjectif
Spawn vs attachDémarrer la cible sous ScyllaHide ou attacher plus tard
Bibliothèque de hookLa DLL qui installe les hooks
ProfilQuels hooks anti-debug appliquer

Flux de Travail Typique de Déballage

ScyllaHide est généralement un élément d”une boîte à outils de déballage aux côtés de ses outils frères.

OutilRôle
ScyllaHideVaincre anti-debug pour pouvoir exécuter jusqu”au OEP
x64dbgDéboguer et atteindre le Point d”Entrée Original
ScyllaReconstruire la Table d”Adresses d”Importation, dumper le PE
Detect It EasyIdentifier le packer / vérifier le fichier déballé
# Concept : déballer un échantillon protégé
1. Charger l''échantillon dans x64dbg avec ScyllaHide activé
2. Exécuter au-delà du stub du packer jusqu''au OEP (anti-debug est neutralisé)
3. Dumper le processus et reconstruire l''IAT avec Scylla
4. Vérifier le dump avec Detect It Easy

ScyllaHide vs Outils Connexes

AspectScyllaHideTitanHideCorrectif manuel
CoucheHooks usermodePilote mode noyauCorrectifs par vérification
CouvertureEnsemble API largeFurtivité au niveau noyauUniquement ce que vous patchéz
ConfigurationPlugin/injectionInstallation du piloteFastidieux
Meilleur pourDébogage RE quotidienBesoins de furtivité plus profondsVérifications ponctuelles

Ressources