Novedades Desafíos Papers y H-Zine Proyectos Foro
foros de discusión

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Resumen-Intro de CRACKING.
Farid
post Aug 23 2007, 06:34 PM
Post #1


Farid
Group Icon


Group: Root Admin
Posts: 1,490
Joined: 1-June 07
From: Argentina
Member No.: 2,479



En realidad ni es intro al cracking, es intro al ASM y OLLYDBG.

Puse en el otro post el tuto de narvaja y les dije que explicaba muy detalladamente todo. Ahora... talvez alguien no tiene ganas de leerse las 150 paginas y quiere saber que viene en el TUTO.
Bueno, Me tome la molestia de releer el tuto (por 3ra vez XD) e ir tomando notas de lo que habla... así que saque algunos puntos de lo que me pareció mas importante hasta la pagina 126 (donde se termina la introduccion al ASM y el ollydbg, en la pagina 127 ya empieza a crackear... lo entretenido... pero se joden, eso lo leen por su cuenta jaja).


Ok ahi vamos:

1.- Instalacion del ollydbg: Lo bajas, descomprimes y ejecutas.
2.- Agregar Plugins Options -> Directories -> Plugin path, pones la carpeta donde quieras poner los plugins y reinicias el ollydbg.
Pagina con plugins: http://www.openrce.org/downloads/browse/OllyDbg_Plugins
3.- Las ventanas en ollydbg. Explica las diferentes partes del programa. Destacan a izquierda arriba la de desamblado, derecha arriba registros, izquirda abajo dump y derecha abajo la pila.
4.- Algunas otras cositas del ollydbg:
F2 = pone Breakpoints -> cuando pones un breakpoint el programa se detiene donde lo pusiste.
F7 = ejecuta una sola linea (entra en el call si estas en uno)
F8 = ejecuta una sola linea (no entra en el call)
Barra espaciadora = introduce una instrucción
F9 = corre el programa
F12 = debug-pause

5.- Sistemas numericos: Se mete en algo de rollo de transformación de hexas a binarios y a decimales y ascii... mejor usen la calculadora de windows s no quieren meterse en mucho rollo XD (y si si quieren meterse como yo por las dudas de que sirva mas adelante lean como usar el command bar o con modify desde el registro).
6.- La pila... se empieza a poner bueno. Explicación de lo que es la pila (como una pila de platos, o como dice el como una baraja de cartas apiladas, por eso se llama pila).
Explica un par de registros importantes como:
esp -> header de la pila (la ultima carta en el mazo)
eip -> lo que se esta ejecutando
(los seleccionamos de registro y vemos adonde nos lleva en la ventanita del stack)
EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI y EIP -> toman valores variables. Y cada uno tiene subdiviciones, por ejemplo:

---------EAX------
---AX--
AH-AL

Donde si EAX es 12345678, AX es 5678, AH 56 y AL 78.
7.- FLAGS. o Banderas aparecen en la ventanita de registros, son CPAZSTDO y explica que significa cada uno cuando esta encendido(1) o apagado(0).

8.- Explica instucciones:
NOP -> no hace nada, completa huecos vacios
PUSH -> Agrega un valor a la pila
POP -> lo quita y lo guarda en un registro que le asignemos.
PUSHAD -> guarda el contenido de todos los registros en la pila (osea hace un PUSH EAX, ECX, EDX, etc)
POPAD -> Lo contrario, toma los valores de la pila y los guarda en los registros
POPA y PUSHA hacen lo mismo que POPAD y PUSHAD pero solamente ponen o sacan de la pila al registro 16 bits.

9.- Instrucciones para mover:
MOV EAX, EBX -> mueve registros. En este caso EBX a EAX (es un ejemplo se puede usar cualquier registro).
Para mover posiciones de memoria se usan DWORD (mueve 4 bytes), WORD (mueve 2 bytes) o BYTE (mueve 1) de la siguiente forma:
MOV AX, WORD PTR DS:[405008]
en ese caso mueve dos bytes de la posicion de memoria 405008 a AX (registro de 2 bytes[16bits])
MOVSX hace lo mismo pero copia en un lugar del primer operando en el doble del tamaño del segundo... osea, rellena los bits que sobran con el valor del bit mas significativo.
MOCZX lo mismo pero rellena con 0's en lugar de usar el bit mas significativo.
LEA -> mueve de una direccion de memoria a un registro
XCHG -> pasa el valor del primer registro al segundo (y viceversa)

10.- Instrucciones matematicas:
INC y DEC la primera incrementa en 1 al operando y la segunda le resta.
ADD -> suma el valor del primero al segundo operando (y lo almacena en el sengudo)
ADC -> Suma 2 operandos y le suma el valor del flag C
SUB -> igual que add pero para resta.
SBB -> igual que ADC pero le resta el valor del flag C
MUL -> multiplica y no tiene en cuenta sign
IMUL -> lo mismo pero con signo
DIV e IDIV -> lo mismo pero para divicion
XADD -> es CXCHG y ADD juntas, osea, las cambia de lugar y luego las suma, la utilidad es que el valor de la suma se guarda en el primer operando, entonces al cambiarlos de lugar cambia el lugar donde se guarda el valor.
NEG -> cambia el signo (positivo-negativo)

11.- Instrucciones lógicas:
AND -> tira resultado 1 si los dos bits son 1 y 0 en caso de que sean dos 0 o un 1 y un 0. HAce la operacion en cada bit de los 2 operandos.
OR -> lo mismo pero tira 0 si y solo si los 2 valores son 0, sino tira 1.
XOR -> si son 2 bits iguales tira 0, si son diferentes (0 y 1) tira 1.
NOT -> invierte el valor (not 1 = 0, not 0 = 1 xD)

12.- Comparaciones y saltos: (MAS INSTRUCCIONES)
CMP -> es como SUB pero no cambia los registros, cambia los flags.
TEST -> igual que en el anterior pero en lugar de emular un SUB hace un AND
Saltos:
JMP -> salta a la direccion que le indiquemos.
De ahi hay otros que no detallare pues en el tuto de narvaja hay dos tablitas que explican lindo y resumido esto:
JE, JZ, JNE, JNZ, JS, JNS, JP, JPE, JNP, JOP, JO, JNO, JB, JNAE, JNB, JAE, JBE, JNA, JNBE, JA, JL, JNGE, JNL, JGE, JLE, JNG, JNLE, JG .... todos saltan con alguna condicion diferente.

13.- CALL y RET: (MAS INSTRUCCIONES)
CALL -> Ejecuta una parte del programa, osea la llama.
RETN -> Indica el final de una parte del programa adonde te llevo CALL y vuelve a la instruccion siguiente al CALL que habiamos llamado.

14.- Instrucciones para loops (MAS INSTRUCCIONES)
Bueno los loops ponen un contador en un registro y una comparacion de ensendido o apagado, y hace que la operacion (con todas las instrucciones ya vistas) se repita hasta que la condicion se cumpla como lo indicó el loop.
Narvaja da un ejemplo, primero sin loop:

XOR ECX, ECX
ADD ECX, 15
DEC ECX
TEST ECX,ECX
SALTO

Testea ECX, que fue puesto con valor 15 (en ADD ECX,15) para ver si es 0, pero no es, porque usamos DEC ECX(que restaba 1 al valor de registro, osea ECX) y ECX queda en 14 así que se realizará el salto hasta el DEC ECX tantas veces como sea necesario hasta que el TEST ECX, ECX sea 0.

Luego noopea desde DEC ECX en adelante y pone un LOOP (LOOPD SHORT CRACKME.00401007) que hace todo automaticamente, osea salta hasta 00401007, decrementa 1 a ECX, revisa si TEST = 0 y si no es 0 vuelve a loopear.
Y ahi pone otra tablita con LOOPZ, LOOPE, LOOPNZ y LOOPNE.

MOVS-> Mueve automaticamente el contenido del registro ESI a EDI
REP-> Hace que la isntruccion (o instrucciones) se repita hasta que el ECX sea 0, decrementando ECX en 1 y aumentando ESI y EDI en 4 cada vez que se loopea
LODS-> Mueve contenido de ESI a ECX
STOS -> COPIA el contenido de EAX a EDI.
CMPS -> Compara el contenido de ESI y EDI


ATENCION Nota de Narvaja:
"Creo que el que sobrevivió a todo lo anterior y lo entendió bien tiene grandes probabilidades de éxito en el mundo del cracking no sin antes practicar y leer mucho pero, lo anterior es lo básico, a partir de la parte 9 ya ingresaremos en el apasionante mundo de la practica del cracking, por favor repasen bien las 8 partes estas a FULL. " (No les da animo leer algo asi? lo dificil ya pasó, ahora a divertirse.)

lo de los parentesis lo puse yo xD

ATENCION Nota de T0wn3R:
Lo que puse es un resumen muuuuuuuuy resumido, suprimi los ejemplos y quite algunas descripciones, solamente dejé lo escencial para que sepan de que habla el tuto y no tengan que tragarse tediosas horas leyendo cosas que ya saben. Cualquier duda no es necesario que vayan al tuto de narvaja a buscar las paginas, pueden postearla e intentaré contestarla wink.gif .




Hackerss Cracking Team r0x (Se agradece a los que siguen con el proyecto [cat, evilrulo, darkzero, yo y algun otro que no ha posteado]

This post has been edited by Farid: Aug 23 2007, 06:47 PM


--------------------
QUOTE
Much like a baby is comforted by the rhythmic heartbeat and protective arms of a mother, so too am I comforted by monitors, logs, throughput graphs, scrolling shells; the dull background thrum of my infrastructure, all speaking the steady pulse of the network.
Go to the top of the page
 
+Quote Post
DarK ZeRo
post Aug 24 2007, 08:10 AM
Post #2


Forista
****


Group: Hackerss Member
Posts: 460
Joined: 21-April 06
From: Argentina
Member No.: 59



La verdad muy bueno t0wn3r... pero podés creer que no tengo un puto dia para leer?
del laburo a casa y en casa ni tiempo tengo...
ahora toy en el laburo por ejemplo...
voy a ver si puedo leer 1 o 2 capítulos
pero en serio muy bueno el aporte que hiciste....

smile.gif

Salu222!


--------------------


"Nunca Te Rindas... Puede Ser Lo Peor Que Hayas Decidido Hacer"

Go to the top of the page
 
+Quote Post
Farid
post Aug 24 2007, 09:14 AM
Post #3


Farid
Group Icon


Group: Root Admin
Posts: 1,490
Joined: 1-June 07
From: Argentina
Member No.: 2,479



tranquilo, tenes toda una vida. el tuto va a seguir ahí y si se llegara a perder va a haber nuevos =P.


--------------------
QUOTE
Much like a baby is comforted by the rhythmic heartbeat and protective arms of a mother, so too am I comforted by monitors, logs, throughput graphs, scrolling shells; the dull background thrum of my infrastructure, all speaking the steady pulse of the network.
Go to the top of the page
 
+Quote Post
XanTa
post Aug 30 2007, 11:16 AM
Post #4


Conociendo el foro
**


Group: Hackerss Member
Posts: 14
Joined: 5-May 06
From: Lima
Member No.: 518



farucito tu resumen ta en algo.. aunque no me convence xD... es decir.. eso no lo entiende nadie q no tenga una idea d lo q estas hablando.. xq es q es como todo.. tengo o no tengo razon?

Aunque.. podria funcionar muy bien como un indice para recordar los temas.. y releer los puntos q necesites o para darte animos si estas comenzando.. ya q es.. solo la punta del iceberg.. xD

Saludos
y sigan adelante biggrin.gif
Go to the top of the page
 
+Quote Post
Farid
post Aug 30 2007, 11:17 AM
Post #5


Farid
Group Icon


Group: Root Admin
Posts: 1,490
Joined: 1-June 07
From: Argentina
Member No.: 2,479



QUOTE(XanTa @ Aug 30 2007, 11:16 AM) *
farucito tu resumen ta en algo.. aunque no me convence xD... es decir.. eso no lo entiende nadie q no tenga una idea d lo q estas hablando.. xq es q es como todo.. tengo o no tengo razon?

Aunque.. podria funcionar muy bien como un indice para recordar los temas.. y releer los puntos q necesites o para darte animos si estas comenzando.. ya q es.. solo la punta del iceberg.. xD

Saludos
y sigan adelante biggrin.gif

ese era el objetivo del resumen :>


--------------------
QUOTE
Much like a baby is comforted by the rhythmic heartbeat and protective arms of a mother, so too am I comforted by monitors, logs, throughput graphs, scrolling shells; the dull background thrum of my infrastructure, all speaking the steady pulse of the network.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

- Lo-Fi Version Time is now: 7th January 2009 - 12:30 PM