anti-reversing-techniques
por wshobsonanti-reversing-techniques es una skill de ingeniería inversa para análisis de malware autorizado, retos CTF, triaje de binarios empaquetados y auditorías de seguridad. Te ayuda a detectar patrones de anti-debugging, anti-VM, empaquetado y ofuscación, y a elegir un flujo de análisis práctico con la skill principal y la referencia avanzada.
Esta skill obtiene una puntuación de 78/100, lo que la convierte en una candidata sólida para el directorio: ofrece a los agentes señales claras de cuándo activarla y una guía operativa sustancial para contextos autorizados de ingeniería inversa. Aun así, conviene prever cierto criterio manual, ya que el repositorio es principalmente documentación y no incluye herramientas ni un flujo de instalación.
- Alta capacidad de activación: la descripción indica explícitamente cuándo usarla (análisis de malware, anti-debugging para CTF, binarios empaquetados, detección de VM).
- Buena profundidad operativa: `SKILL.md` es sustancial e incluye definición de entradas y salidas, flujos de trabajo, restricciones, bloques de código y material avanzado enlazado como referencia.
- Señal de confianza presente: la skill se abre con una guía explícita sobre uso autorizado, alcance y cumplimiento legal para trabajo de seguridad de doble uso.
- La adopción se basa solo en documentación: no hay scripts, reglas, recursos ni comandos de instalación que reduzcan la incertidumbre de ejecución dentro del runtime de un agente.
- Algunas tareas de este ámbito requieren de forma inherente el criterio de un analista experto, por lo que la skill puede no volver ejecutables de forma fiable trabajos complejos de unpacking o bypass sin herramientas externas.
Visión general de la skill anti-reversing-techniques
La skill anti-reversing-techniques es una ayuda de ingeniería inversa para analistas que necesitan reconocer, explicar y sortear protecciones de software habituales durante análisis autorizados. Encaja especialmente bien en análisis de malware, retos CTF, investigación de seguridad, triaje de binarios empaquetados y pruebas de herramientas defensivas cuando el anti-debugging, el anti-VM, el packing o la ofuscación están bloqueando el avance.
Lo que esta skill realmente te ayuda a hacer
La necesidad real no es “aprender todos los trucos anti-reversing”. Es pasar de una muestra protegida que se resiste a las herramientas habituales a un plan de análisis práctico: identificar protecciones probables, elegir pasos de investigación más seguros y evitar perder tiempo en una ruta equivocada de unpacking o depuración.
Usuarios para los que mejor encaja
Esta anti-reversing-techniques skill encaja con:
- Ingenieros de reversa que se encuentran con detección de depuradores o stubs de entrada empaquetados
- Analistas de malware que hacen triaje de binarios sospechosos
- Jugadores de CTF que implementan o eluden comprobaciones anti-debug en entornos de reto legales
- Auditores de seguridad que validan si las protecciones interfieren con los flujos de evaluación
Es menos útil para secure coding general, estrategia de hardening de aplicaciones o teoría básica de malware sin una muestra o un comportamiento objetivo concreto.
Diferenciadores principales
Frente a un prompt genérico de “¿cómo hago ingeniería inversa de este binario?”, anti-reversing-techniques te da un mapa estructurado de:
- qué entradas importan antes de empezar el análisis
- qué comprobaciones comunes de anti-debugging y de entorno conviene probar primero
- patrones de detección específicos de Windows
- señales de flujo de trabajo centradas en packers y en el OEP
- material de seguimiento más avanzado en
references/advanced-techniques.md
Eso la hace más valiosa cuando necesitas un marco de partida rápido, no una revisión académica extensa.
Restricción importante antes de instalar o usar
Esta skill es explícitamente de doble uso. Está escrita solo para contextos autorizados: análisis de malware, software propio, pentests autorizados, investigación académica o entornos CTF. Si tu caso de uso implica eludir protecciones de software de terceros sin permiso, esta no es la herramienta adecuada y probablemente tampoco el flujo de trabajo correcto.
Cómo usar la skill anti-reversing-techniques
Contexto de instalación de anti-reversing-techniques
La skill original no publica un comando de instalación local al repositorio dentro de SKILL.md, así que los usuarios del directorio suelen añadirla desde el repositorio padre de skills:
npx skills add https://github.com/wshobson/agents --skill anti-reversing-techniques
Una vez instalada, carga la skill cuando tu tarea incluya binarios protegidos, evasión de depuradores, packers o detección de entorno.
Qué leer primero en el repositorio
Para adoptar la skill por la vía más rápida, lee los archivos en este orden:
plugins/reverse-engineering/skills/anti-reversing-techniques/SKILL.mdplugins/reverse-engineering/skills/anti-reversing-techniques/references/advanced-techniques.md
SKILL.md cubre la base práctica. references/advanced-techniques.md es donde conviene ir cuando la muestra parece empaquetada, virtualizada u hostil de forma intencionada al desensamblado.
Qué información de entrada necesita la skill
Obtendrás resultados mucho mejores si aportas entradas concretas de análisis en lugar de pedir “todas las técnicas anti-reversing”. Algunas entradas útiles son:
- ruta del binario o tipo de muestra
- sistema operativo y arquitectura
- sospecha de packed vs unpacked
- comportamiento observado en el depurador
- cadenas, imports o APIs ya encontradas
- si la muestra sale, se cuelga, falla o cambia de comportamiento dentro de una VM
- tu cadena de herramientas, como
x64dbg,IDA,Ghidra,WinDbg,DIEoPEiD
Una entrada débil:
- “Help me reverse this protected executable.”
Una entrada sólida:
- “Analyze an authorized 64-bit Windows PE that exits immediately under
x64dbg, importsIsDebuggerPresentandCheckRemoteDebuggerPresent, and appears packed inDIE. I need a triage plan for anti-debug checks, likely packer identification, and where to look for the OEP.”
Cómo convertir un objetivo difuso en un prompt sólido
Los mejores prompts combinan alcance, síntomas y formato de salida deseado. Una plantilla útil incluye:
- qué es el binario
- qué estás autorizado a hacer
- qué se ha observado ya
- qué herramientas puedes usar
- qué resultado necesitas a continuación
Ejemplo:
“Use the anti-reversing-techniques skill for an authorized malware-analysis lab. I have a Windows PE sample that detects my VM and behaves differently under a debugger. Give me a prioritized workflow to identify anti-VM and anti-debug techniques, likely APIs or instruction patterns to inspect, and safe next steps before dynamic unpacking.”
Esto funciona mejor que los prompts amplios porque la skill rinde más cuando puede relacionar síntomas con familias de técnicas probables.
Flujo de uso típico de anti-reversing-techniques
Un patrón práctico de anti-reversing-techniques usage es:
- Confirmar autorización y alcance
- Identificar plataforma y clase de protección probable
- Hacer triaje estático de imports, cadenas, secciones y señales de packer
- Comprobar ramas anti-debug comunes antes de entrar en trazas profundas
- Decidir si conviene desempaquetar primero o instrumentar el comportamiento primero
- Usar el material de referencia avanzado solo si los patrones comunes no explican el comportamiento
Este orden importa. Muchos usuarios pierden tiempo lanzándose al desensamblado completo antes de confirmar si la muestra está empaquetada o bloqueada por comprobaciones simples de depurador.
Cuándo consultar la referencia avanzada
Abre references/advanced-techniques.md cuando veas señales de:
- protectores comerciales como
Themida,VMProtectoEnigma - stubs de entrada comprimidos o cifrados
- flujo de control roto por trucos anti-disassembly
- una necesidad probable de encontrar y volcar el Original Entry Point
- lógica anti-VM que sigue activa incluso tras una limpieza básica del entorno
Esa referencia es especialmente útil para reconocimiento de packers y metodologías de unpacking manual, incluida la lógica centrada en el OEP.
Suposiciones prácticas sobre herramientas
La skill está alineada de forma más natural con flujos de reversing en Windows. Hace referencia a herramientas y patrones habituales orientados a PE, como:
DIE/ Detect It EasyExeinfo PE/PEiDx64dbg- herramientas de reconstrucción de imports como
ScyllaoImpREC
Si trabajas sobre todo con binarios Mach-O de macOS o ELF de Linux, los conceptos siguen siendo útiles, pero conviene asumir que tendrás que adaptar los ejemplos y las APIs.
Consejos que mejoran de forma tangible la calidad de la respuesta
Para obtener resultados de más valor con la guía anti-reversing-techniques, incluye:
- el primer punto de fallo observable
- si la ejecución cambia dentro de una VM
- APIs sospechosas, comprobaciones de PEB, timing checks o comportamiento de excepciones
- nombres de secciones, pistas de entropía o firmas de packer
- si necesitas explicación, triaje o un flujo de trabajo completo
Esto permite que la skill distinga entre anti-debugging, anti-VM, packing y simples fallos de ejecución, que a menudo se parecen a primera vista.
Bloqueos habituales al adoptar la skill
Los principales bloqueos no suelen estar en la instalación. Normalmente son:
- intentar usar la skill sin una muestra o un comportamiento concreto
- esperar instrucciones de unpacking de un solo paso para cualquier protector
- pasar por alto el límite legal o de autorización
- asumir que la referencia avanzada sustituye la evidencia práctica del depurador
Si buscas una herramienta de automatización lista para usar, esto no es eso. Es una skill de apoyo a la toma de decisiones para analistas.
Preguntas frecuentes sobre la skill anti-reversing-techniques
¿anti-reversing-techniques es buena para principiantes?
Sí, si ya conoces las herramientas y la terminología básicas de ingeniería inversa. No, si empiezas desde cero. La skill asume que puedes inspeccionar imports, ejecutar un depurador y describir el comportamiento de un binario. Ayuda sobre todo en la fase de “tengo una muestra y necesito un plan”.
¿Esta skill es solo para análisis de malware?
No. También encaja en CTFs, investigación sobre protecciones de software, práctica de unpacking y anti-reversing-techniques for Security Audit cuando las protecciones bloquean pruebas legítimas. Pero el flujo sigue centrado en análisis de binarios, no en revisión de políticas ni en selección de productos.
¿En qué se diferencia de un prompt normal?
Un prompt normal suele producir listas genéricas de anti-debugging. La anti-reversing-techniques skill es más útil porque está organizada en torno a las entradas del analista, el orden del flujo de trabajo y las categorías de protección reales que es más probable encontrar durante el triaje.
¿La skill incluye guía avanzada sobre packers?
Sí, pero está dividida con criterio. El SKILL.md principal sigue centrado en patrones comunes, mientras que references/advanced-techniques.md cubre packers, localización del OEP, unpacking manual y técnicas anti-análisis más nicho.
¿Cuándo no debería usar anti-reversing-techniques?
No uses anti-reversing-techniques cuando:
- no tengas autorización
- tu tarea sea secure coding genérico y no análisis de binarios
- necesites un unpacker totalmente automatizado en lugar de guía de análisis
- tu problema sea principalmente de auditoría web, cloud o de código fuente
¿Basta con instalar anti-reversing-techniques?
La instalación por sí sola no es el principal criterio de decisión. También necesitas:
- un contexto de análisis legal y autorizado
- un binario o un conjunto concreto de síntomas
- herramientas para inspeccionar el comportamiento en ejecución
- disposición a iterar después del triaje inicial
Sin eso, la skill seguirá explicando conceptos, pero la calidad de la salida será bastante menor.
Cómo mejorar la skill anti-reversing-techniques
Empieza por el síntoma, no por la lista de técnicas
La mejor forma de mejorar los resultados de anti-reversing-techniques es describir lo que observaste antes de pedir métodos. “Debugger closes after entry” o “sample only fails in VM” es mucho más accionable que “list anti-debug tricks.”
Aporta pronto el contexto del binario
Incluye:
- formato de archivo y arquitectura
- sistema operativo objetivo
- compilador o protector probable, si se conoce
- si el archivo parece empaquetado
- qué herramienta produjo cada observación
Esto ayuda a la skill a no mezclar tácticas no relacionadas y mantiene la respuesta más cerca de tu entorno real.
Pide hipótesis priorizadas
Un buen prompt pide una lista corta priorizada de:
- mecanismos de protección más probables
- evidencia que respalda cada uno
- qué verificar a continuación
- qué resultado confirmaría o descartaría la hipótesis
Eso es mucho más útil que pedir un catálogo gigantesco de técnicas anti-reversing.
Mejora los prompts con fragmentos de artefactos
No necesitas pegar un binario completo. Pequeños artefactos mejoran mucho la calidad:
- imports sospechosos
- líneas del log del depurador
- anomalías en la tabla de secciones
- cadenas destacables
- un fragmento corto de desensamblado alrededor de la rama que falla
Estos detalles suelen revelar si te enfrentas a comprobaciones basadas en API, inspección del PEB, lógica de timing o stubs de packer.
Modos de fallo habituales que conviene evitar
Los usuarios obtienen resultados débiles cuando:
- piden pasos de bypass sin describir la muestra
- omiten detalles de plataforma
- saltan el contexto de autorización en tareas de doble uso
- confunden packing con anti-debugging
- esperan detalles específicos de Linux o macOS a partir de un conjunto de ejemplos muy centrado en Windows
La mayoría de las malas salidas vienen de entradas poco concretas, no de la skill en sí.
Itera después de la primera respuesta
Usa la primera respuesta para recopilar la evidencia que falta y vuelve a lanzar el prompt con los hallazgos:
- nuevos imports identificados
- indicadores anti-VM confirmados o descartados
- si se encontró el OEP
- si el volcado o la reparación de imports tuvieron éxito
La skill anti-reversing-techniques gana mucho valor en la segunda pasada porque el espacio de búsqueda ya es más estrecho.
Combina la skill principal con la referencia avanzada de forma selectiva
No entres en references/advanced-techniques.md por defecto. Úsalo cuando la muestra parezca claramente empaquetada, virtualizada u hostil a un desensamblado normal. Así mantienes un flujo más rápido y evitas forzar explicaciones avanzadas sobre casos simples.
Cómo mejorar anti-reversing-techniques para Security Audit
Para anti-reversing-techniques for Security Audit, plantea el prompt en función de los resultados de auditoría:
- qué protección bloquea la evaluación
- si necesitas detección, explicación o reproducción
- cuánto detalle técnico es apropiado para el entregable al cliente
- si el objetivo es acceso para el analista, validación de protecciones o comunicación del riesgo
Eso desplaza la salida desde curiosidades de ingeniería inversa hacia evidencia que un equipo de seguridad pueda usar de verdad.
