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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Reto Septiembre 2012 De Reversing
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: Reto Septiembre 2012 De Reversing  (Leído 12,409 veces)
Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Reto Septiembre 2012 De Reversing
« en: 14 Septiembre 2012, 01:32 am »

Retos Septiembre 2012 Mes De Crackers

Hola amigos asi como dise el hilo mes de reversear un poco, a un que yo queria empesarlo el dia primero de cada mes  pero mientras seme ocurria y le pedia permiso al moderador, haremos una excepción bueno.

Cada mes pondre crackmes asi que el que quiera participar que partisipe abra del nivel 1, 2 y 3 para empezar y si quieren aumentar la dificultad la aumentamos o pedirme packers

Reglas:

1-No es obligado hacer tutoriales pero si lo quieren hacer aganlos para que aprendan los nuevos

2-Describir brevemente como logro crackearlo y mostrar la clave si es crackme o la clave para su nick si es keygenme

Para el primer mes que es este hay crackmes del nivel 1 y 2

cyclone
http://www.mediafire.com/?6ucbk6rbz6aeep1

FuelVM-Keygenme
http://www.mediafire.com/?ozpbmlp8g3o2z1m

MusicalCrackme
http://www.mediafire.com/?pl9mngk2co5rr8v

SerialMe
http://www.mediafire.com/?1b778y7i81inp6b

Simple_KGM_2
http://www.mediafire.com/?7po55bp57zfltop

los resultados como claves y seriales que se muestren aqui en este hilo como tambien las dudas y preguntas.

Bueno hay estan y que se diviertan

Saludos Flamer



En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Reto Septiembre 2012 De Reversing
« Respuesta #1 en: 14 Septiembre 2012, 02:25 am »

Flamer cyclone vencido, gracias por la colecta de los crackmes , el método antidebug de este no sé ni cual es, porque el olly no se me cierra , he usado el 2.01 , en cuanto a un tute pues pequeño tute:
1.Abrimos el crackme con el Olly , pulsamos F9 y caemos en el entry point del programa.
Estudio del crackme.
-Luego de pedir el serial , saca a este mismo de la memoria y lo rota 11 veces a la derecha.
Código
  1. MOV EAX,DWORD PTR DS:[4030BC]
  2. ROR EAX,11
  3. MOV EBX,554F0000
  4. CMP EAX,EBX
-Después lo compara con 554F0000.
Por lo que deducimos que si:
Código:
ROR x,11 = 554F0000
Donde x es el serial que metemos ,despejamos, la inversa de ror , es rol por lo que queda esto:
Código:
x =  ROL 554F0000,11
x = 0000AA9E que es igual a 43678 en decimal.
¡Un saludo!
« Última modificación: 14 Septiembre 2012, 02:26 am por avesudra » En línea

Regístrate en
Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Reto Septiembre 2012 De Reversing
« Respuesta #2 en: 14 Septiembre 2012, 02:51 am »

hola avesudra te dire cual es el otro fasil para que no te desanimes si no puedes con los demas

es el MusicalCrackme

se le tiene que hacer keygen el cual es fasil

saludos flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Tinkipinki

Desconectado Desconectado

Mensajes: 242



Ver Perfil
Re: Reto Septiembre 2012 De Reversing
« Respuesta #3 en: 14 Septiembre 2012, 02:52 am »

Hola Flamer.
SerialMe vencido.
Muy facil si se parchea y un poco lioso si vas a buscar el keygen ya que hace un sinfin de operaciones que al final siempre se acaban comparando con
Código:
8x@rtr25 en la direccion 401209

Saludos y felicitaciones por esta magnifica idea
En línea

Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Reto Septiembre 2012 De Reversing
« Respuesta #4 en: 14 Septiembre 2012, 03:08 am »

hola tinki si parchando en la direccion

Código:
0040120F   . /75 1E         JNZ SHORT SerialMe.0040122F

por

Código:
0040120F   . /75 1E         Je SHORT SerialMe.00401219

y queda listo

poniendo asi un serial de 8 digitos ya que el crackme pide 8 sino te manda al cartel incorrecto

saludos
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Reto Septiembre 2012 De Reversing
« Respuesta #5 en: 14 Septiembre 2012, 03:25 am »

Hola Flamer , ya estaba con ese crame  >:D , bueno ya está vencido, un pequeño tute.
1.Abrimos el programa con el Olly , buscamos las APIS a ver que hay de interesante... ummm GetDlgItemInt ... para que será? jeje , ponemos el breakpoint en las dos.
2.Bien , ejecutamos el programa dando F9 , ponemos nuestro ID , y el serial , y presionamos registrar.
3. Aleluya! , caemos en donde coge los seriales... Seguimos mirando , y coge mi ID , y lo mete en ebx, despues coge mi serial y lo mete en ECX...
4. Entramos al call , ese que hay ahí abajo , está muy claro , al serial , le suma 4C , lo incrementa en uno , le añade 38B , se añade a sí mismo , se multiplica por trés y se le resta uno.
5. Salimos del call y vemos una comparación de ebx con eax , ¿con eax? , si.. yo también me extrañé , pero es que al coger el serial en el ultimo GetDlgItemInt, devolvió su valor en eax , lo movió a ecx , pero no borró eax, por lo tanto está comparando nuestro serial original , con las operaciones que le ha hecho a nuestro ID.

Pues listo! Armemos nuestro keygen en ASM que estoy practicando jeje:
Código
  1. TITLE keygen (keygen.asm)
  2. .386 ; Hace el código compatible con el procesador 386
  3. .MODEL flat,stdcall
  4.  
  5. INCLUDE user32.inc
  6. INCLUDE kernel32.inc
  7. INCLUDE msvcrt.inc
  8. INCLUDELIB user32.lib
  9. INCLUDELIB kernel32.lib
  10. INCLUDELIB msvcrt.lib
  11. ;PARA TENER LOS BUFFERS
  12. __p__iob    PROTO C
  13.  
  14. _iobuf STRUCT
  15.    _ptr        DWORD ?
  16.    _cnt        DWORD ?
  17.    _base       DWORD ?
  18.    _flag       DWORD ?
  19.    _file       DWORD ?
  20.    _charbuf    DWORD ?
  21.    _bufsiz     DWORD ?
  22.    _tmpfname   DWORD ?
  23. _iobuf ENDS
  24.  
  25. FILE TYPEDEF _iobuf
  26.  
  27. ;PROTOTIPOS DE FUNCIONES EN C
  28.  
  29. EXTRN fgets:NEAR
  30. EXTRN sscanf:NEAR
  31. EXTRN getchar:NEAR
  32. EXTRN printf:NEAR
  33. EXTRN strlen:NEAR
  34. ;PROTOTIPOS DE FUNCIONES EN ASM
  35.  
  36.  
  37.  
  38. .data ;Datos del programa
  39.  
  40. MSG_ID BYTE "Ingrese su ID(maximo 4 digitos):",0
  41. MSG_KEY BYTE "Su serial es: %d",0Ah,0Dh,0
  42. PULSE_TECLA BYTE "Pulse intro para salir . . .",0
  43.  
  44. ;ESPECIFICADORES DE FORMATO
  45. ESPI BYTE "%d",0
  46. ESPS BYTE "%s",0
  47. .data?
  48. ID   DWORD ?
  49. SERIAL DWORD ?
  50. BUFFER_FGETS DWORD ?
  51. stdin  DWORD ?
  52. stdout DWORD ?
  53. stderr DWORD ?
  54. .code ;Código del programa
  55. main PROC
  56. ;Buffers
  57. call    __p__iob
  58.    mov     stdin,eax           ; #define stdin  (&__iob_func()[0])
  59.    add     eax,SIZEOF(FILE)
  60.    mov     stdout,eax          ; #define stdout (&__iob_func()[1])
  61.    add     eax,SIZEOF(FILE)
  62.    mov     stderr,eax          ; #define stderr (&__iob_func()[2])
  63. ;Inicio código.
  64. push OFFSET MSG_ID
  65. push OFFSET ESPS
  66. call printf
  67. ;COGEMOS DEL BUFFER DIEZ CARÁCTERES POR SI LAS MOSCAS.
  68. push stdin
  69. push 10
  70. push OFFSET BUFFER_FGETS
  71. call fgets
  72. ;COGEMOS EL ID DEL BUFFER DE FGETS CON SSCANF
  73. push OFFSET ID
  74. push OFFSET ESPI
  75. push OFFSET BUFFER_FGETS
  76. call sscanf
  77. ;;;;;;;;;;;;;;;;;;;;;;;;
  78. ;CREACIÓN DEL SERIAL   ;
  79. ;;;;;;;;;;;;;;;;;;;;;;;;
  80. mov ebx ,ID   ;
  81. add ebx,4Ch   ;
  82. inc ebx   ;
  83. add ebx,38Bh   ;
  84. add ebx,ebx   ;
  85. imul ebx,3   ;
  86. dec ebx   ;
  87. ;;;;;;;;;;;;;;;;;;;;;;;;
  88. ;IMPRIMIMOS SERIAL
  89. push ebx
  90. push OFFSET MSG_KEY
  91. call printf
  92. ;IMPRIMIMOS PARA AVISAR
  93. push OFFSET PULSE_TECLA
  94. push OFFSET ESPS
  95. call printf
  96. ;CUANDO PULSE INTRO CERRAMOS
  97. call getchar
  98. invoke ExitProcess,0
  99. ret
  100.  
  101. main endp
  102. END main
  103.  
Y no podía abandonar a mi querido C , uff , que liviano se me hace al ASM:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    char * buffer_fgets = malloc(10);
  7.    int ID;
  8.    int serial;
  9.    printf("Ingresa el ID (4 caracteres maximo):");
  10.    fgets(buffer_fgets,6,stdin);
  11.    sscanf(buffer_fgets,"%d",&ID);
  12.    serial=ID;
  13.    //Rutina de creación.
  14.    serial+=76;//4c en hex
  15.    ++serial;
  16.    serial+=907;//38b en hex
  17.    serial+=serial;
  18.    serial*=3;
  19.    --serial;
  20.    printf("Tu serial es: %d \n",serial);
  21.    printf("Presione intro para terminar . . .");
  22.    getchar();
  23.    return 0;
  24. }
  25.  
« Última modificación: 14 Septiembre 2012, 03:43 am por avesudra » En línea

Regístrate en
Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Reto Septiembre 2012 De Reversing
« Respuesta #6 en: 14 Septiembre 2012, 03:38 am »

Felisidades avesudra me sorprendiastes hasta en masm lo hisistes
yo tambien estoy practicando masm a ratos cuando puedo pero seme hizo mas fasil hacerlo en vb6

saludos flamer y felisitaciones los demas si estan un poco complicados
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Reto Septiembre 2012 De Reversing
« Respuesta #7 en: 14 Septiembre 2012, 03:42 am »

Felisidades avesudra me sorprendiastes hasta en masm lo hisistes
yo tambien estoy practicando masm a ratos cuando puedo pero seme hizo mas fasil hacerlo en vb6

saludos flamer y felisitaciones los demas si estan un poco complicados
Si bueno no estoy acostumbrado a hacer crackmes pero los fáciles me mata la curiosidad jajaja , ya que estoy aprendiendo no viene mal , aunque también lo he puesto en C , es normal que para hacer estas cosas recurramos a lenguajes de más alto nivel. Voy a intentar mirar el SerialMe.

¡Un saludo!
En línea

Regístrate en
Иōҳ


Desconectado Desconectado

Mensajes: 563


Ver Perfil
Re: Reto Septiembre 2012 De Reversing
« Respuesta #8 en: 14 Septiembre 2012, 04:48 am »

Si pones unpacking me puedo animar :P
En línea

Eres adicto a la Ing. Inversa? -> www.noxsoft.net
Flamer


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Reto Septiembre 2012 De Reversing
« Respuesta #9 en: 14 Septiembre 2012, 05:52 am »

Si pones unpacking me puedo animar :P

ya esta nox para el mes que sigue que es octubre subo 2

para los demas usuarios pidanme el nivel que quieran y los subo, solo puse estos fasiles para empezar y tambien por que estamos a 14 de Septiembre

el siguiente sera el 1 de octubre

saludos Flamer
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
II Reto Forense Digital Sudamericano - Perú Chavín de Huantar 2012
Seguridad
nprosperu 1 3,159 Último mensaje 13 Julio 2012, 19:18 pm
por r32
Reto Octubre 2012 de reversing « 1 2 3 »
Ingeniería Inversa
Flamer 25 11,964 Último mensaje 31 Octubre 2012, 00:42 am
por Flamer
Reto Noviembre 2012 de reversing « 1 2 »
Ingeniería Inversa
Flamer 17 8,087 Último mensaje 26 Noviembre 2012, 02:08 am
por p0rny
Reto Enero 2013 De reversing
Ingeniería Inversa
Flamer 2 2,764 Último mensaje 30 Enero 2013, 03:48 am
por Flamer
Reto Mayo 2013 De reversing « 1 2 »
Ingeniería Inversa
Flamer 15 8,320 Último mensaje 30 Mayo 2013, 16:48 pm
por Flamer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines