-----------------------------------------------------------------------------
| |
| |
| Pequeño Larrouse Ilustrado De cracking Para Newbies |
| |
| |
| Por |
| |
| |
| |
| Vil Roach |
| |
-----------------------------------------------------------------------------

" Antes de empezar, deja que insista en la importancia que el cracking tiene en nuestra vida cotidiana. El cracking no sólo tiene que ver con el software, sino con la información, crackear es no aceptar ser controlado ni ser utilizado por otros , crackear es ser libre . Pero debes abandonar ciertas convicciones para poder realizarlo correctamente.

Debes aprender a discernir cualquier posibilidad para crackear que pueda estar a tu alrededor, y creeme , el desarrollo de la nuestra patética sociedad, nos brinda nuevos códigos a diario, nuevas protecciones y mecanismos de ocultación.

Todo lo que nos rodea genera un mundo de códigos y secretos y algunos patrones no tan secretos . Los códigos a veces nos resultan tan familiares que incluso ni les prestamos atención ... y están hay para engañarnos , y ciertamente ofrecen maravillosas posibilidades de crackearlos.

Cojamos como ejemplo los códigos de barras... esas pequeñas líneas que puedes ver en los libros que compras, en las botellas que cojes , en cualquier objeto que tengas a tu alrededor ... Sabes cómo funcionan ? Si no lo sabes estas disculpado , pero no lo estas si alguna vez sentiste el impulso de
saberlo... los crackers son curiosos por naturaleza ... herederos de una raza de buscadores casi extinta que no tiene nada en común con los esclavos de la televisión y de la publicidad ni con los zombies que nos rodean. Un cracker debe ser capaz de ir más haya de lo que es obvio , ver conoci-
miento donde otros ni tan siquiera pueden ver ni aventurarse. "

+ORC

Esta introduccion de +ORC expresa precisamente lo que es el cracking para mi, el cracking es la capacidad de leer y entender donde los demas no pueden, es la capacidad de comprender como funciona lo que nos rodea y forzarlo al maximo para que nos beneficie , no importa si es un programa shareware , una proteccion de seguridad (HACKING!!) , un sistema como los codigos de barra o la sociedad misma, el cracking es simplemente entender a la perfeccion como funcionan estos sistemas y Quebrarlos ! ;)

Quiza el maximo nivel del cracking sea el Reality Cracking , un tema muy fascinante y sobre el cual nosotros, Trenchcoat Legion, esperamos muy pronto dominar, y por que no ?

TRATAR DE CONQUISTAR EL MUNDO !!!

Bienvenidos a este interesante texto, mi intencion al crearlo es la de proveer una fuente de informacion para los crackers NEWBIES que muchas veces se ven impedidos de continuar leyendo un tutorial al encontrar un tremino o un concepto desconocido, la intencion es actualizarlo a lo largo del tiempo con la colaboracion de todos los crackers que leen tcdiaries, los terminos estaran organizados segun su tematica y tratare de ser lo mas claro posible.

Bienvenidos !

Indice General :

Tipos de proteccion (Conociendo nuestros enemigos)

Terminos Generales (El Abc)

Herramientas (Nuestras Armas)

Tipos de Cracks e intentos de Crack ;) (El arte de matar el enemigo)

Instrucciones basicas del Softice

Ensamblador (El principio de todas las cosas)

Funciones basicas del Api de windows (O el arte de los Breakpoints)

Tecnicas Anti-Cracking (El contra-ataque)

Terminos de la escena (Dominando la jerga)

-----------------------------0---------------0--------------------------------
 

1. Tipos de proteccion (Conociendo nuestros enemigos)

Serial/Name : El tipo de proteccion mas conocido y usado, y quizas el que mas nos gusta a los crackers Newbies ;) Consiste basicamente en simple dialogo donde introducimos uno o mas datos personales (nombre, compania, etc) y un codigo que se nos ha entregado por el programador a cambio de unos cuantos verdes ;) Hay de dos tipos, uno en el que el codigo depende directamente de los datos personales , y otro muy escaso en el que el codigo simple mente obedece a unas cuantas leyes impuestas por el programador ( que la suma de los digitos pares sea divisible por 7 , por ejemplo. Las formas de crackearlo son varias , van desde encontrar un serial valido con un debugger, parchear el codigo para que acepte cualquier serial o hasta hacer un key-generator

Nag-Screen : Una nag-screen es simpelmente una ventana o pantallazo que nos recuerda que no estamos registrados y que debemos hacerlo pronto. Cuando no existe la posibilidad de registrar el programa , aun podemos desaparecer estas pantallas buscando la funcion que las llama y eliminandola.

Sudden Death : Este tipo de protecciones tambien muy comun consiste en imposibilitar la ejecucion del programa cuando haya pasado una cierta cantidad de tiempo o el programa se haya ejecutado una
cierta cantidad de veces . Cuando no es posible registrar el programa debemos buscar funciones que obtengan el tiempo y la fecha y cambiar el salto o saltos necesarios. Otra forma seria buscar el lugar donde el programa guarda la fecha de instalacion y arreglarla ;)

Key-Files : Este metodo de proteccion es basicamente una variacion del metodo Serial/Name ya que en esta ocasion el numero serial se ve remplazado por un archivo que nos manda el programador y cuyo contenido puede o no puede depender de nuestros datos personales.Definitivamente mas sabrosos de crackear que los seriales aunque lamentablemente mas dificiles de encontrar :(

Install-Shield : Esta es basicamente una proteccion tipo Serial/Name,solo que se nos piden estos datos al tratar de instalar el programa. Es uno de los metodos mas usados en los programas comerciales en los que nos piden algun codigo de licencia que debemos tener (Microsof Office , Microsoft Windows XX , AutoCad, etc).

Cdrom Protection : Muy comun en los juegos, consiste basicamente en verificar la existencia de un cd-rom para poder ejecutar los juegos,o para leer datos "superfluos" como la musica o videos . Si es el primer caso solo debemos parchear la rutina de verificacion, pero si es el segundo caso vamos
a tener mucho trabajo ;) Muchas veces van acompañadas de protecciones comerciales anti-copia de CDs.

Dongles - Mochilas : Una mochila (Dongle en ingles) consiste basicamente en un aparatito que se debe conectar al computador , generalmente en el puerto de la impresora o en el serie ) y sin el cual el programa no puede funcionar. Es casi lo mismo que un Cd-Rom, solo que una mochila es mas dificil de copiar, y generalmente mas dificil de crackear . Para los mas aventajados un BreakPoint muy util es BPIO el cual nos permite saber cuando se trasmiten datos en un determinado puerto.

Crippled Software : Un programa crippled es la peor pesadilla de un cracker, ya que es basicamente un programa que no se puede registrar y que tiene las funciones mas importantes deshabilitadas ; aunque no nos podemos rendir tan facil ya que muchas veces los estupidos programadores compilan el
mismo programa para distribuir y solo le cambian alguna flag antes de compilarlo lo que significa que podemos tener el programa completo en nuestro disco; otra opcion si somos lo suficientemente inteligentes como para ella, consiste basicamente en tratar nosotros de programar esa funcion (SIMPLEMENTE ALUCINANTE) :)

Visual Basic Programs : Pongo este tipo de programas aqui porque hacer un programa en VB es casi que una tecnica de proteccion, esto se debe a que los programas VB no tiene su codigo adentro, sino que mas bien tiene una serie de llamadas a una dll que cambia dependiendo de la version del  compilador (Vbrun400.dll,msvbm50.dll,msvbm60.dll, etc) por lo cual es casi inutil desesamblar un programa de estos . Incluso con un debugger la tarea es muy dura ya que el codigo consiste en una rutina que llama otra, que llama otra, etc y los Breakpoints son muy distintos ya que no funciona ninguno de los breakpoints tradicionales , en vez debemos usar algunos como: rtcmsgbox, __vbastrcopm , __vbastrcmp, etc . Si quieren mas usen algun programa que les muestre las funciones exportadas por la DLL del cracking. Por cierto no deben olvidar agregar estas lineas al Winice.dat del softice :
EXP=c:\windows\system\vb40032.dll
EXP=c:\windows\system\vbrun300.dll
EXP=c:\windows\system\msvbvm50.dll
EXP=c:\windows\system\msvbvm60.dll

2. Terminos Generales (El Abc)

* En esta seccion se veran los terminos comunes y no tan comunes que podemos encontrar en un tut*

Hexadecimal : Sistema de numeracion en base 16 , en el cual se codifica el codigo ASM y por lo tanto en el cual debemos modificarlo.

Asm - Ensamblador - Codigo Asm : Todos estos terminos se refieren a el lenguaje al que es traducido un programa para que pueda correr en un computador, es lo mas importante en el cracking de programas , ya que es lo mas cercano que podemos tener al codigo fuente del programa y por lo tanto la unica manera de conocer su interior.

API : Un API es una serie de funciones guardada s en librerias y creadas con el objetivo de servir como herramienta para programar un tipo de software especial, asi el API de windows es una gran serie de funciones guardadas en DLLs y creadas para programar en windows, estas dll principalmente son : kernel32.dll, user32.dll, gdi32.dll. En estos archivos , estan guardadas las principales funciones con las que se programa windows y obviamente las que usan nuestras victimas ;)

DLL : Archivo en formato PE que reune fucniones o recursos con el fin de que estos sean usados por otros programas , ahorrando de sta forma espacio y recursos. Asi windows es una serie de DLLs que estan mapeadas en memoria y que constantemente llaman los otros programas.

Desensamblador : Un desensamblador como su nombre lo dice, es un util programita que nos muestra lo que seria el codigo en asm del programa , algo DEMASIADO util como sabran si tienen algo de cerebro ;) el mas conocido es el WDasm8X y el que casi todo el mundo usa , pero el problema es que es algo
basico y cuando nos encontramos con algo realmente protegido lo mejor sera usar el IDA, el desensamblador perfecto!.

Debugger : Un debugger es un programa que basicamente nos permite ver el codigo Asm de los programas en tiempo real , es decir mientras el programa se esta ejecutando, un debugger lo podemos llamar en cualquier momento y en ese momento nos mostrara lo que se esta las instrucciones Asm que se esten ejecutando . Tambien nos permitira husmear por la memoria del sistema y observar el estado de los registros y las flags , la mayoria nos permitiran cambiar algunas instrucciones en tiempo real . Como veran la utilidad en el cracking es mucha , por ejemplo buscar el serial valido en la memoria, o cambiar un salto desicivo en la evaluacion del serial.

Editor Hexadecimal : Programa que nos permite observar el contenido de un archivo tomando los datos de este como datos en Hexa. indispensable para ejecutar EXEs.

Breakpoint : Un breakpoint , es basicamente una orden para un debugger y mediante la cual al cumplirse cierta condicion en el sistema el debugger se detendra y nos mostrara el codigo en asm ; podemos poner breakpoints dependiendo de muchas condiciones : acceso a memoria, acceso a registros , llamadas a funciones, interupciones, etc . El mas comun y el que mas usaremos es el breakpoint por funciones del API de windows, por ejemplo esta orden en el Soft-Ice : Bpx MessageBoxA, pondria un breakpoint en la funcion MessageBoxA y Soft-Ice se pararia cuando cualquier programa llamara esta funcion.

Registros : Un registro es una pequeña zona de memoria (en windows 2 bytes ) con la caracteristica que es de muy rapido acceso y se usa para guardar datos importantes del programa como posicion de la pila, direccion de retorno , variables para un afuncion, etc. Los registros mas tipicos en Win32 son EAX en el cual se guarda el valor de retorno de muchas funciones , ECX el cual sirve de contador, EBX el cual sirve para guardar valores, ESP el cual paunta a el principio de la pila y la pareja EDI-ESI para mover bytes de una zona de memoria a otra.

Flag : Una flag es una variable que puede tener solo dos variables, 1 o 0, en la programacion se usa mucho para saber el estado de algo ( registrado o no registrado) y generalmente es un valor que se guarda en una zona fija de memoria y se consulta a lo largo del programa. El procesador tambien cuenta con un registro de 8 bits, del cual cada uno reprsenta una flag distinta; se modifica con un cmp o varias sentencias Asm

Registro de windows : El registro de windows es una gigantesca base de datos donde windows guarda todos los datos necesarios para su funcionamiento y configuracion , y donde los programas pueden guardar los datos que quieran ( Serial/Name,Fecha de expiracion , etc ). Es como el remmplazo de todos los archivos .ini de win16.

Proceso : Un proceso en windows es una zona de memoria con una parte de codigo y otra dedicada a los datos, cada porgrama en windows es un proceso y como tal puede crear otros procesos los cuales se ejcutaran independientemente del proceso padre.

PE(Portable Executable) : Formato que define los archivos executables de Win9X , WinNt , Y WinCE, se creo inicialmente para el NT y al ser este un SO que debe corre sobre plataformas , se le dio el apelativo de Portable , esta formado por una serie de Headers,Tablas,y secciones.

File Mapping : Tecnica usada en los ambientes Win32 , para la manipulacion de archivos , que consiste simplemente en desplegar los bytes de un archivo de igual forma en la memoria , y de esta forma manipularlos directamente , como si lo hicieramos en el disco.

Handle : Entero de 2 bytes (32 Bits) que identifica algun "objeto" de windows. Este entero los usan los programas con el fin de identificar ventanas, controles, precesos, archivos y casi todo en Windows.

NOP (NO oPeration) : Instruccion en ensamblador que no hace nada y con la cual podemos remplazar bytes tranquilamnte en un porgrama.

Puntero : En asm trabajamos la mayoria de tiempo con punteros , los cuales simplemente son numeros que indican una zona de memoria donde esta guardado un dato. EN win32 son de 32bits.

Offset : Un ffset es un concepto muy importante en programacion y es basicamente un desplazamiento en memoria en base a otro valor de memoria , por ejemplo [esp+10] es un offset de 10 en base a ESP.

3. Herramientas (Nuestras Armas)

WDasm : Desensamblador para Win32 principalmente. URL : www.Crackstore.com Seccion Tools

Ida - Ida Pro : El mejor desensablador, reconoce una gran cantidad de formatos

Softice - Sice : Excelente debugger para windows de la casa Numega . URL : www.Crackstore.com seccion Tools

Hiew (hackers View) : Excelente y clasico editor hexadecimal que incluso nos permite ver el archivo en codigo ASM, recomendado . URL : www.Crackstore.com

Tasm (Turbo Assembler) : El mejor compilador de Assembler que hay ;) y que cuando seamos mas "serios" nos servira para crear nuestros patchers,loaders , trainers,key-generator y cualquier programa que se nos ocurra.

Int 3 : La interrupcion 3 del procesador, es una interrupcion especial del procesador que cuando se ejecuta llama al debugger del sistema, su codgo en Hex es CC. De esta forma, si queremos que el programa se detenga en algun lugar particular remplazamos un byte por CC, y luego para que se detenga con sofice ponemos BPINT 3 y listo, luegocon la instruccion A restauramos el antiguo valor del byte.

Win32.hlp : Este archivo es uno de los mas importantes para el cracker ya que es una referencia completa de todo el API de windows. IMPRESCINDIBLE.

Apis32 : Este programa esun monitorizador de las funciones del API de windows, también permite la exportación de simbolos , o sea que podemos exportar una DLL para que el APIS32, monitorize tambien las funciones de esa dll, muy util en sistemas de proteccione comerciales que dependen de una dll,con lo que se puede monitorizar cualquier función que se encuentre en una DLL.

FileMon : Programa que nos permite observar todas las llamdadas de los programas de windows relacionadas con archivos. Muy util para key-files e investigar donde se guarda un serial. Es recomendable ponerlo a la hora de instalar o ejecutar por primera vez un programa para ver los archivos "sospechosos" que cree en nuestro disco. URL : www.Crackstore.com

Regmon : Programa que nos permite monitorear todos los accesos de los procesos activos al registro de windows. Con una utilidad similar al anterior. URL: www.Crackstore.com

ProcDump : Util porgramilla que nos permite volcar a disco cualqueir proceso activo de windows. Muy util para cuando trabajemos con archivos encriptados o solo necesitemos el codigo de un determinado proceso. Tambien nos permite editar y averiguar muchas de las caracteristicas de un archivo PE. URL : www.Crackstore.com

SmartView : Excelente producto de la casa Numega creado con el fin de debuggear programas en Visual Basic. Nos permite observar el comportamiento de un EXE de VB y ver sus llamadas a funciones, errores y memoria entre muchos otros. La mejos opcion cuando queremos encontrar un serial en un porgie VB. URL : www.Crackstore.com

Frogsice : Pequeña utilidad que nos permite "esconder" soft-ice ante programas que traten de detectar este. URL : www.Crackstore.com

CodeSnippet Creator : Excelente programita que nos permitira generar trozos de codigo para insertar en un .exe, e incluso nos prepara el .exe para que pueda fucnionar correctamente con el nuevo codigo.

CodeFusion : Excelente programa que nos permite generar Patches en base a nuestros cracks facilmente. Simplemente le ponemos los offsets que queremos cambiar, por que valores y listo !

WinPatch : Utilidad similar a la anterior solo que esta compara los dos archivos y crea el patch.

Regedit : Util herramienta que viene con el propio windows y que nos permite manipular el contenido del registro de windows.

4. Tipos de Cracks e intentos de Crack ;) (El arte de matar el enemigo)

Tracear : Tracear un programa consiste basicamente en seguirle la pista a la ejecucion de un programa mientras este se ejecuta con la ayuda de un debbuger, es como rastrear o seguirle el rastro al programa.

Tracear a lo retro : Es una forma de tracear un programa en la cual el breakpoint esta luego de la parte que nos interesa, y a partir de ahi comenzamos a estudiar la parte de atras del codigo, generalmente el breakpooint es en la funcion MessageBox y ahi comenzamos a ver el codigo anterior en busca de saltos o calls sospechos.

Live Aproach : Esta tecnica de crackear un prgrama consiste basicamente en hacerlo con un debugger mientras el codigo esta "vivo" y de ahi su nombre.

Dead List (O listado muerto) : Esta tecnica de crackear consiste en estudiar el codigo desesamblado, o "muerto".

Patch : Un patch es un simple programita que abre un archivo, generalmente .exe, y que le cambia unos cuantos bytes, con el fin de modificar el comportamiento del programa. He aqui un ejemplo de un patch, hecho en Pascal por el fabuloso TkC :

Uses Crt;
Const A: Array[1..1] of Record {<-------- 1 byte to be patched}
A : Longint;
B : Byte;

End =
((A:$3DCD;B:$EB)); {<--------------- offset "3DCD" and byte "EB" to be changed}
Var Ch:Char;
I:Byte;
F:File;
FN:file of byte;
Size:longint;
Begin
Writeln('TKC''s Little Patch');writeln('Crack for QVP 4.0 by TKC/PC ''97');
Assign(F,'ORDER32.EXE'); {<-------------- filename to be patched}
{$I-} Reset(F,1); {$I+}
If IOResult <> 0 then
begin
writeln('File not found!');
halt(1);
end;
For I:=1 to 1 do {<---------------------- 1 byte to be patched}
Begin
Seek(F,A[I].A);
Ch:=Char(A[I].B);
Blockwrite(F,Ch,1);
End;
Writeln('File successfully patched!');
End.
 

Key-Generator : Programa que emula la funcion con la cual un programa genera codigos validos para su registracion y que requieren un buen conocimiento del cracker acerca del programa, una variacion
de estos pueden ser los File-Generators, los cuales tambien crearan files de registracion validos. He aqui un ejemplo de un pequeño key-gen en QBasic :

CLS
RANDOMIZE TIMER
DIM digitos$(11)
digitos$(1) = "C"
digitos$(2) = "2"
digitos$(3) = "6"
digitos$(4) = "4"
digitos$(5) = LTRIM$(STR$(INT(RND * 10) + 1))
digitos$(6) = "1"
digitos$(7) = LTRIM$(STR$(INT(RND * 10) + 1))
digitos$(8) = "3"
digitos$(9) = LTRIM$(STR$(INT(RND * 10) + 1))
digitos$(10) = LTRIM$(STR$(INT(RND * 10) + 1))
digitos$(11) = LTRIM$(STR$(INT(RND * 10) + 1))
FOR x = 1 TO 11
PRINT digitos$(x);
NEXT x
PRINT " Code for Smile Shell 1.5 - Courtesy of Vil Roach/Trenchcoat Legion "
PRINT " A big hi! to Barry ;)"

Loader : Es un programa que se ejecuta antes del ejecutable que queremos modificar, y cuando este esta en memoria modifica unos bytes del codigo ejecutable,se debe usar cuando no podemos parchear el archivo .exe, lo cual puede ser por que el ejecutable esta comprimido, encriptado o simplemente usan rutinas para verificar la originalidad del ejecutable. El proceso es simple primero se ejecuta loader.exe,luego este ejecuta el programa y con funciones especiales de windows modifica la memoria del otro programa.

Trainer : Un trainer se parace a un loader en que modifica la memoria de otro programa, pero el en lugar de modificar codigo, modifica datos que guardan variables del programa. Generalmente se usan de ayuda en los juegos aumentando el numero de vidas, puntaje, etc.

5. Instrucciones basicas del Softice

BPX : Breakpoint on execution - Pone un breakpoint que se ejcuta en el momento en el que se ejecute la funcion que le pasemos como parametro o la direccion de una funcion. Ej : BPX MessageBoxA .

BPM : Breakpoint on memory access - Pone un breakpoint que se activara cuando se intenete leer o escribir la zona de memoria dada como parametro. Ej: BPX bffbf9f0.

BPINT : Pone un breakpoint que se activa al ejecutarse la interrupcion pasada como parametro. Ej: BPINT 20

BPIO : Pone un breakpoint que se activa al leerse o escribirse en el puerto pasado como parametro

BPMSG : Pone un breakpoint que se activa al momento en el que la bventana cuyo handle le dimos como primer parametro se le envia el mensaje de ventana que le damos como segundo parametro. Ej : BMSG 0660 WM_PAINT

HWND : Nos enseña todos los handles de los procesos acticos de windows .

TASK : Nos enseña la lista de tareas ejecutandose en windows.

PROC : Nos enseña informacion acerca de los procesos actuales.

BL : Nos muestra una lista de todos los breakpoints.

BC : Elimina el breakpoint cuyo numero le indiquemos. Acepta el comodin "*"
como parametro.

BD : Deshabilita un breakpoint temporalmente.

BE : Habilita un breakpoint deshabilitado anteriormente.

D : Display Memory - Nos eneseña el contenido de la memoria que le pasemos como paraametro, un segundo parametro puede ser la cantidad de bytes que queremos ver. Ej d eax L 6.

? : Evalua la expresion que le demos como parametro. Ej : ? ax >> 1

WD : Muestra o oculta la ventana de memoria.

WC : Muestra o oculta la ventana de codigo.

WR : Muestra o oculta la ventana de registros.

WX : Muestra o oculta la ventana de registros extra del MMX.

WMSG : Nos enseña todos los mensajes de ventana.

Lines : Nos permite escoger el numero de lineas que va ha mostra el sice, entre mas lineas mas grande la pantalla del Sice, recomiendo valores grandes, a no ser que necesitemos mirar la pantalla por alguna razon.

Width : Nos permite establecer el numero de columnas del Sice. Muy parecido al anterior.

A : Nos permite cambiar el codigo del programa. Ej : A 00405368

Altkey : Nos permite cambiar las combinacion de teclas que llama al sice.

6. Ensamblador (El principio de todas las cosas)

**Este no es un curso de Asm, simplemente aclararte las instrucciones de Asm basicas para el cracker newbie**

Mov : Mov mueve (32 bits) de un lugar a otro.

Xor : Aplica una simple operacion xor a los parametros pasados, si el parametro se repite, este se pone a cero, es decir : xor eax, eax -> eax = 0

Or : Aplica una operacion Or a los operandos, modificando las flags y el operando destino.

Call : Mueve el flujo de la aplicacion hacia la direccion indicada, donde seguramente hay una rutina que termina en Ret.

Ret : Finaliza una Call, y devuelve el control de flujo a la siguiente instruccion luego de la call.

Test : Aplica una simple operacion and a los operandos sin modificar estos, solo modifica las flags. Se usa generalmente para saber si un registro contiene un cero o no. Test eax, eax. activara las flag de zero solo si eax es cero, si es cualquier otro numero este no se activara. Es muy comun cuando estemos crackeando encontranos algo asi : Test eax, eax - je 00405282, aqui el salto se realizara si eax es cero.

Jne : Salta a la direccion que se le pasa como parametro solo si la flag zero no esta activada.

Je : Salta a la direccion que se le pasa como parametro solo si la flag zero esta activada.

jmp : Salta a la direccion que se le pasa como parametro incondicionalmete.

Push : Introduce un valor en la pila.

Lea : Mueve al primer parametro el puntero a donde apunta el segundo parametro.

Cmp : Compara el contenido de dos registros modificando las flags en base a los resultados. Si los valores son iguales la flag zero se activa.

Repnz : En realidad rep es el corazon de la instruccion y se puede pasar z o nz, asi lo que hara sera ejecutar la siguiente instruccion mientras que la flag zero no este activada (nz)y si es repz lo hara mientras la flag z este activada.

Scasb : Mueve un byte del puntero ESI (Source), hasta EDI (Destination), se puede llamar tambien como scasw en cuyo caso movera un Word.

Not : Le apliga una simple operacion not al operandor.

Dec : Decrementa en 1 el operando.

Inc : incrementa en 1 el operando. Por ejemplo es mucho mas elegante poner un inc eax, dec eax en vez de nop, nop.
 

7. Tecnicas Anti-Cracking (El contra-ataque)

Trucos anti-sice : Son numerosos los programas que implementan trucos de programacion que detectan el soft-ice y detienen la ejecucion del programa. Tenemos dos soluciones : usar otro debugger,
o usar una utilidad que esconda el sice como FrogsIce, o similares.

Trucos Anti-dasm : Estos son mas raros, pero consisten en extrañas formas de codigo que pueden hacer que el Disansembler se bloquee o no responda muy bien.

Encriptacion de ejecutables : Esta si es mucho mas comun y consiste basica- mente en encriptar o comprimir el ejecutable para que en tiempo de carga y con una rutina de unos cuantos bytes restaurar el ejecutable, impidiendo de esta forma el desesamblamiento del codigo real. Solo es util cuando es un metodo propio del programador, ya que si se usan utilidades comerciales como ASPack, estas seran desencriptada facilmente por su propia utilidad anti-aspack, y lo peor de todo es que existen packers freeware igual de buenos.

Protecciones de CD-ROM : Existen tambien muchas protecciones para CD-ROM comerciales como C-Dilla Safe-disk, y muchos mas.

Cadenas encriptadas : Esta tecnica consiste en encriptar las cadenas del programa ya sea con un simple xor, con lo cual se dificulta mucho la busqueda de estas, y debemos hacer un Live
Aproachh.

8. Terminos de la escena (Dominando la jerga)

** Aqui encontraras terminos que un amateur debe conocer o saber a que se refiere **

+ORC : Cracker de mediados de los 90s lgendario, un Dios para muchos crackers un buen cracker para el resto de nosotros. En realidad +ORC es toda una leyenda por su elegante forma de decir las cosas y su gran inteligencia, a el se debe la creacion del HCU.

HCU : High Cracking University - Institucion virtual creada por +ORC con el fin de repartir los mejores tutoriales de crack entre los mejores crackers.

Fravia : Toda una institucion dentro del cracking, es un monstruo en lo que a recopilacion de informacion se requiere y sus paginas, suelen ser muy buenas. De el es la Academy of cracking fravia, LA MEJOR pagina de cracking que existe y cuya direccion esta en nuestra page ;)

TKC : The Keyboard Caper - Otro de los crackers-institucion, fundador del CIA(crackers in action) y conocido por sus Tutor's, un archivo que sale casi quincenalmente y que recopila varios tuts de crack, antes eran en formato .exe, pero ahora estan en un formtao creado por TKC por lo cual
necesitaremos un visor especial, definitivamente recomendados !.

Protools : Protools es una web-page con varios urlsiendo protools.cjb.net el mas conocido en la cual encontraremos casi todas las tareas necesarias para la ingenieria inversa : decompilers, debuggers, compilers, unpackers, etc.

Crackme : Simple programa creado generalmente por un cracker con el unico fin de que este sea crackeado, generalmente se usa como ejercicio, pero tambien se puede usar para hacer tests para entrar en un team, o algo asi.

Cracker Notes : Una recopilacion de ensayos, datos y tutoriales de crackin creados con el fin de englobar casi todos los conocimientos que un cracker debe conocer.

----------------------------0---------------0--------------------------------

Hasta aqui llego la version 1.0 de este Texto, aunque se esperan prontas actualizaciones con la ayuda de todos ustedes .

Vil Roach/Trenchcoat Legion - What the hell am I doing here?
I don't belong here
 



--IR AL MENÚ PRINCIPAL--