Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: .:UND3R:. en 19 Mayo 2011, 19:10 pm



Título: Duda con crackme - SOLUCIONADO
Publicado por: .:UND3R:. en 19 Mayo 2011, 19:10 pm
Hola a todos bueno les comento, me inicié en el estudio de esta gran materia, creo que es lo mejor para mi  ;-)

bueno siguiendo el tutorial de narvaja, intento crackear el crackme y llego hasta una comparación exáctamente esta

compara el serial correcto con la comparación del serial falso pero el serial falso está con un xor de 1234

por lo tanto se deduce que el serial correcto está con xor también, pero mi duda es como puedo saber cual es, le dejo la ecucación de narvaja (la entiendo pero el desarrollo no lo consigo)

Citar
Si EAX=EBX
Reemplazo EBX por EAX ya que son iguales
EAX=(Valor hexadecimal del serial correcto) XOR 1234
Y ya no es más serial falso porque el serial que hace que EBX y EAX sean iguales es el serial correcto.
Despejo
EAX XOR 1234= (Valor hexadecimal del serial correcto)
Y EAX es un dato pues lo tengo de la comparación EAX=547B
547B XOR 1234 = (Valor hexadecimal del serial correcto)
Si soluciono el XOR
464F = (Valor hexadecimal del serial correcto)
Si 464F es el valor correcto hexadecimal, si lo paso a decimal tendré mi serial para tipear

capítulo 16

mi duda es como lo soluciona xD

ya que lo que hice fue pasar 464F a binario al igual que 1234 y luego ambos le aplico la tablita de XOR y no me dá, no sé si sea cuadrado pero xor va primero, por que esta vez aparece al medio :c

Saludos


Título: Re: Duda con crackme
Publicado por: MCKSys Argentina en 19 Mayo 2011, 20:03 pm
No recuerdo ya, pero si es un XOR 1234, entonces la clave 464F es la correcta (si EAX = 547B)...

Saludos!


Título: Re: Duda con crackme
Publicado por: .:UND3R:. en 19 Mayo 2011, 20:20 pm
me dijiste lo mismo que puse arriba  :xD

547B XOR 1234 eso es lo mismo que

XOR 1234,547B verdad?

si es así ,¿hay una forma de calcular ese xor de manera sencilla ?sin calculadora que puedo errar muy facilmente

como por ejemplo command puedes saber que valor ascii corresponde un valor hexadecimal


Gracias de todas formas


Título: Re: Duda con crackme
Publicado por: MCKSys Argentina en 19 Mayo 2011, 20:26 pm
me dijiste lo mismo que puse arriba  :xD

547B XOR 1234 eso es lo mismo que

XOR 1234,547B verdad?

Si

si es así ,¿hay una forma de calcular ese xor de manera sencilla ?sin calculadora que puedo errar muy facilmente

Si. Pasa el valor a binario y luego aplicale la tabla de verdad de la función XOR:

A|B|XOR|
0|0|0
0|1|1
1|0|1
1|1|0

A es 1234 y B es tu numero

como por ejemplo command puedes saber que valor ascii corresponde un valor hexadecimal


Gracias de todas formas


Usando una tabla ASCII: http://www.ascii.cl/es/


Título: Re: Duda con crackme
Publicado por: .:UND3R:. en 19 Mayo 2011, 20:35 pm
perfecto, todo más aclarado pero una última duda 1234 que es,¿decimal? o ¿hexadecimal?

Gracias por tus rápidas respuestas :D


Título: Re: Duda con crackme
Publicado por: MCKSys Argentina en 19 Mayo 2011, 20:36 pm
Hexa


Título: Re: Duda con crackme
Publicado por: .:UND3R:. en 19 Mayo 2011, 20:40 pm
perfecto gracias por tus ayudas, ha seguir estudiando :D


Título: Re: Duda con crackme
Publicado por: .:UND3R:. en 19 Mayo 2011, 20:58 pm
Una duda más si se me da un caso usando la tabla XOR como este

101011101011100 -> 575C
1001000110100   -> 1234

¿Qué pasa con lo negrecido?

Gracias


Título: Re: Duda con crackme
Publicado por: MCKSys Argentina en 19 Mayo 2011, 21:35 pm
Se agregan adelante tantos ceros como se necesiten para que los 2 operandos tengan el mismo tamaño.


Título: Re: Duda con crackme
Publicado por: .:UND3R:. en 19 Mayo 2011, 22:41 pm
TODO SOLUCIONADO! :D

el problema era que al usar la tabla le daba ceros al final y no al principio

Gracias :D