Codigo de Fuerza Bruta:
00401574 > \60 PUSHAD
00401575 . B8 7E214000 MOV EAX,CRACKME-.0040217E
0040157A . 33C9 XOR ECX,ECX
0040157C > 8B1C08 MOV EBX,DWORD PTR DS:[EAX+ECX]
0040157F . 80FB 39 CMP BL,39
00401582 . 74 0A JE SHORT CRACKME-.0040158E
00401584 . 66:41 INC CX
00401586 . 66:83F9 05 CMP CX,5
0040158A .^ 75 F0 JNZ SHORT CRACKME-.0040157C
0040158C . EB 02 JMP SHORT CRACKME-.00401590
0040158E > B3 30 MOV BL,30
00401590 > FEC7 INC BH
00401592 . 891C08 MOV DWORD PTR DS:[EAX+ECX],EBX
00401595 . 33C9 XOR ECX,ECX
00401597 . 8B18 MOV EBX,DWORD PTR DS:[EAX]
00401599 . FEC3 INC BL
0040159B . 8918 MOV DWORD PTR DS:[EAX],EBX
0040159D . 61 POPAD
0040159E . 50 PUSH EAX
0040159F . 68 7E214000 PUSH CRACKME-.0040217E
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.
00401E79 EB 14 JMP SHORT Cm3.00401E8F
00401E7B 90 NOP
00401E7C B3 30 MOV BL,30
00401E7E FEC7 INC BH
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
INICIO:
PUSHAD
MOV EAX,ADDRESS SERIAL
XOR ECX,ECX
A)MOV EBX,DWORD PTR DS:[EAX+ECX]
CMP BL,5A
JE B
INC CX
CMP CX,Nº CARACTERES
JNZ A
JMP C
B)MOV BL,30
INC BH
MOV DWORD PTR DS:[EAX+ECX],EBX
NOP
NOP
JMP INTRODUCCIÓN DEL SERIAL DENTRO DEL PROGRAMA
C)XOR ECX,ECX
MOV EBX,DWORD PTR DS:[EAX]
INC BL
MOV DWORD PTR DS:[EAX],EBX
POPAD
JMP INTRODUCCIÓN DEL SERIAL DENTRO DEL PROGRAMA
PUSHAD
MOV ESI,ADDRESS SERIAL
MOV ECX,Nº de caracteres
A) DEC ECX
MOV AL,BYTE PTR DS:[ECX+ESI]
CMP AL,5A (MAXIMO NUMERO)
JNZ B
MOV AL,30H (VALOR 0)
MOV BYTE PTR DS:[ECX+ESI],AL
JMP A
B) INC AL
MOV BYTE PTR DS:[ECX+ESI],AL
POPAD
JMP INTRODUCIR SERIAL
Solo debes adaptarlo al programa adecuado (son dos alternativas).
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