Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Karman

#261
Te pasaste x4uth...  ;D... muy bueno el tuto... la simplificaste bien... sigue así...  :D

S2
#262
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
Ingeniería Inversa / Re: Ayudita con un craqueo
31 Octubre 2007, 00:35 AM
Cita de: xAnubiSx en 30 Octubre 2007, 20:10 PM
[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
Ingeniería Inversa / Re: Ayudita con un craqueo
30 Octubre 2007, 19:52 PM
Cita de: xAnubiSx en 30 Octubre 2007, 18:57 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...

Cita de: xAnubiSx en 30 Octubre 2007, 18:57 PM
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

Cita de: xAnubiSx en 30 Octubre 2007, 18:57 PM
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
Ingeniería Inversa / Re: Ayudita con un craqueo
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:


: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
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
Ingeniería Inversa / Re: Ayudita con firm :)
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
Ingeniería Inversa / Re: Ayudita con firm :)
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
Ingeniería Inversa / Re: Ayudita con firm :)
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
Ingeniería Inversa / Re: Ayudita con firm :)
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