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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  KeyGenME fary - v1.0
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 [4] Ir Abajo Respuesta Imprimir
Autor Tema: KeyGenME fary - v1.0  (Leído 11,240 veces)
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: KeyGenME fary - v1.0
« Respuesta #30 en: 13 Enero 2019, 00:16 am »

La verdad que esta clase de retos te distrae de la tareas cotidianas, así que he decidido distraerme un poco y hacer un keygen (generador de claves) para todos los seriales SOLO de 6 caracteres. Este keygen no lo he querido programar (sería muy sencillo) y lo voy a hacer escrito para que todo el mundo sin conocimientos de programación pueda usarlo.

Solo he utilizado caracteres imprimibles desde el valor 20hex hasta el 7Fhex, los demás los he obviado.
¿Cómo lo he resuelto? Pues hice directamente en OllyDBG fuerza bruta, me fui a cenar y después de cenar estudié los resultados que el script me dejó en memoria, así que es un keygen post-estudio.

Empecemos.
1º CARÁCTER
El que el usuario quiera. Voy a poner, por ejemplo, la letra v que equivale a 76hex. Los guiones siguientes, aunque puedan valer, en este caso no sirven y los pongo únicamente para mostrar los caracteres pendientes.
v-----

Antes de continuar con los siguientes caracteres, es necesario saber que según el valor hex de este primer caracter, existen 3 zonas.
PRIMERA ZONA. ZONA 4A. Del valor 68h al 7Fh (a.i.)
SEGUNDA ZONA. ZONA 4B. Del valor 1Fh al 7Fh (a.i.)
TERCERA ZONA. ZONA 4C. Del valor 1Fh al 27h (a.i.)

Para que sea sencillo de entender, pongo el ejemplo de la letra v=76h. El valor 76h puede estar:
-En la zona 4A (Del 68h al 7Fh) y
-En la zona 4B (Del 1Fh al 7Fh) pero no puede estar en la zona 4C.

2º y 5º CARACTERES
Estos caracteres son siempre fijos y corresponden a las letras R y X. Por lo tanto, ya tenemos:
vR--X-

3º CARÁCTER
Solo puede ser o los dos puntos : o la letra zeta minúscula (z).
Solo hay una condición:
Si el primer carácter es par, el 3º carácter es la letra zeta minúscula (z), si no : .
Por lo tanto, el primer carácter es la v que equivale a 76hex y es par, así que el 3º carácter es una z. Ya tenemos:
vRz-X-

4º CARÁCTER
El 4º carácter corresponde con la Zona. Así que podemos tener 2 casos para ZONA 4A (J) y ZONA 4B (K).
vRzJX-
vRzKX-

6º Y ÚLTIMO CARÁCTER
Realizamos las operaciones de cifrado del serial hasta el último carácter, así:
PRIMER SERIAL: vRzJX-
v = 76h
R = 52h
z = 7Ah
J = 4Ah
X = 58h

Código
  1. EDI = 0    ; EDI = 00000000h
  2. ADD EDI, 76; EDI = 00000076h
  3. ROR EDI, D ; EDI = 03B00000h
  4. ADD EDI, 52; EDI = 03B00052h
  5. ROR EDI, D ; EDI = 02901D80h
  6. ADD EDI, 7A; EDI = 02901DFAh
  7. ROR EDI, D ; EDI = EFD01480h
  8. ADD EDI, 4A; EDI = EFD014CAh
  9. ROR EDI, D ; EDI = A6577E80h
  10. ADD EDI, 58; EDI = A6577ED8h
  11. ROR EDI, D ; EDI = F6C532BBh

Y ahora tan sencillo como restar la semilla F6C53333 con ese valor:
F6C53333 - F6C532BB = 78hex
6º carácter = 78h (x), por lo tanto, primera contraseña válida:
vRzJXx

SEGUNDO SERIAL: vRzKX-
v = 76h
R = 52h
z = 7Ah
K = 4Bh
X = 58h

Código
  1. EDI = 0    ; EDI = 00000000h
  2. ADD EDI, 76; EDI = 00000076h
  3. ROR EDI, D ; EDI = 03B00000h
  4. ADD EDI, 52; EDI = 03B00052h
  5. ROR EDI, D ; EDI = 02901D80h
  6. ADD EDI, 7A; EDI = 02901DFAh
  7. ROR EDI, D ; EDI = EFD01480h
  8. ADD EDI, 4A; EDI = EFD014CBh
  9. ROR EDI, D ; EDI = A65F7E80h
  10. ADD EDI, 58; EDI = A65F7ED8h
  11. ROR EDI, D ; EDI = F6C532FBh

F6C53333 - F6C532FB = 38hex = 8
Segundo serial válido: vRzKX8

Otro ejemplo rápido sin tanta explicación:
3-----
solo está en ZONA 4B: 3--K--
2 caracteres fijos: 3R-KX-
impar: 3R:KX-

F6C53333 - F6C532D9 = 5Ah = Z
Serial válido: 3R:KXZ
« Última modificación: 13 Enero 2019, 00:18 am por karmany » En línea

fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Re: KeyGenME fary - v1.0
« Respuesta #31 en: 13 Enero 2019, 00:30 am »



ya que hizo en asm, podía escribir isDebuggerPresent() en asm, no api.
mov     eax, large fs:30h
movzx   eax, byte ptr [eax+2]
retn


Si te fijas, compruebo si estoy siendo debugeado dos veces... una llamando a la propia API y otra vez lo compruebo mientras estoy creando los objetos de la ventana :) aunque creo que nadie se tomo cuenta de eso...

Aquí os el código fuente!

Código
  1. format PE GUI 4.0
  2. entry start
  3.  
  4. include 'win32w.inc'
  5.  
  6. section '.text' code readable executable
  7. start:
  8.    invoke  GetModuleHandle,0
  9.    mov     [wc.hInstance],eax
  10.    invoke  LoadIcon,0,IDI_APPLICATION
  11.    mov     [wc.hIcon],eax
  12.    invoke  LoadCursor,0,IDC_ARROW
  13.    mov     [wc.hCursor],eax
  14.    invoke  RegisterClass,wc
  15.    test    eax,eax
  16.    jz      error
  17.  
  18.    invoke IsDebuggerPresent,0    ; ACTIVAR despues de depurar
  19.    cmp eax,0
  20.    jne end_loop
  21.  
  22.    invoke  CreateWindowEx,0,_class,_title,WS_VISIBLE+WS_DLGFRAME+WS_SYSMENU,128,128,256,100,NULL,NULL,[wc.hInstance],NULL
  23.    test    eax,eax
  24.    jz      error
  25.  
  26.    msg_loop:
  27.        invoke  GetMessage,msg,NULL,0,0
  28.        cmp     eax,1
  29.        jb      end_loop
  30.        jne     msg_loop
  31.        invoke  TranslateMessage,msg
  32.        invoke  DispatchMessage,msg
  33.        jmp     msg_loop
  34.  
  35.  error:
  36.        invoke  MessageBox,NULL,_error,NULL,MB_ICONERROR+MB_OK
  37.  
  38.  end_loop:
  39.        invoke  ExitProcess,[msg.wParam]
  40.  
  41. proc WindowProc uses ebx esi edi, hwnd,wmsg,wparam,lparam
  42.        cmp     [wmsg],WM_DESTROY
  43.        je      .wmdestroy
  44.        cmp     [wmsg],WM_CREATE
  45.        je      .wmcreate
  46.        cmp     [wmsg],WM_COMMAND
  47.        je      .wmcommand
  48.  
  49.        jmp .defwndproc
  50.  
  51.  .wmcommand:
  52.        xor eax, eax
  53.        xor edx, edx
  54.  
  55.        mov eax, [_buttonregistry]
  56.        mov edx, [lparam]
  57.  
  58.        cmp eax,edx
  59.        jne .finish
  60.  
  61.        invoke GetWindowTextA,[_editregistry],password,10
  62.  
  63.        stdcall checkpass,password ; Comprobamos la contraseña.
  64.  
  65.        jmp .finish
  66.  .defwndproc:
  67.        invoke  DefWindowProc,[hwnd],[wmsg],[wparam],[lparam]
  68.        jmp     .finish
  69.  .wmcreate:
  70.        invoke CreateWindowExA,WS_EX_APPWINDOW,_labelclass,_labeltext,WS_CHILD+WS_VISIBLE,10,10,150,20,[hwnd],NULL,[wc.hInstance],NULL
  71.        mov edx,dword[fs:0x18]
  72.        push edx
  73.        invoke CreateWindowExA,WS_EX_APPWINDOW,_editclass,0,WS_CHILD+WS_VISIBLE+WS_BORDER,115,10,125,20,[hwnd],NULL,[wc.hInstance],NULL
  74.        mov [_editregistry],eax
  75.        pop edx
  76.        mov edx,dword[edx+0x30]
  77.        push edx
  78.        invoke CreateWindowExA,WS_EX_APPWINDOW,_buttonclass,_buttonname,WS_CHILD+WS_VISIBLE,10,40,230,20,[hwnd],NULL,[wc.hInstance],NULL
  79.        mov [_buttonregistry],eax
  80.        pop edx
  81.        movsx edx,byte[edx+2]
  82.        mov [dbg],edx    ; Si esta debugger presente
  83.  
  84.        jmp .finish
  85.  .wmdestroy:
  86.        invoke  PostQuitMessage,0
  87.        xor     eax,eax
  88.  .finish:
  89.        ret
  90. endp
  91.  
  92. proc checkpass,pass
  93.    mov esi, [pass]
  94.  
  95.    compute_hash:
  96.        xor     edi, edi     ;EDI = 0
  97.        xor     eax, eax   ;EAX = 0
  98.        cld
  99.    compute_hash_again:
  100.        lodsb                ;AL = BYTE[ESI] , ESI = ESI + 1
  101.        test    al, al
  102.       jz       compute_hash_finished
  103.        ror     edi, 0xD
  104.        add     edi, eax
  105.       jmp      compute_hash_again
  106.    compute_hash_finished:
  107.  
  108.    ;EDI = El Hash de la cadena
  109.    cmp edi,0xF6C53333
  110.    jne salircheck
  111.    mov eax, [dbg]
  112.    cmp eax,1
  113.    je salircheck
  114.  
  115.    invoke MessageBoxA,0,_goodpass,_goodtitle,MB_OK+MB_ICONINFORMATION
  116.  
  117.    salircheck:
  118.    ret
  119. endp
  120.  
  121. section '.data' data readable writeable
  122.  
  123.  _class        TCHAR 'KeyGenMe Fary',0
  124.  _title        TCHAR 'Fary KeyGenME - 1.0',0
  125.  _error        TCHAR 'Startup failed.',0
  126.  _goodpass     db    'Enhorabuena, superaste el reto!ahora el keygen ;)',0
  127.  _goodtitle    db    'Good Boy',0
  128.  
  129.  _buttonregistry       dd ?
  130.  _buttonclass          db 'BUTTON',0
  131.  _buttonname           db 'Registrar',0
  132.  
  133.  _editregistry         dd ?
  134.  _editclass            db 'EDIT',0
  135.  
  136.  _labelclass           db 'STATIC',0
  137.  _labeltext            db 'Fary Password: ',0
  138.  
  139.   password             rb 11
  140.   dbg                  dd 0
  141.  
  142.  wc WNDCLASS 0,WindowProc,0,0,NULL,NULL,NULL,COLOR_BTNFACE+1,NULL,_class
  143.  
  144.  msg MSG
  145.  
  146. section '.idata' import data readable writeable
  147.  
  148.  library kernel32,'KERNEL32.DLL',\
  149.          user32,'USER32.DLL'
  150.  
  151.  include 'api\kernel32.inc'
  152.  include 'api\user32.inc'
  153.  

También quiero aclarar que el código que crear los hashes no es mio! pero me parecio interesante  >:D >:D >:D

https://foro.elhacker.net/programacion_visual_basic/asmvb6invoke_llamas_apis_sin_declararlas_kinvokebas-t290072.0.html

Aunque claro, veté tu a saber quién sea el autor porque por aquí también aparece el mismo hash  :xD

https://github.com/debasishm89/x86-Assembly/blob/master/speaking%20shell%20code.asm

Entre otras páginas...
« Última modificación: 13 Enero 2019, 00:34 am por fary » En línea

Un byte a la izquierda.
Geovane

Desconectado Desconectado

Mensajes: 208



Ver Perfil
Re: KeyGenME fary - v1.0
« Respuesta #32 en: 13 Enero 2019, 00:52 am »

Fary , usted tiene razón, hay segunda verificación, en la confirmación de la contraseña
felicitaciones.

karmany , "Este keygen no lo he querido programar (sería muy sencillo)"
eso es un poco divertido
Si es simple muestre la lógica de creación de una contraseña!
Lo que mostró, basta mirar en el EDI, en el debugger!

Saludos


« Última modificación: 13 Enero 2019, 00:55 am por Geovane » En línea

Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: KeyGenME fary - v1.0
« Respuesta #33 en: 13 Enero 2019, 11:45 am »

Bueno, he creado este simple generador de claves para 6 caracteres, usando solo la zona 4B. Unicamente el usuario debe escribir el primer carácter de (20hex hasta 7Fhex) y el resto lo calcula el programa.
Para no usar registros EDI ni nada por el estilo, he escrito la fórmula en un Excel. Os lo pongo en descarga.


Descarga del Excel:
https://mega.nz/#!i5YwSYLI!koy5ybfMZG1Op0v7-Ui8c3NdNIsvjU5R2tQW_4pOfuQ

Un saludo.
No puedo dedicar nada más de tiempo a este keygen. Espero el keygen de Geovane, que es muy interesante lo que explicó.
« Última modificación: 13 Enero 2019, 11:59 am por karmany » En línea

Geovane

Desconectado Desconectado

Mensajes: 208



Ver Perfil
Re: KeyGenME fary - v1.0
« Respuesta #34 en: 13 Enero 2019, 19:13 pm »

Gracias karmany por compartir, realmente tiempo es un problema, cuando el desafío exige mucho tiempo de nosotros

Aquí esta Keygen
Parece que "reinventó la rueda", con las funciones ....

El propósito y analizar lo más profundo posible en la lógica
Pero tiene como mejorar mucho el código.
Agradecimientos especiales a todos los que participaron en este desafío.
Aprendí mucho, con todos.

¿Quién puede mejorar el código, favor dice

Código
  1. function HexToBin(Hex: String): String;
  2. var
  3.   Bin: String;
  4.   k: Byte;
  5. Begin
  6.   Bin:='';
  7.   For k:=1 to Length(Hex) do
  8.      if      Hex[k]='0' then Bin:=Bin+'0000'
  9.      else if Hex[k]='1' then Bin:=Bin+'0001'
  10.      else if Hex[k]='2' then Bin:=Bin+'0010'
  11.      else if Hex[k]='3' then Bin:=Bin+'0011'
  12.      else if Hex[k]='4' then Bin:=Bin+'0100'
  13.      else if Hex[k]='5' then Bin:=Bin+'0101'
  14.      else if Hex[k]='6' then Bin:=Bin+'0110'
  15.      else if Hex[k]='7' then Bin:=Bin+'0111'
  16.      else if Hex[k]='8' then Bin:=Bin+'1000'
  17.      else if Hex[k]='9' then Bin:=Bin+'1001'
  18.      else if Hex[k]='A' then Bin:=Bin+'1010'
  19.      else if Hex[k]='B' then Bin:=Bin+'1011'
  20.      else if Hex[k]='C' then Bin:=Bin+'1100'
  21.      else if Hex[k]='D' then Bin:=Bin+'1101'
  22.      else if Hex[k]='E' then Bin:=Bin+'1110'
  23.      else if Hex[k]='F' then Bin:=Bin+'1111';
  24.   HexToBin:=Bin;
  25. End;
  26.  
  27. function BinToHex(Bin: String): String;
  28.  
  29. var
  30.   k: Byte;
  31.   s: String;
  32.   Hex: String;
  33. Begin
  34.   Hex:='';
  35.   While Length(Bin) mod 4<>0 do Bin:='0'+Bin;
  36.   For k:=0 to Length(Bin) div 4 -1 do
  37.   Begin
  38.      s:=Copy(Bin,k*4+1,4);
  39.      if      s='0000' then s:='0'
  40.      else if s='0001' then s:='1'
  41.      else if s='0010' then s:='2'
  42.      else if s='0011' then s:='3'
  43.      else if s='0100' then s:='4'
  44.      else if s='0101' then s:='5'
  45.      else if s='0110' then s:='6'
  46.      else if s='0111' then s:='7'
  47.      else if s='1000' then s:='8'
  48.      else if s='1001' then s:='9'
  49.      else if s='1010' then s:='A'
  50.      else if s='1011' then s:='B'
  51.      else if s='1100' then s:='C'
  52.      else if s='1101' then s:='D'
  53.      else if s='1110' then s:='E'
  54.      else if s='1111' then s:='F';
  55.      Hex:=Hex+s;
  56.   End;
  57.   BinToHex:=Hex;
  58. End;
  59.  
  60. function StrToHex(Str: String): Integer;
  61. var
  62.   Hex:Integer;
  63. Begin
  64.  
  65.   if (str.Length=7) Then
  66.   Begin
  67.        str:='0' + str;
  68.   end;
  69.  
  70.   if (str.Length=6) Then
  71.   Begin
  72.        str:='00' + str;
  73.   end;
  74.  
  75.   Hex:=       (strToInt(copy(Str,1,1))*128);
  76.   Hex:= Hex + (strToInt(copy(Str,2,1))*64);
  77.   Hex:= Hex + (strToInt(copy(Str,3,1))*32);
  78.   Hex:= Hex + (strToInt(copy(Str,4,1))*16);
  79.   Hex:= Hex + (strToInt(copy(Str,5,1))*8);
  80.   Hex:= Hex + (strToInt(copy(Str,6,1))*4);
  81.   Hex:= Hex + (strToInt(copy(Str,7,1))*2);
  82.   Hex:= Hex + (strToInt(copy(Str,8,1))*1);
  83.   StrToHex:=Hex;
  84. end;
  85.  
  86. function shLeft(Str:String;N:integer): String;
  87. var
  88.   s:String;
  89. Begin
  90.         s:=copy(Str,N+1,32-N)+copy(Str,1,N);
  91.         shLeft:=s;
  92.   end;
  93.  
  94. procedure TForm1.Button1Click(Sender: TObject);
  95.      var
  96.         A,B:String;
  97.         C:Integer;
  98. Label
  99. rotacionar,ciclo;
  100.                      //F6C53333    Caractere >=32 <=126  $20 $7E
  101. begin
  102.      A:= 'F6C53333';
  103.      B:= HexToBin(A);
  104.  
  105.      ciclo:
  106.      // 8 bits
  107.      C:= strToHex(copy(B,25,8));
  108.      IF (C>31) and (C<127) Then
  109.      Begin
  110.        Edit1.text:= (intTohex(C,2)) + Edit1.text ;
  111.        B:= (Copy(B,1,24)) + '00000000';
  112.        GOTO rotacionar;
  113.      end;  // fin 8 bits
  114.  
  115.  
  116.      //7 bits
  117.      C:= strToHex(copy(B,26,7));
  118.      IF (C>31) and (C<127) Then
  119.      Begin
  120.        Edit1.text:= (intTohex(C,2)) + Edit1.text;
  121.        B:= (Copy(B,1,25)) + '0000000';
  122.        GOTO rotacionar;
  123.      end;   //fin 7 bits
  124.  
  125.  
  126.      //6 bits  (Con 6 bits positivos no passa valor $7E  No precisa testar con 5)
  127.      C:= strToHex(copy(B,27,6));
  128.      IF (C>31) and (C<127) Then
  129.      Begin
  130.        Edit1.text:=  (intTohex(C,2)) + Edit1.text;
  131.        B:= (Copy(B,1,26)) + '000000';
  132.        GOTO rotacionar;
  133.      end;    //fin 6 bits
  134.  
  135.  
  136.      rotacionar:
  137.      IF ((Copy(B,1,32)) <> '00000000000000000000000000000000') Then
  138.      begin
  139.        B:=shLeft(B,13);
  140.        goto ciclo;
  141.       //Showmessage(B);
  142.      end;
  143. end;                        

Esto se basa en la lógica que ya he posteado

F6C53333      11110110110001010011001100110011
                                                                          110011 33---3
                      11110110110001010011001100000000
                      10100110011000000001111011011000 58---X
                                                                
                      10100110011000000001111010000000
                      00000011110100000001010011001100 4C---L
                                                                  
                      00000011110100000001010010000000
                      00000010100100000000000001111010 7A---z
                                                      
                      00000010100100000000000000000000
                                                            0000001010010 52---R  

RzLX3


En texto, función, después al final .......

Código
  1. Function HexToStr(s: String): String;
  2. Var i: Integer;
  3. Begin
  4.  Result:=''; i:=1;
  5.  While i<Length(s) Do Begin
  6.    Result:=Result+Chr(StrToIntDef('$'+Copy(s,i,2),0));
  7.    Inc(i,2);
  8.  End;
  9. End;

Código
  1. Showmessage(hexTostr(Edit1.text));

Fary ¡Muy bueno su codigo, excelente desafío !!!!!

Actualización 1

Usted puede intentar con otro valor.
Pero el valor necesita estar correctamente construido, mediante función inversa!


Para evitar este error, antes rotacionar:
¿Por qué con 6 bits no encontró valor válido !!!!



Código
  1.     Showmessage('¡Hummmm, valor incorrecto !!!!!');
  2.     rotacionar:
  3.      IF ((Copy(B,1,32)) <> '00000000000000000000000000000000') Then
  4.      begin
  5.        B:=shLeft(B,13);
  6.        goto ciclo;
  7.       //Showmessage(B);
  8.      end;



Gracias, Saludos
« Última modificación: 13 Enero 2019, 23:15 pm por Geovane » En línea

Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: KeyGenME fary - v1.0
« Respuesta #35 en: 13 Enero 2019, 22:43 pm »

¡¡Excelente trabajo Geovane!!
Tu punto de vista ha sido muy instructivo e interesante.

Gracias a tu idea se me ha ocurrido lo siguiente que no se si se podrá generalizar para otros caracteres o tamaños de serial.

Partimos del último carácter que me invento: 8 que es 38hex
Inicio: F6C53333

Código
  1. F6C53333 - 38   = F6C532FB; //38hex es el carácter 8
  2. ROL F6C532FB, D = A65F7ED8
  3.  
  4. Y ahora voy restanto 7/8 bits como tu mencionas:
  5. A65F7ED8 - 58   = A65F7E80; //58hex es el caracter X
  6. ROL A65F7E80, D = EFD014CB
  7. EFD014CB - 4B   = EFD01480; //4Bhex es el caracter K
  8. ROL EFD01480, D = 02901DFA
  9. 02901DFA - 7A   = 02901D80; //7Ahex es el caracter z
  10. ROL 02901D80, D = 03B00052
  11. 03B00052 - 52   = 03B00000; // 52hex es el caracter R
  12. ROL 00000076, D = 00000076
  13. 00000076 - 76   = 00000000; //76hex es el caracter v

Por lo tanto, el serial válido es vRzKX8

Un saludo
Good work!
« Última modificación: 13 Enero 2019, 22:46 pm por karmany » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: KeyGenME fary - v1.0
« Respuesta #36 en: 13 Enero 2019, 23:03 pm »

Y así es como, de un reto "simple", se puede aprender mucho...

Felicitaciones y agradecimientos para todos los involucrados.

Saludos!
En línea

MCKSys Argentina

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

Geovane

Desconectado Desconectado

Mensajes: 208



Ver Perfil
Re: KeyGenME fary - v1.0
« Respuesta #37 en: 14 Enero 2019, 22:21 pm »

Hello friends

Hasta ahora tenemos un keygen que busca el primer serial válido.
Tenemos uno que busca mediante fuerza bruta


¿Dónde está lo que busca la contraseña correcta?

Recuerda a los amigos (ver los bits !!!)


Tengo la solución, voy a publicar si nadie encuentra.

Saludos.

En línea

Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019
apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: KeyGenME fary - v1.0
« Respuesta #38 en: 16 Enero 2019, 04:16 am »

Ya que esta esto resuelto, diré que la contraseña maestra es: f4RyKeY    :laugh:
;-)
En línea

Apuromafo
Páginas: 1 2 3 [4] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
KeygenMe en D
Ingeniería Inversa
avesudra 2 2,293 Último mensaje 24 Enero 2013, 17:05 pm
por avesudra
[KeygenMe] Android KeygenMe
Ingeniería Inversa
Høl¥ 0 2,067 Último mensaje 30 Enero 2013, 04:46 am
por Høl¥
[Keygenme] Aspid
Ingeniería Inversa
mr.blood 8 6,020 Último mensaje 21 Marzo 2013, 17:42 pm
por tincopasan
[KeygenMe] Matrix « 1 2 3 »
Ingeniería Inversa
mr.blood 28 12,629 Último mensaje 29 Marzo 2015, 12:37 pm
por ViejoMajara
Fary
Foro Libre
Stelio Kontos 1 1,844 Último mensaje 17 Febrero 2021, 17:37 pm
por el-brujo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines