Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: TrashAmbishion en 28 Septiembre 2013, 18:54 pm



Título: Problemas con fuerza bruta ?
Publicado por: TrashAmbishion en 28 Septiembre 2013, 18:54 pm
Codigo de Fuerza Bruta:

Código
  1. 00401574   > \60            PUSHAD
  2. 00401575   .  B8 7E214000   MOV EAX,CRACKME-.0040217E
  3. 0040157A   .  33C9          XOR ECX,ECX
  4. 0040157C   >  8B1C08        MOV EBX,DWORD PTR DS:[EAX+ECX]
  5. 0040157F   .  80FB 39       CMP BL,39
  6. 00401582   .  74 0A         JE SHORT CRACKME-.0040158E
  7. 00401584   .  66:41         INC CX
  8. 00401586   .  66:83F9 05    CMP CX,5
  9. 0040158A   .^ 75 F0         JNZ SHORT CRACKME-.0040157C
  10. 0040158C   .  EB 02         JMP SHORT CRACKME-.00401590
  11. 0040158E   >  B3 30         MOV BL,30
  12. 00401590   >  FEC7          INC BH
  13. 00401592   .  891C08        MOV DWORD PTR DS:[EAX+ECX],EBX
  14. 00401595   .  33C9          XOR ECX,ECX
  15. 00401597   .  8B18          MOV EBX,DWORD PTR DS:[EAX]
  16. 00401599   .  FEC3          INC BL
  17. 0040159B   .  8918          MOV DWORD PTR DS:[EAX],EBX
  18. 0040159D   .  61            POPAD
  19. 0040159E   .  50            PUSH EAX
  20. 0040159F   .  68 7E214000   PUSH CRACKME-.0040217E
  21. 004015A4   .^ E9 8FFCFFFF   JMP CRACKME-.00401238

Ahora en el Tutorial explican que el codigo de abajo lo que debe de hacer es lo siguiente CITO:


Esta parte ya la explicamos es la que hace los cambios cuando encuentra que una cifra es el valor máximo, incrementa uno BH que es la cifra siguiente y pone a 30 o sea al mínimo BL o sea la misma cifra.


Código
  1. 00401E79      EB 14         JMP SHORT Cm3.00401E8F
  2. 00401E7B      90            NOP
  3. 00401E7C      B3 30         MOV BL,30
  4. 00401E7E      FEC7          INC BH
  5. 00401E80      891C08        MOV DWORD PTR DS:[EAX+ECX],EBX

Pero el problema esta en ese ultimo MOV vean lo que me hace

(http://s23.postimg.org/fnqs3pyxn/Dibujo.png)

Pueden ver como estan las cosas antes de pasar el MOV y cuando lo paso con F7

(http://s23.postimg.org/gmbqjr1nf/Dibujo.png)

Me agrega un 0

Como puedo solucionar esto.. Salu2


Título: Re: Problemas con fuerza bruta ?
Publicado por: .:UND3R:. en 28 Septiembre 2013, 21:37 pm
Código
  1. INICIO:
  2.  PUSHAD
  3.  MOV EAX,ADDRESS SERIAL
  4.  XOR ECX,ECX
  5. A)MOV EBX,DWORD PTR DS:[EAX+ECX]
  6.  CMP BL,5A
  7.  JE B
  8.  INC CX
  9.  CMP CX,Nº CARACTERES
  10.  JNZ A
  11.  JMP C
  12. B)MOV BL,30
  13.  INC BH
  14.  MOV DWORD PTR DS:[EAX+ECX],EBX
  15.  NOP
  16.  NOP
  17.  JMP INTRODUCCIÓN DEL SERIAL DENTRO DEL PROGRAMA
  18. C)XOR ECX,ECX
  19.  MOV EBX,DWORD PTR DS:[EAX]
  20.  INC BL
  21.  MOV DWORD PTR DS:[EAX],EBX
  22.  POPAD
  23.  JMP INTRODUCCIÓN DEL SERIAL DENTRO DEL PROGRAMA

Código
  1.    PUSHAD
  2.    MOV ESI,ADDRESS SERIAL
  3.    MOV ECX,Nº de caracteres
  4. A) DEC ECX
  5.    MOV AL,BYTE PTR DS:[ECX+ESI]
  6.    CMP AL,5A (MAXIMO NUMERO)
  7.    JNZ B
  8.    MOV AL,30H (VALOR 0)
  9.    MOV BYTE PTR DS:[ECX+ESI],AL
  10.    JMP A
  11. B) INC AL
  12.    MOV BYTE PTR DS:[ECX+ESI],AL
  13.    POPAD
  14.    JMP INTRODUCIR SERIAL

Solo debes adaptarlo al programa adecuado (son dos alternativas).


Título: Re: Problemas con fuerza bruta ?
Publicado por: TrashAmbishion en 28 Septiembre 2013, 21:44 pm
Lo unico que le corregí porque creo que es una correcion, sino porfavor disculpenme es en la sección B) falta un POPAD antes del JMP del primer ejemplo