Esta
sección esta dedicada a la memoria de esn-min.
Por siempre estas
en nuestro corazón.
En primer lugar mi agradecimiento en especial y con mucho cariño
para Mr Silver :), sin él esta sección no hubiera visto la luz. Y para
Marmota por la aportación de sus programas y su buen hacer. A ambos muchas
gracias :*.
kania.
Con dulce orgullo expongo aquí el último proyecto del buen Marmota, quién por diversos motivos nos lo dejó por terminar, esperemos que alguien lo retome y lo termine, aunque esto supone ponerse a su altura :). Este trabajo de investigación sobre las APIs y las estructuras empleadas en la depuracion de procesos. ¡Ánimo!.
Aquí pego un trozo de mail de su autor para que se hagan una idea:
"Aprovecho para darte unas pequeñas anotaciones sobre el
Demolition.
En w98 su potencia es asombrosa. No se si sabes que algunos
programas usan
varios threads (varios hilos de ejecucion), algunos de ellos
son
exclusivamente monitores que proporcionan una proteccion extra al
programa
principal. Con Demolition puedes terminar el thread que proporciona
la
proteccion y dejar el resto del programa tal y como estaba.
-Los
keyloggers que utilizan Hooks de anchos de sistema quedan
totalmente
inutilizados.
-Puedes "dormir" los antivirus de forma
temporal.
-Inutilizar programas espia.
-Dejar fuera de combate a los
firewall.
-Dominar troyanos.
- Y supongo que mas cosas.
Todo con unos
clicks de raton..."
La ingenieria inversa es una 'ciencia' (perdón si ha alguien le molesta el uso de este término, pero creo que se lo merece) que utiliza unos determinados procesos para conseguir corregir los posibles fallos que un software pudiera tener sin necesidad de disponer del código fuente, estos procesos son realizados la mayoría de las veces por programas especificamente diseñados para tal fin (p. ej. debuggers, desensambladores, editores hexadecimales, programas monitores, y un largo etc.). También puede utilizarse ingeniería inversa para determinar el algoritmo usado en cualquier parte de un programa a fín de averiguar como se ha realizado determinada función.
Son utilidades que nos permiten identificar el tipo de archivo con el cual estamos tratando, mediante técnicas heurísticas y de comparación de cadenas son capaces de indicarnos el tipo y formato de cualquier archivo ejecutable o de cualquier otro tipo.
File Inspector XL es un
completísimo analizador de archivos PE, entre sus múltiples funciones destacan:
información completa y detallada de las cabezeras MZ/PE, cálculo del checksum,
detección heurística de los compresores/encriptadores mas comunes y un sistema
de plug-ins que pemite expandir la aplicación mediante dll's.
EXEScan es un analizador de archivos ejecutables que detecta
los protectores, compiladores y compresores EXE/COM más famosos.
GetTyp
Analizador de archivos, detecta hasta un total de 91 formatos diferentes, 15
formatos de imagen, 402 modificadores de EXE, 144 modificadores PE y soporte
para nombres largos.
File Info Visualiza la información completa de los ejecutables
de DOS y WIN. Ventana gráfica para el chequeo de la codificación/decodificación
del archivo.
Multi
Ripper este
es más un ripeador que un analizador. Permite la extracción de archivos de
imagen y sonido incluidos en programas ejecutables, extrae multitud de formatos
de imagen y de sonido diferentes.
Language 2000 es la
herramienta definitiva para la detección de compiladores. Usando esta utilidad
se puede determinar el compilador utilizado para la creación del archivo binario
o que compresor se aplicó sobre el ejecutable. La base de datos utilizado se
actualiza frequentemente.
Estas herramientas nos permitiran analizar los procesos una vez esta ejecutandose en memoria.
ProcDump
Volcador de procesos en ejecución, permite la edición de la cabezera PE,
volcados parciales, incluye soporte para multitud de compresores/encriptadores y
permite la creacion de scripts para los compresores/encriptadores
desconocidos.
Pupe este es
made in Spain XD. Actualmente, es un conjunto de herramientas para estudiar y
analizar procesos en ejecución. Funciona en las plataformas W9X y, aunque se han
hecho algunos ajustes para su funcionamiento en W2k, algunas funciones no están
disponibles bajo este entorno. Incluye funciones de desensamblado, mapa de
memoria, volcador total y parcial, editor PE, visor de funciones importadas y
parcheador de memoria.
Compilador (compiler): Un complejo programa que convierte en código máquina las instrucciones de ordenador escritas en lenguaje fuente. Tras la compilación, el ordenador es capaz de leer el programa objeto resultante y actuar basándose en él. Para producir el programa objeto, el compilador (a) traduce cada una de las sentencias del lenguaje fuente en sus equivalentes en código máquina (b) incorpora al programa objeto cualesquiera sean las subrutinas de biblioteca solicitadas por el usuario, (c) establece los enlaces de interconexión entre las partes del programa. Los compiladores se diferencian de los programas ensambladores en que, de ordinario, los compiladores generan más de una instrucción en código máquina por cada sentencia fuente, mientras que las instrucciones dadas en un lenguaje ensamblador se corresponden biunivocamente con las del código máquina.
Ensamblador
(assembler): programa que opera sobre otro programa redactado en lenguaje
simbólico con el fin de generar un programa en lenguaje máquina en el proceso de
ensamblado. Conocido también por programa ensamblador, rutina de
ensamblado.
Macro Assembler 32 v 7.0 Ensamblador
para Windows de Microsoft, es el más utilizado para esta plataforma permite
generar aplicaciones Windows tan sólo utilizando lenguaje ensamblador de los
x86.
Nasm
Ensamblador gratuito multiplataforma (Windows, Linux, Beos) muy completo y con
multitud de opciones de compilacion.
Fasm Flat Assembler, permite el ensamblado
de los siguientes juegos de instrucciones 8086-80486/Pentium/MMX/SSE/SSE2,
16-bit y 32-bit. Soporta también macros optimizaciones de código, compila
archivos MZ y PE.
Borland C++
Compiler La versión de línea de comandos del compilador de C++ de
Borland.
LCC-Win32 C
Magnífico compilador de C para Windows, genera unos ejecutables muy optimizados
y de poco tamaño, consta de entorno de programación integrado y
depurador.
DJGPP C/C++ La
versión de MS-DOS del compilador de C de GNU.
Digital Mars C/ C++
Compilador gratuito de C/C++ para Windows, incluye librerías STL y soporte para
MFC.
Watcom
C/C++ El famoso compilador de C/C++ ahora con código fuente
liberado.
Jikes
(Java) Compilador gratuito de Java para Linux.
Free Pascal Compilador de pascal de
32bits, disponible para diferentes procesadores (Intel 386 y compatibles y
Motorola 680x0) y sistemas operativos (Linux, FreeBSD, DOS, Win32, OS/2, BeOS,
SunOS (Solaris), QNX y Classic Amiga).
Turbo Pascal 7.01 fixed El
archiconocido compilador de pascal de Borland para MS-DOS. Parcheado para evitar
errores en procesadores rápidos.
Aparte de los compiladores expuestos aquí esta página cuenta con otra sección de compiladores dentro del directorio de programas :).
Sistema de software integrado en un sistema informático con el fín de
identificar los errores lógicos de los programas (bugs, en la jerga inglesa) y
proporcionar medios para enmendarlos. Tal software es utilizable al propio
tiempo que se hacen funcionar los programas al objeto de que facilite
información relativa a los procesos mientras éstos están teniendo lugar. Un
depurador (debugger) puede disponer de mandatos para mostrar el contenido de la
memoria y de los registros, para insertar valores en posiciones de la memoria, y
para provocar la ejecución de rutinas durante la presentación de datos
importantes que faciliten el diagnóstico de fallos.
Windows
WinDbg Es
un depurador de procesos viene incluido en el SDK de Microsoft, aunque sencillo
es muy útil.
OllyDbg Depurador
de procesos gratuito mucho más completo que su anterior, soporte para plug-ins,
y multitud de opciones que hacen de este depurador una opción muy recomendada si
no desean un depurador de sistema y no se tiene dominio con depuradores más
complejos como SoftIce.
TRW2000 for
W98 Depurador de sistema para W9x, una gran altenativa al SoftIce pero
restringida a los usuarios de Win 9x. Soporte para plug-ins, volcador de memoria
etc.
Turbo Debugger 32
5.5 Depurador de Borland en modo texto (aunque dispone de un cómodo interfaz) a veces
de gran utilidad cuando otros fallan.
Numega SmartCheck v6.03
Depurador de aplicaciones compiladas con VB en modo nativo, definitivamente la
mejor herramienta para depurar este tipo de aplicaciones.
Numega SoftIce v4.01 Magnífico
depurador de sistema, el único depurador para todos los propósitos, herramienta
indispensable para todo "reverser" que se precie.
WKT Visual Basic
Debugger Depurador de aplicaciones compiladas para VB en modo p-code, el único de
su categoría, indispensable para tratar con los engendros programados en
VB. Por Mr.
Silver & Mr. Snow.
Linux-Unix
PrivateICE Depurador símbólico de
sistema, lo más parecido al SoftIce para las plataformas que corren
Linux.
GNU Visual Debugger
GVD, el depurador visual de GNU, depurador gráfico y expandible bajo licencia
GNU y escrito en ADA usando GNAT y el kit de desarrollo GtkAda.
KDbg Entorno gráfico de
usuario para el gdb, el depurador de GNU. Proporciona un interfaz intuitivo para
establecer puntos de ruptura, inspeccionar variables, y trazar el
código.
Kdb - KDE Built-In
Kernel Debugger Este depurador es parte del kernel de linux y proporciona
métodos para examinar la memoria del kernel y estructuras de datos mientras el
sistema continua operativo.
Data Display Debugger DDD
es un front-end
para depuradores de línea de comandos como GDB, DBX, WDB, Ladebug, JDB, XDB, el
depurador de Perl o el depurador de Python. A parte de las características
estandard como la visualización de los textos fuente, DDD se ha hecho famoso
gracias a su visualizador gráfico de los datos, donde las estructuras de datos
son visualizadas como gráficos.
Un descompresor es un programa capaz de obtener el ejecutable original antes de que fuera procesado por el compresor/encriptador, o por lo menos una imagen descomprimida que pueda ser ejecutada y funcional. Los compresores son muy populares hoy en día debido a que ofrecen cierto nível de protección contra los curiosos crackers.
Armadillo Killer v2.01 Descompresor para el Armadillo.
CASPR v1.012 Descompresor para
AsProtect.
AspackDie v1.3e Descompresor
para AsPack.
Bye PE_Crypt v1.02 fixed
Descompresor para el PECrypt.
de-CodeCrypt v0.164b
Descompresor para el CodeCrypt.
dePE-PROTECT Descompresor para
PEProtect.
CD-Cops Decrypter v0.9
Descompresor para la protección de CD CD-Cops.
CUP v1.2 Descompresor para varios
compresores de MS-DOS (Pklite,LzExe etc.).
DeYoda v1.0 Descompresor para
este encriptador de Yoda.
DeX v0.99.1 Descompresor para el PEX
v0.9.
DeShrink v1.6 Descompresor para
el Shrinker
DePE-PACK v1.3 Descompresor
para el PE-Pack.
EXELOCK 666 Descompresor para
este protector de DOS.
Generick Unpacker W32 v1.0.08
Descompresor genérico, permite descomprimir cualquier ejecutable comprimido
valga la redundancia, aunque su uso no es fácil es muy potente para compresores
desconocidos.
HASP Extractor v1.00
Descompresor para el envelope de las mochilas HASP, para versiones de
MS-DOS.
PEunCompact v0.01 Descompresor
para el PECompact.
PeDiminisher Unpacker v1.0
Descompresor para el PeDiminisher.
PE Password Protector
Deprotector Descompresor para el PE Password Protector.
PCGuard Decryptor v0.7
Descompresor para PCGuard
Petite Enlarger v1.3
Descompresor para PEtite.
PEUnlock-NT Descompresor para
PE-LOCK NT.
SSUNSHL v1.0 Descompresor para la
protección de ejecutables de las mochilas Sentinel Super Pro.Protection
Remover.
tEunlock by r!sc Descompresor
para tELock.
tELock v0.60 Otro descompresor
para tELock.
tNO-PEUnc v1.5 Descompresor
para PECompact.
LameCrypt Unpacker
Descompresor para LameCrypter.
Ned v2.31 Descompresor para los
ficheros de VB 3.0 comprimidos con SHRINKER 3.xx.
NoodleKiller v1.0 Desencriptador
para el NoodleCrypt 2.
Ni2Untelock Descompresor
para el tELock.
The Bit-Arts Solution v1.2 Conjunto
de descompresores y utilidades para la descompresión de los productos de
bit-arts.
UNPCPECa Descompresor para
PCPEC version alpha.
unPES by Unknown One Descompresor
para PESHiELD versiones 0.1b, 0.1c, 0.1d, 0.2b, 0.2b2 y 0.25.
UnFSG v0.4 Descompresor para los
archivos comprimidos con FSG.
UnDBPE v1.5 Descompresor para
dbpe.
UnVGCrypt v0.1 Desencriptador
para VGCrypt.
unNFO Descompresor para NFO
v1.0
UNP V4.11 Descompresor para varios
programas de MS-DOS, PKLite LZExe y muchos más.
UnPECompact v1.32
Descompresor para PECompact.
UnPEncrypt v1.0 Descompresor
para PEncrypt v3.1.
VBOLock Generic Unpacker v2.3
Descompresor para VBOLock versiones 1.0,1.1,2.0,2.1,2.2 y
Intermedia.
WKT_tElock_Dumper v1.2 Descompresor para tElock hasta su versión 0.60.
Un programa desensamblador nos permite la obtención del código máquina de
cualquier programa compilado y su análisis, algunos de estos programas son
capaces de generar código compilable y se diferencian en los decompiladores en
que estos últimos son capaces de obtener el código fuente original del programa
en vez del código máquina, la mayoria de estos esensambladores son especificos
para los lenguajes interpretados como Java.
Windows
DeDe
(Delphi) DeDe es un programa muy rápido que puede analizar ejecutables
compilados con Delphi 2,3,4,5,6 Builder Kylix y Kol, y puede obtener datos como:
Todos los ficheros dfm, los metódos públicos comentados en ASM, referencias a
cadenas, funciones importados y mucho más.
Revendepro (Delphi) Revendepro encuentra todas las estructuras
(clases, tipos, procedimientos, etc) en un programa escrito en Delphi, y genera
la representación en Pascal, los procedimientos se escriben en
assembler.
Jad (Java) Jad es un
decompilador de Java gratuito para uso no comercial, que convierte los ficheros
de clases compilados en código fuente que pueden ser recompilados de
nuevo.
DeCafe
Pro (Java) DeCafe es el decompilador de Java más rápido para Win95/98/NT,
reconstruye el código fuente original contenido en los ficheros de clases.
Decafe es capaz de decompilar los applets y binarios de Java más complejos,
dando como resultado el código fuente más cercano posible.
J++
Extract (Java) Utilidad de línea de comandos que extrae ficheros de clase de
Java contenidos en ejecutables compilados con Visual J++.
IDA Pro 4.0 El desensamblador por
excelencia, soporta múltiples juegos de instrucciones, utilizado por la mayoría
de profesionales de la ingeniería inversa así como programadores de drivers,
antivirus etc. La herramienta indispensable para obtener el desensamblado más
fiable.
W32Dasm 8.93++ Desensamblador y
depurador para Windows, soporta 16 y 32bits, de fácil manejo aunque no tan
versatil como el IDA Pro es una opción interesante para los
iniciados.
Dodi's VB4
Desensamblador de VB4, de mucha utilidad para los programas compilados con esta
versión de VB.
ExDec (VB P-code) Decompilador
de VB 5 y 6, decompila archivos compilados en p-code, sencillo pero de gran
utilidad junto con el WKTVBDebugger.
VBDE (VB) Esta herramienta es capaz de recuperar partes de código fuente y desplazamientos de rutinas de archivos compilados en VB.
ExWise
(WISE) Decompila instalaciones WISE, código fuente incluido.
IsDcc
(Installshield hasta v5.5) Decompilador de instalaciones
Installshield.
I5comp
(desensambla Installshield v5) Decompila instalaciones de Installshield 5 y
5.5.
I6comp
(desensambla Installshield v6) Decompila instalaciones de Installshield
6.
palmdeMON
(desensamblador para Palm Pilot 3com) palmdeMON es un desensamblador, visor de
recursos y depurador integrado para la Palm Pilot 3Com, Handspring Visor y
derivadas.
Valkyrie Clipper Decompiler
Decompilador para Clipper, obtiene el código fuente de cualquier exe compilado
en clipper.
Clipper Summer '87 Decompiler
Decompilador de Clipper para la version Summer '87.
ReFox 8.0 (Fox Pro Decompiler) Decompilador de Fox Pro, obtiene el código fuente a partir del ejecutable.
Linux-Unix
LDasm LDasm
(Linux Disassembler) es un interfaz de usuario en Perl/Tk-based para las
utilidades objdump/binutils que imita al W32Dasm de Windows. Busca referencias
cruzadas, convierte el código de sintáxis AT&T a Intel, traza programas y
mucho más. Incluye PTrace un monitor de flujo de ejecución.
Sourcery Sourcery es un desensamblador interactivo.
Un editor hexadecimal nos permite analizar archivos byte a byte, algunos editores incluyen opciones sofisticadas como búsqueda de cadenas, modo de inserción de bytes y edición de sectores de disco.
Windows
Biew es visualizador
avanzado de archivos gratuito y portable que incluye un editor en modo binario,
hexadecimal y de desensamblado. Incluye un desensamblador con coloreado de
sintaxís para las instrucciones de PentiumIV/K7-Athlon/Cyrix-M2, representación
completa de cabezeras MZ, NE, PE, LE, LX, DOS.SYS, NLM, ELF, a.out, arch,
coff32, PharLap, formatos ejecutables rdoff, un guía de código, y muchas más
características, que lo convierten en una herramienta indispensable para el
análisis de código binario. Existen versiones para DOS, Win32, OS/2, Linux, BeOS
y Unix.
Hiew
Editor hexadecimal con desensamblador incorporado, de los más utilizados hoy en
día por su reducido tamaño y gran utilidad.
Ultraedit Spanish Version Mucho más
que un mero editor hexadecimal permite la edición rápida de archivos de texto de
gran tamaño inserción de bytes, busqueda de cadenas y mucho
más.
Linux
Biew Este es lo mismo que para Windows, pero para
Linux.
KHexEdit KHexEdit es un editor hexadecimal personalizable y muy versatil. Visualiza datos en hexadecimal, octal, binario y en modo texto. Permite la inserción de nuevos datos y la busqueda y reemplazo de cadenas. Posee funciones para deshacer/rehacer los cambios y la salida de texto en formato HTML. Esta diseñado para integrarse en el entorno KDE pero puede ser utilizado como un programa independiente mientras las librerías KDE y QT estén instaladas en el sistema.
LFHex Editor hexadecimal para
ficheros de gran tamaño. Múltiples modos de edición: binario hexadecimal y
octal. Funciones de búsqueda y mucho más.
Estas utilidades nos permite editar los recursos contenidos en los ejecutables, aún careciendo del código fuente original podremos cambiar iconos, fuentes, diálogos etc.
Borland Resource Workshop v4.5
Editor de recursos, programado por los genios de Borland fue suprimido en las
siguientes versiones de los compiladores de Borland por su gran capacidad para
editar recursos. Un arma indispensable para la edicion de
recursos.
Resource Builder Permite
la definición de recursos para su posterior compilación, ideal para generar
cuadros de diálogos para los compiladores que no disponen de editor de
recursos.
Resource Hacker
Editor de recursos al estilo del Borland Resource Workshop aunque mas
sencillo.
EXEScope Si
deseas personalizar una aplicación, p. ej. cambiar las fuentes, los menús, el
formato de los diálogos y crees que es imposible, esta utilidad te permite hacer
todo eso y más, al estilo del Borland Resource Workshop.
Los programas monitores o programas espian nos permiten analizar las operaciones realizadas por otros programas tales como los accesos a archivos, llamadas a funciones del sistema o cualquier otra actividad que pueda ser analizada.
Windows
API Log v1.3b2 ApiHooks permite a
los desarrolladores examinar las comunicaciones entre procesos. De utilidad para
la confección de monitores de archivo, de registro, volcadores, antivirus o
descompresores.
API Monitor
APi Monitor es un software que monitoriza y visualiza las llamadas a APIs
realizadas por las aplicaciones. Una herramienta muy potente para ver como
funcionan las aplicaciones Windows o para localizar problemas que existentes en
tus aplicaciones.
API Spy Permite
examinar cualquier API conocida que sea resuelta en el tiempo de carga de la
aplicación y sea detectada por APISpy. Funciona en 9x/NT y con aplicaciones
Win32 que sean ejecutadas bajo Win95/98.
Registry Monitor Un monitor de acceso a archivos de bajo
nível, para Windows.
Spy & Capture Herramienta de
espionaje para Windows. Utiliza el posicionamiento directo del ratón para
obtener las propiedades de la ventana y todos sus objetos, estilos y clases así
como el proceso que creó la ventana.
File
Monitor Un monitor de acceso a archivos de bajo nível, para
Windows.
Debug View Sencillo monitor del
API OutputDebugString, muy útil para tareas de programación que requieran la
detección de errores.
VeoVeo 3.0 (Marmota)
VeoVeo es una pequeña utilidad escrita 100% en win32asm. Sirve para visualizar
los carácteres escondidos en los controles de edición con la característica
PASSWORD activada, o dicho de otro modo, sustituye los asteriscos que aparecen
en algunos diálogos, por los carácteres reales.
A.H.E SpyMonitor (Marmota) Detector de programas espia, muy
útil para detectar keyloggers y troyanos.
Wingestor (Marmota) Esta utilidad es similar al Spy and Capture aunque con el Wingestor podremos incluso habilitar botones y menús deshabilitados.
Linux
cxmon
Utilidad de línea de comandos que permite la manipulacion de archivos, inspirado
en el "Amiga Monitor" de Timo Rossi. Tiene comandos similares a los de un
depurador de codigo, pero le faltan funciones de trazado. Dispone de versiones
para varias plataformas.
ltrace es un programa depurador que ejecuta un comando hasta
que finaliza. Mientras el comando está en curso, ltrace intercepta y registra
las llamadas a librerías ejecutadas por el proceso y las señales recibidas por
ese mismo proceso. También puede interceptar y imprimir las llamadas de
sistema.
etrace Permite la
visualización del árbol de llamada de una función de un programa escrito en C en
tiempo de ejecución. También es posible volcar el resultado de un programa a un
archivo ASCII para su posterior examen.
Libros
Windows 95 System Programming Secrets por Matt Pietrek: Libro indispensable para todo aquel que desee conocer los misterios y entresijos de este sistema operativo. Una joya de la literatura informática ;).
The Art Of Assembly Language Programming: Magnífico libro que nos enseña como programar en ensamblador para las plataformas x86 de Intel, trata los diferentes dispositivos del PC desde el teclado a la pantalla además de los diferentes direccionamientos de memoria etc. Indispensable.
Reverse Compilation Techniques por Cristina Cifuentes: Magnífica tesis que detalla con todo lujo de detalles las técnicas más utilizadas en la ingeniería inversa, enfocada básicamente a la construcción de decompiladores y desensambladores.
Reverse
Engineering From Assembler to Formal Specifications via Program
Transformations: Este documento estudia un caso específico en el cual se
usan técnicas automatizadas más transformaciones manualmente direccionadas y
abstracciones para convertir código ensamblador de IBM 370 en un lenguaje
abstracto de alto nível.
Recovery
of Jump Case Statements from Binary Code por Cristina Cifuentes y Mike Van
Emmerik: En este documento se describen técnicas para la recuperación de
tablas de saltos (switch..case) desde código máquina a lenguajes de alto
nível.
Procedure Abstraction Recovery From Binary Code por Cristina Cifuentes y Doug Simon: Se explica como recuperar llamadas de alto nível desde código binario: recuperación de sus parámetros y valores de retorno de manera independiente a la máquina. Para ello se usa un lenguaje de especificaciones, PAL que también se describe.
A Structuring Algorithm For Decompilation por Cristina Cifuentes: En este documento se presenta un algoritmo estructurado para grafos desestructurados y reducibles. Los grafos se estructuran en otros grafos semanticamente iguales, sin necesidad del replicado del código o la introducción de nuevas variables. El algoritmo usa estructuras como if..then..elses, while, repeat y loop y sentencias case. Se utilizan Gotos sólo cuando el grafo no puede estructurarse con ninguna de las sentencias antes mencionadas. El algoritmo es adecuado para el análisis necesario en la decompilación de programas, dado que el código binario no incluye información tal y como existía en el compilador y el lenguaje utilizado en la construcción del programa original.
Interprocedural Data Flow Decompilaytion por Cristina Cifuentes: Este documento explica los métodos utilizados en un conocido decompilador de C llamado dcc. En el se explican las técnicas utilizadas para la recuperación del flujo del programa y sus datos.
Thinking In Java por Bruce Eckel: Edición electrónica de este conocido libro que te enseñará Java de arriba a abajo ;)
Linux Device
Drivers: Edición electrónica de este libro que explica como programar
controladores de dispositivo para Linux.
Inside C#: Edición electrónica de este libro de Microsoft Press que nos enseña a programar en lenguaje C#.
Inside Microsoft Windows 2000 Third Edition: Edición eléctronica de este libro que nos muestra los secretos y trucos de este sistema operativo.
Programming Windows with MFC 2nd Edition: Edición electrónica de este libro de Microsoft Press que nos enseña a programar aplicaciones usando las conocidas MFC de Visual C++.
Undocummented
Windows NT: Otro libro que nos desvela algunas secretos no documentados de
este sistema operativo orientado a servidores.
Borland
C++ Builder Unleashed ISBN: 0672310228.
Thinking in C++ 2nd Edition Volume 1 & Volume 2 ISBN: 0139798099.
Tom Swan's Mastering Borland C++ 5, Third Edition ISBN: 0672308029.
C++ Interactive Course by Robert Lafore, MacMillan ISBN: 1571690638.
C++ Neural Networks and Fuzzy Logic by V Alluru B.Rao, IDG Books ISBN: 1558515526.
Object Windows Programmers Guide Volume 3 by MacMillian ISBN: 0672309246.
en Memoria
Los parcheadores de memoria permiten la modificación de datos
en memoria mientras el programa esta siendo ejecutado, las ventajas de estos
programas radica en que son capaces de alterar el programa sin tener que
modificar el ejecutable, evitando así de esta manera posibles controles de
integridad del archivo.
Process Patcher Una gran
utilidad de línea de comandos que permite el parcheado de una aplicación Win32
en tiempo de ejecución.
R!SC Process Patcher v1.51 Es un
generador de archivos EXE que actuan como parcheadores de procesos del programa
indicado. Los ejecutables son generados desde un sencillo lenguaje de
script.
Launcher generator v1.03 es otro
generador de archivos exe, similar al anterior.
Extreme Loader Generator v0.3
Igual que los anteriores, totalmente compatible con Windows
9x/NT/2000.
Yoda's Process Patcher También igual a los
anteriores. Permite elegir ícono para el EXE generado, incluye el código
fuente.
en Archivo
Los parcheadores de archivos son programas que nos permiten alterar los
datos de un programa en disco, su utilidad pasa desde la generación de
actualizaciones o remiendo de fallos a la creación de cracks.
CodeFusion v3.0 Es un generador
avanzado de parches para Win 9x/NT. Permite comparar dos ficheros y crear un
ejecutable que contenga las diferencias que se aplicaran al EXE de destino.
Consta de interfaz, chequeo CRC32, y permite el parcheado directo mediante el
desplazamiento dentro del archivo o bien mediante búsqueda y reemplazo de una
cadena de bytes.
Embryo Patcher v1.2 Compara dos
ficheros y escribe las diferencias a un pequeño ejecutable de Win32. Rápido y
fácil incluye interfaz de usuario.
PGPE 1.0.01 Generador de parches
específico para ejecutables comprimidos/encriptados,
PatchEngine v1.33 Utilidad con interfaz de usuario que permite la generación de un ejecutable conteniendo las diferencias entre dos archivos. Permite elegir el ícono para el ejecutable. Compatible para W9x/NT/2000.
Utilidades para la modificación y edición de los archivos PE de Windows.
Code Snippet Creator v1.05.2 Permite
crear tus propios injertos de código en ensamblador y añadírselos directamente a
cualquier ejecutable.
Checksum Corrector Utilidad
para corregir la suma de control de cualquier archivo PE (CRC).
Import Reconstructor v1.3 Permite
la reconstrucción de las tablas de importación (IAT) de los archivos PE, muy
útil para recuperar archivos ejecutables comprimidos y volcados directamente
desde memoria.
Imhotep v1.06.5 (ArthaXerXes)
Utilidad que nos permite eliminar el código basura de cualquier ejecutable de
Intel x86.
PEBrowse
Pro Gran utilidad para la edición de archivos PE, permite su desensamblado y
edición de la cabezera PE.
PE Editor Editor de archivos PE
y volcador de procesos en ejecución.
PE Explorer Editor PE, también
permite el desensamblado de los archivos PE
PE Realigner by yoda
03.V.2001 Utilidad para realinear las secciones PEa un tamaño
determinado.
PEView (OBJ,DLL,LIB,EXE)
Visualizador de archivos PE, también permite ver archivos OBJ y
LIB.
Revirgin v1.4 Utilidad para la
reconstrucción de archivos PE comprimidos que fueron volcados desde memoria,
reconstruye las estructuras PE dañadas para que el ejecutable funcione
correctamente.
Topo v1.2 Topo nos permite añadir
secciones a cualquier PE de Windows, podemos especificar su tamaño y nombre así
como el valor de relleno.
\0x90\ Tutorial Ingeniería inversa de software novatos en win32.
In Tether Reversing
Magnífico Tutorial de Mav3rick Luke que nos explica como desproteger el sistema
de protección de datos InTeTher.
PE Studio By nuMIT_or Magnífica suite de tutoriales encaminados al estudio de la cabezera PE, por numit_or.
Ricardo Narvaja Cracking Tutorials Recopilacción de las lecciones de cracking de Ricardo Narvaja, mas de 60 lecciones para aprender a crackear desde 0.
SentinelLM_Cracking.rar Tutorial que nos explica como atacar el sistema de protección Sentinel License Manager.
TKC Tutorials Compilación de tutoriales de TKC/Phrozen Crew, muchíisimos tutoriales de este gran reverser y founder de uno de los grupos de cracking más populares.
ow to patch PEC 1.41 Tutorial que explica como parchear un archivo comprimido con PECompact usando métodos alternativos a los que se utilizan en el parcheo de ejecutables comprimidos.
TNT Reversing SoftSentry Tutorial de TNT que explica como desproteger el sistema de protección SoftSentry en su versión v3.0.
TNT-Whats behind the hardlock HL_API Tutorial que trata sobre las mochilas Hardlock que ocultan y como atacar este sistema de protección.
Asprotect Manual unpacking Tutorial que explica como descomprimir manualmente cualquier programa protegido con Asprotect.
CRC Information Valioso
tutorial que nos explica los estresijos de los conocidos CRC, muy utilizados en
la verificación de errores. Nos explica como esquivar un algoritmo de CRC
cambiando los bytes originales. Muy didáctico.
Cryp Key Cracking Tutorial que nos explica como hundir en la miseria al sistema de protección CryptKey, muy popular por su elevado coste y bajo rendimiento :P.
Ecd Gran colección de tutoriales de diversos autores recopilados por el grupo de cracking hispano WKT (Whiskey Kon Tekila).
Ultra
Search Pequeña utilidad para la búsqueda de cadenas en archivos, permite la
búsqueda de cadenas en formato "wide char" y ASCII.
raw2db
Pequeño programa que nos convertirá archivos binarios a su formato en
representación hexadecimal para ensamblarlo en un archivo ASM.
IceDump Utilidad indispensable
para el SoftIce, extiende las posibilidades de este magnífico depurador además
de ocultarlo contra las técnicas anti-debugging más usuales.
Karpoff
Marmota
& Crack el Destripador :)
http://teleline.terra.es/personal/guillet/indexa.htm
Reversed Minds
:P
Askatasuna
Cracker's Society
http://kickme.to/askatasunakrackers
Tutorial
Letal
http://oberon.spaceports.com/~tutorial/
ECCE
http://orbita.starmedia.com/~eidanyos/index.htm
ProTools by Kaparo
http://www.programmerstools.org/
Programmer's
Heaven
http://www.programmersheaven.com/
Tsehp
EliCz Home
Page
http://www.anticracking.sk/EliCZ/
VXHeavens
RCE Message
Board
http://www.woodmann.com/upload/index.php
Immortal
Descendants
http://www.woodmann.com/IDArchive/ID-RIP/index.htm
Linux
Reversing Tools
http://hcunix.org/hcunix/tools.html
The Cracking
For Newbies FAQ
Crack PL
Tools