elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28
261  Programación / Ingeniería Inversa / Re: CrackMe if you can II (Reloaded) en: 9 Noviembre 2007, 16:03 pm
Te pasaste x4uth...  ;D... muy bueno el tuto... la simplificaste bien... sigue así...  :D

S2
262  Programación / Ingeniería Inversa / Re: CrackMe if you can II (Reloaded) en: 5 Noviembre 2007, 21:08 pm
parece que se les ha complicado mucho...  :P ... a mi tb cuando tuve que crackear un programa con ese sistema... pero de última... no es necesario un user y pass... con que me den el offset y el valor a modificar ya va... (pero tampoco 10 ni del mensaje sino para que el programa funcione)...  :xD

S2

PD: es un jne -> je
263  Programación / Ingeniería Inversa / Re: Ayudita con un craqueo en: 31 Octubre 2007, 00:35 am
[Edit] de Casualidad como veo donde guarda la informacion de registro, porque quiero investigarlo un poco mas al programa, y desinstale. borre todo limpie el registro, pero sigue registrado :S [/edit]

La verdad que ni idea... ya desinstale tb el programa, pero tendría que aparecer en las cadenas de texto que el programa utiliza... fijate ahí...

S2
264  Programación / Ingeniería Inversa / Re: Ayudita con un craqueo en: 30 Octubre 2007, 19:52 pm
Pregunta, que hace la función (test bl,bl).

test x,y equivale a if(x&y), en el caso test bl,bl , se compara que bl sea distinto de 0 y se guarda el resultado en las banderas del procesador...

el algoritmo que compara si el serial es valido, seria

cmp byte ptr [eax+02], 31

en realidad son todos los

cmp byte ptr [eax+X], Y

y el

cmp esi, 00000007

y si es asi, esa operación, como se explica el funcionamiento... :S ( estoy entendiendo de a poco, en la facu recien empezamos con assembler y me la vuela bastante... :D)

el serial que coloques se almacena en el registro del acumulador (eax) y mediante los índices se puede ir recorriendo cada caracter:

key: hola

byte [eax]='h'
byte [eax+1]='o'
byte [eax+2]='l'
byte [eax+3]='a'

con:

cmp byte ptr [eax+X], Y

se compara cada uno de los caracteres con Y1,Y2,...,Yn
si son iguales se incremente el registro esi... y si:

cmp esi, 00000007 <- los siete carateres coinciden(fíjate que hay 7 comparaciones en el código)

sete bl <- serial válido

S2
265  Programación / Ingeniería Inversa / Re: Ayudita con un craqueo en: 30 Octubre 2007, 03:03 am
El código es muy simple... tenes que simplemente buscar tu famoso mensaje ("invalid code"), subís un poco (la pantalla) y ves que hay un salto que desemboca ahí... te vas al salto, y ves que se compara un registro si es distinto de 0 (test bl,bl) pero antes se guarda en bl: eax (acumulador) y antes una llamada a una función... por lógica eax contendrá el valor de retorno de esa función, entonces es esa llamada la que hace el checkeo del serial, analizas el código de la función y hay varias comprobaciones... el tema es que si pones puntos de comprobación van a saltar a cada rato, porque le programa tiene un timer y cada cierta cantidad de tiempo vuelve a comparar la clave...
entonces seteás un breakpoint en la llamada a la función y cuando se detiene entras a debugearla y encontráis lo siguiente:

Código:
:004EC910 53                      push ebx
...
:004EC91E E82980F1FF              call 0040494C  <- longitud de clave
:004EC923 83F80E                  cmp eax, 0000000E <-tiene que ser igual a 14
...
:004EC92A 803830                  cmp byte ptr [eax], 30  <- primer dígito = 0
...
:004EC937 80780231                cmp byte ptr [eax+02], 31 <- 3º = 1
...
:004EC945 80780332                cmp byte ptr [eax+03], 32 <- 4º = 2
..
:004EC953 80780433                cmp byte ptr [eax+04], 33 <- 5º = 3
...
:004EC961 80780734                cmp byte ptr [eax+07], 34 <- 8º = 4
...
:004EC96F 80780839                cmp byte ptr [eax+08], 39 <- 9º = 9

:004EC97D 80780A35                cmp byte ptr [eax+0A], 35 <- 11º = 5
...
:004EC989 83FE07                  cmp esi, 00000007 <- coinciden todos??
:004EC98C 0F94C3                  sete bl <- serial válido
...
:004EC994 C3                      ret

un ejemplo de serial válido sería:  0X123XX49X5XXX

S2
266  Programación / Ingeniería Inversa / CrackMe if you can II (Reloaded) en: 29 Octubre 2007, 19:00 pm
Estaba un poco al dope últimamente y decidí crear este nuevo crackme... en el no hay ninguna ciencia nueva... pero incluye un par de cosas que vi en unos programas que estuve crackeando últimamente... aquí os dejo:

http://h1.ripway.com/karman/Files/crackme2.rar

No creo que sea recomendable para principiantes... pero si quieren pueden echarle un vistazo...

Solucionado por:

x4uth (Keygen y tuto)

S2

PD: "NO PUBLIQUEN CLAVES... MÁNDENMELAS POR PRIVADO Y YO LAS COLOCARÉ AQUÍ"... je

267  Programación / Ingeniería Inversa / Re: Ayudita con firm :) en: 27 Octubre 2007, 19:24 pm
haaa... a eso te referías con firmware... pues la verdad que es complicado lo que quieres hacer... ya que ese "programa" lo más probable es que esté echo para el procesador del aparato, y no uno de PC, entonces tendrías que conseguir el juego de instrucciones de dicho equipo para poder saber que hace... es más... es probable que no esté cifrado... simplemente el juego de instrucciones sea totalmente distinto al que piensas...

S2
268  Programación / Ingeniería Inversa / Re: Ayudita con firm :) en: 27 Octubre 2007, 07:47 am
veamos... en teoría, lo que se hace es lo siguiente:

se aplica un algoritmo al archivo completo y se genera un número (hash) que es único y que identifica el archivo, entonces se compara ese número con el número incluido en el archivo... si coincide la firma es correcta... sino no...

lo que tendrías que hacer es (al modificar el archivo) regenerar el número hash, con los nuevos datos del archivo, para que al hacer la comparación de válida, el tema es que... si el programa o el sistema operativo (el que haga el checkeo) tiene en una base de datos el número hash verdadero no vas a poder currarlo... tonces no te quedaría otra que crackear al programa que verifica dicho número...

S2



269  Programación / Ingeniería Inversa / Re: Ayudita con firm :) en: 26 Octubre 2007, 15:25 pm
la verdad que desconozco como se hace... cuando leí que era tan complicado ya me quitó las ganas... pero quizás haya algún sitio donde expliquen como... tendrías que buscar...

S2

PD: Las firmas digitales son comúnmente números HASH, tendrías que averiguar que algoritmo de hash se usó (porque hay bastantes, lo más común es MD5) y como romper ese algoritmo...
270  Programación / Ingeniería Inversa / Re: Ayudita con firm :) en: 26 Octubre 2007, 05:37 am
firm? firma digital? si es eso te lo resumo... se puede pero dependiendo del algoritmo, en el peor de los casos se puede únicamente con fuerza bruta y según lo que leí, en el mejor de los casos, lo vas a lograr en N^69... lo que significa que tenes para varias semanas...

S2
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines