keygenme4 console

Iniciado por _Enko, 20 Octubre 2011, 20:43 PM

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

_Enko

Hola, como vi que se han quedado sin apps para resolver, hice uno mas.

Objetivo: realizar un keygen
  pueden postear aqui user y serial valido.
Bonus: la contraseña del codigo fuente es  la suma de serials de estos usuarios:
ABCD, EFGH, IJKL (sin las comas, simplemente los 3 serials juntos)

Parche: no vale patch, en realidad, si abren la ejecutable en olly, esta señalado donde hacer el patch, asi que no presenta gran desafio.

Dificultad: no tan facil,l no tan dificil. Yo he tardado una hora en generar la rutina que me diera serials validos. (y eso que yo hice la rutina para comprobar la validez)

Formato:
user son 4 caracteres ascii cualquiera.
serial son 8 caracteres hexadecimales, un numero de 32bit rempresentado en ascii.

La generacion tiene dos trucos, analicen el codigo bien ^^
Cualquier duda es bienvenida



le dejo los links y mirrors
http://www.mediafire.com/?2cl5c7vplrkvwvz
http://www.megaupload.com/?d=1CIXGZCR





Flamer

lo boy a rebisar aber que tal pero no te aseguro nada (esque ando corto de tiempo)si esta fasil publico la contraseña para mi nick
saludos

.:UND3R:.

Cita de: Flamer en 21 Octubre 2011, 02:42 AM
lo boy a rebisar aber que tal pero no te aseguro nada (esque ando corto de tiempo)si esta fasil publico la contraseña para mi nick
saludos

_enko siempre realiza crackmes extraños no tan fáciles de resolver jeje

Saludos

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

Tinkipinki

Ok _Enko, vamos a probarlo.. ;-)

Saludos

_Enko

Este keygenme esta basado en varias cosas a tener en cuenta:

*)numeros pseudo aleatorios
*)A xor B =  C  => C xor B  = A
*)ROR X,Y = C => ROL C, Y = X
*)+ una pequeña trampilla para detectar indirectamente la presencia de un debugger.

.:UND3R:.

Cita de: _Enko en 21 Octubre 2011, 15:28 PM
Este keygenme esta basado en varias cosas a tener en cuenta:

*)numeros pseudo aleatorios
*)A xor B =  C  => C xor B  = A
*)ROR X,Y = C => ROL C, Y = X
*)+ una pequeña trampilla para detectar indirectamente la presencia de un debugger.

Como actúa el keygenme si detecta el debugger?, Saludos

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

_Enko

notese que dije "indirectamente"... :silbar:

El programa no busca ningun debugger, pero si hay uno presente, es probable que un serial valido sea invalido y al reves, que un serial invalido se convierta en valido.


Tinkipinki

Felicitaciones PeterPunk77 ...... ;-)

_Enko

#9
Hiciste un muy trabajo reverseando e invirtiendo el codigo   :P



Felicitaciones. ;-)

pd: tambien mola que el keygenme este hecho con masm :)
pd2: no me tome la molestia de anotar la secuencia pseudo-aleatoria, simplemente use el mismo rand y envie la secuencia a la pila.

dejo las rutinas originales por si alguien le da curiosidad.

Código (asm) [Seleccionar]

proc validate, user, serial
locals
s dd ?
endl
mov esi, [user]
mov esi, dword[esi]
mov edi, [serial]
lea eax, [s]
cinvoke sscanf, edi, szFmtHex, eax
mov edi, [s]
mov ebx, 8
.encode:
stdcall Rand, 5
mov ecx, eax
add ecx, 3
stdcall Rand, 64
add eax, 8
xor edx, edx
div ecx
mov ecx, edx
ror esi, cl

stdcall Rand, 5
mov ecx, eax
add ecx, 3
stdcall Rand, 64
add eax, 8
xor edx, edx
div ecx
mov ecx, edx
ror edi, cl

xor edi, esi
dec ebx
jnz .encode
mov eax, edi
ret
endp

proc generate, user, key
locals
s dd ?
endl
mov ebx, 8
mov esi, [user]
mov esi, dword[esi]
.initrand:
stdcall Rand, 5
add eax, 3
push eax
mov ecx, eax
stdcall Rand, 64
add eax, 8
push eax
xor edx, edx
div ecx
mov ecx, edx
ror esi, cl
stdcall Rand, 5
add eax, 3
push eax
stdcall Rand, 64
add eax, 8
push eax

dec ebx
jnz .initrand

mov edi, [key]
lea eax, [s]
cinvoke sscanf, edi, szFmtHex, eax
mov edi, [s]
mov ebx, 8
.decode:
xor edi, esi
pop eax
pop ecx
xor edx, edx
div ecx
mov ecx, edx
rol edi, cl

pop eax
pop ecx
xor edx, edx
div ecx
mov ecx, edx
rol esi, cl
;xor edi, esi
dec ebx
jnz .decode
;xor edi, esi
mov eax, edi
ret
endp

proc Rand, range  
mov eax,[range]
imul edx, [randseed], 0x08088405
inc edx
mov [randseed], edx
mul edx
mov eax, edx
ret
endp