Esta
sección esta dedicada a la memoria de esn-min.
En primer lugar mi agradecimiento en especial a 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 los dos muchas gracias.
Con 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. Gracias!
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.
Analizadores de archivos
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.
Analizadores de procesos
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.
Compiladores y
Ensambladores
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 :).
Depuradores
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
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.
Descompresores
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.
Desensambladores
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.
Editores hexadecimales
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.
Editores de recursos
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.
Monitores de sistema y espias
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.
Parcheadores
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 PE
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.
Tutoriales
\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).
Utilidades diversas
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
Links English
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
Aca les dejo otro ejemplo pàra que aprecien.
Por ejemplo queremos saber el password de un usuario de hotmail y su
e-mail es: julio_acosta@hotmail.com (el mismo mail que en telnet, no
se porque, si existe este e-mail por favor disculpeme si lo ofendo
no se me ocurrio otro).
Bueno entonces le enviamos un e-mail anonimo (ya sabes como hacerlo,
sino vuelve a leer lo del telnet) con una direccion algo asi como
admin@hotmail.com o tambien root@passport.hotmail.com o lo que se te
ocurra y le dices por el e-mail:
------------------------------------
Estimado usuario de hotmail:
Lamentamos informarle que hace dos días
<--pones una fecha pa apantallar-->
un hacker irrumpio en nuestro servidor y robo algunos passwords de
nuestra base de datos, además de que borro los password de nuestra
base de datos, dejandonos sólo con los nombres de usuario, y entre
ellos estuvo usted.
Así que le pedimos que nos mande su contraseña con su nombre de
usuario de inmediato para poder restaurar la base de datos y asi no
quede borrado de la misma y no pueda acceder a su cuenta de hotmail.
Le pedimos que envie la informacion a la siguiente direccion:
recuperar_claves@hotmail.com <--- creamos esta cuenta en hotmail
para hacerlo mas creible. O creas la que deses pero que se mire algo
del tema
Hay una buena noticia, hemos capturado al hacker pero
lamentablemente borro los ficheros y no recuperamos su password.
Administrador de Hotmail
<--inventas un firmilla o algo-->
-------------------------------------
Hay muchisimo más formas de hacer ingenieria social, pero no las
mencionare aqui por falta de tiempo.
Claro que yo ya lo intente con
pagines Web como la de discount bank, y tuve buenos resultados.
Podes intenterlo!
Andres Solorzano Villegas
Si todo sale bien recibiras un e-mail en tu cuenta recuperar_claves@hotmail.com
el nombre de usuario y clave de esta persona, si no quiere decir que
no calló. En estos tiempos es dificil que alguien caiga pero a veces
si caen, tambien caen facilmente los neofitos totales. POr ej. un
compañero de tu salón solamente se conecta a internet para chatear
en el mIRC, y sabes que se conecta con prodigy, que haces le mandas
un e-mail anonimo diciendo que eres el administrador de prodigy le
dices algo parecido en el e-mail anterior, lo del hacker y eso y que
te mande todos los datos, y ya. Es más fácil que esos caigan.