[Keygenme] Litrico

Iniciado por mr.blood, 27 Enero 2013, 19:24 PM

0 Miembros y 1 Visitante están viendo este tema.

MCKSys Argentina

El problema ya lo ha dicho Høl¥: el proggie esta mal diseñado (perdón mr.blood pero es así) y tiene un buffer overflow, con el cual podremos sobreescribir la sección .data hasta llegar el texto del mensaje.

Mas alla de eso, el maximo largo que podria tener el username seria de 9 chars (sin contar el zero final). Si se excede de ese limite, se comienza a escribir en el buffer destinado para guardar el serial (o pass).

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


avesudra

No sé ando un poco perdido, pues en este keygenMe el procedimiento es este:
primerWordUsuario;
segundoWordUsuario;
xor primerWordUsuario, segundoWordUsuario;
compara lo que queda en primerWordUsuario con primerWordKey
si no es igual salta a chico malo

Pero es que key solo tiene 4 bytes...
Regístrate en

mr.blood

Cita de: MCKSys Argentina en 28 Enero 2013, 23:33 PM
El problema ya lo ha dicho Høl¥: el proggie esta mal diseñado (perdón mr.blood pero es así) y tiene un buffer overflow, con el cual podremos sobreescribir la sección .data hasta llegar el texto del mensaje.

Mas alla de eso, el maximo largo que podria tener el username seria de 9 chars (sin contar el zero final). Si se excede de ese limite, se comienza a escribir en el buffer destinado para guardar el serial (o pass).



Obviamente tiene un fallo gordo, no tiene limite de entrada de caracteres. Pero el objetivo era hacer un keygen por lo que ese fallo no sirve para nada.




@avesudra la contraseña no es igual para "tras" que para "trastras". El user admite hasta 10 caracteres (9+'\0'). Fijate bien y lo veras ;).

Sa1uDoS

P.D.: Siento no poder contestar antes, estuve liado y  hasta ahora no pude usar mi PC.

.:UND3R:.

#13
Muchas gracias por compartir tu Keygenme, ¿me podrías decir en que dirección absoluta (VA) es en donde el programa imprime en consola que el serial es correcto?, ya que visualizando el keygenme, este presenta un algoritmo de validación (Keygen), pero aun cumpliendo con este algoritmo, el programa muestra el mensaje de "incorrecto", el algoritmo de validación es el siguiente:

Toma 2 bytes del usuario utilizando ECX como puntero, al principio este es cero por lo que toma los primeros dos bytes de nuestro usuario ya que ECX = 0:
UN

luego de esto mueve a AX el valor de los siguientes dos bytes:
D3

una vez obtenido 4 bytes, realiza un XOR de estos dos y los compara con dos bytes de nuestro serial introducido.

Este mismo algoritmo se repite hasta que el número de caracteres de nuestro usuario - 2 sea mayor o igual a ECX (el cual se incrementa en 2 por cada vez que pasa por el ciclo):

Información adicional:
VA USER: 00402000
VA PASS: 40200A

00401051  |.  83EA 02       SUB EDX,2 //resta dos al número de serial
00401054  |> /66:8B1C0E     /MOV BX,WORD PTR DS:[ESI+ECX] //toma dos valores y los deja en BX
00401058  |.  83C1 02       |ADD ECX,2 //suma a ECX 2
0040105B  |.  66:8B040E     |MOV AX,WORD PTR DS:[ESI+ECX] //toma dos siguientes valores y los deja en AX
0040105F  |.  66:31D8       |XOR AX,BX //realiza un XOR de AX con BX





Edit:

Mi pass sería: 33167D11
Espero respuestas, saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

mr.blood

Y no te muestra el mensaje de Bien cuando metes tu user y pass correctas?

Si te fijas bien hay un mov dword [mensaje], 0x6E656942 esos numeros son los ascii de Bien (B=0x42, i=0x69, e=0x65, n=0x6E) y la rutina pasa por ahi cuando el serial es correcto. Mi idea era despistar un poco a los nuevos, que vean que no siempre hay cadenas de texto :P.

Sa1uDoS

.:UND3R:.

Más que despiste dudé de la funcionalidad del keygen por los comentarios (Stack Overflow), tan así que ni me animé a probar el serial, el cual me dio correcto.

Muchas gracias por el Keygenme

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

fary

Tutorial:

http://www.sendspace.com/file/iul4xc

Creo qeu esta bien explicado  :xD

un saludo!
Un byte a la izquierda.