Pular para o conteúdo

ScyllaHide - Cheatsheet de Anti-Anti-Debug para Modo Usuário

ScyllaHide - Cheatsheet de Anti-Anti-Debug para Modo Usuário

ScyllaHide é uma biblioteca avançada de código aberto usermode anti-anti-debug para Windows (x86/x64). Malware e empacotadores comerciais detectam debuggers através de um conjunto bem conhecido de chamadas de API e flags; ScyllaHide enganha essas funções para que retornem “nenhum debugger presente,” permitindo que um analista depure código protegido sem ativar suas evasões. Funciona como um plugin para x64dbg, IDA e OllyDbg, e também pode executar como standalone injetando-se em um alvo.

Apenas para análise de malware autorizada e pesquisa de software. ScyllaHide é uma ferramenta de pesquisa defensiva; use-a em amostras e software que você tenha permissão para analisar.

Instalação

MethodComo
x64dbgSolte os DLLs do plugin em x64dbg/plugins/
IDACopie o plugin IDA para a pasta plugins/ da IDA
Standalone (injector)Use InjectorCLIx64.exe / InjectorGUI.exe
Sourceconstrua a partir do repositório x64dbg/ScyllaHide
VerificarO menu de plugin aparece no debugger

O Que Ele Oculta

TécnicaScyllaHide counters
IsDebuggerPresentRetorna falso
CheckRemoteDebuggerPresentRelata nenhum debugger
PEB BeingDebugged flagLimpado
NtGlobalFlagNormalizado
NtQueryInformationProcessProcessDebugPort/Flags falsificados
Heap flagsNormalizado
NtSetInformationThread (HideFromDebugger)Bloqueado
Timing checks (GetTickCount, rdtsc)Opcionalmente mitigado
OutputDebugString / hardware breakpointsTratado/ocultado

Usando o Plugin (x64dbg)

StepAção
Abra alvoCarregue o binário empacotado/protegido no x64dbg
OpçõesPlugins → ScyllaHide → Options
Escolha um profileEscolha ou ajuste um perfil de hook
Ative hooksAtive antes de rodar após verificações anti-debug
ExecuteContinue a execução; as verificações agora passam

Perfis

PerfilUso
Preset templatesEmpacotadores comuns (ex. VMProtect, estilo Themida)
CustomAlterne hooks individuais para um alvo teimoso
Save/loadPersista um perfil por amostra/empacotador

Injeção Standalone

# Injete ScyllaHide em um processo já em execução (ou inicializado)
InjectorCLIx64.exe <pid|path> HookLibraryx64.dll <profile>
OptionPropósito
Spawn vs attachInicie o alvo sob ScyllaHide ou anexe depois
Hook libraryA DLL que instala os hooks
ProfileQuais hooks anti-debug aplicar

Fluxo de Trabalho Típico de Unpacking

ScyllaHide é geralmente uma peça de um toolkit de unpacking ao lado de suas ferramentas irmãs.

FerramentaPapel
ScyllaHideDerrote anti-debug para que você possa rodar para o OEP
x64dbgDepure e chegue ao Original Entry Point
ScyllaReconstrua a Import Address Table, dump do PE
Detect It EasyIdentifique o empacotador / verifique o arquivo desempacotado
# Conceito: desempacote uma amostra protegida
1. Carregue amostra em x64dbg com ScyllaHide ativado
2. Execute além do stub do empacotador para o OEP (anti-debug foi neutralizado)
3. Dump do processo e reconstrua a IAT com Scylla
4. Verifique o dump com Detect It Easy

ScyllaHide vs Ferramentas Relacionadas

AspectoScyllaHideTitanHideManual patching
CamadaUsermode hooksKernel-mode driverPer-check patches
CoberturaAmplo conjunto de APIStealth de nível kernelApenas o que você patch
SetupPlugin/injectDriver installTedioso
Melhor paraDepuração RE cotidianaNecessidades de stealth mais profundasVerificações pontuais

Recursos