Tener conocimiento en el lenguaje ASM (ensamblador)
Que es ASM
Se denomina lenguaje máquina a la serie de datos que la parte física de la computadora o hardware, es capaz de interpretar.
Una computadora digital o, mejor dicho, su parte física, sólo distingue datos de tipo binario, es decir, constituidos por dos únicos valores a los que se denomina valor 0 y valor 1 y que, físicamente, se materializan con tensiones comprendidas entre 0 y 4.0 voltios y entre 4 y 5 voltios, respectivamente. Para representar datos que contengan una información se utilizan una serie de unos y ceros cuyo conjunto indica dicha información.
Algunos ASM
Masm32 Paquete para programar aplicaciones para Windows con MASM (Microsoft Macro Assembler).
Fasm Ensamblador para DOS, Windows y Linux. Soporta tanto 16, 32 como 64 bits. Open Source.
Nasm Ensamblador alternativo pera orientado mas que nada a Linux. Soporta 16, 32 y 64 bits. Open Source.
Tutoriales de Iczelion: orientado a Windows (MASM32)
Debugger's & Disassembler's
Es un programa usado para probar y depurar (eliminar los errores) de otros programas (el programa "objetivo"). El código a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una técnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones específicas pero será típicamente algo más lento que ejecutando el código directamente en el apropiado (o el mismo) procesador. Algunas depuradores ofrecen dos modos de operación - la simulación parcial o completa, para limitar este impacto.
Entre los mas comunes tenemos
OllyDbg (el mas conocido)
W32 Dasm v8.93
HackAsm Disassembler v8.02
Hex editor
Un editor hexadecimal (o editor de archivos binarios o editor de bytes ) es un tipo de programa de ordenador que permite al usuario manipular la fundamental binarios (0 / 1, cero / uno) datos que componen los archivos de computadora . Tenga en cuenta que los archivos de computadora puede ser muy pequeño (sólo un nombre, sin contenido) a muy grandes (de contenido que abarcan varios discos duros). Un archivo de computadora típica ocupa varias áreas en el plato (s) de una unidad de disco, cuyo contenido se juntan para formar el archivo. Editores hexadecimales que fueron diseñados para leer ("parse") y editar sector los datos de los segmentos físicos de disco o los discos duros a veces fueron llamados editores de sector o de los editores de disco .
Entre estos tenemos
HexWorkshop
WinHex v1.25
Hiew v7.10
HDD Hex Editor v5.04
ICY Hexplorer v5.04
Biew v5.62
Tutoriales
Bien aqui les dejo la web de maestro del cracking Ricardo Narvaja http://ricardonarvaja.info/
Los tutoriales para OllyDbg http://ricardonarvaja.info/WEB/INTRODUCCION%20AL%20CRACKING%20CON%20OLLYDBG%20DESDE%20CERO/
y algunos manuales de Programacion
http://ricardonarvaja.info/WEB/OTROS/PROGRAMACION/