Reversing
Static binary analysis · Crackmes · Challenges
Password numérico hardcodeado identificado por conversión hex a decimal en el disassembly. Patrón cin + cmp + je.
Lógica de comparación hardcodeada e invertida. Solución por parcheo de un byte en 0x117c cambiando je por jne con xxd y dd.
Password en texto claro en .rodata. Identificado con strings y confirmado en el disassembly C++ mediante mapeo de strings por offset.
Binario estático y stripped. Password fragmentado en tres movabs decodificados en little-endian. Similar a Very Special Number v1 pero sin símbolos.
Análisis de bytes en posiciones fijas via objdump y ltrace. Identificación de comparaciones en el disassembly y decodificación de valores hex para obtener el formato de serial válido.
Password ofuscado en el stack via movabs en little-endian. Análisis estático puro para identificar y decodificar el valor correcto.
Keygen via ltrace. El algoritmo alterna tolower/toupper sobre el input del usuario para generar el serial esperado.
Binario en Assembler puro. Password almacenado en texto claro — identificado directamente con strings sin necesidad de análisis de assembly.
Password en texto claro en .rodata — identificado directamente con strings sin necesidad de análisis de assembly.
Función recursiva con jump table de 5 casos. Análisis del disassembly de genNum() e identificación de magic_number1/2 en .data.
Three passwords: plaintext in .rodata, reversed string, and XOR with a one-byte key.
Plaintext password in .rodata. Identified directly with strings, no assembly analysis needed.
Password fragmented in .rodata with static anti-analysis. Requires manual hex dump reading and reconstruction.