hola Flamer:
3 cosas:
1)¿pódes poner un link al crackme? no me pongo a buscarlo ni loco y prefiero ver que hace
2)tengo la curiosidad ¿los valores son en hexa o decimales? porque supongo que si los pusiste tal cual el debugger que uses están en hexa, pero por las dudas pregunto.
3)¿el serial tiene límite de largo?
en fin por si acaso quiero saber más, es que te pido poder verlo.
la primer parte es fácil conseguir un serial valido en hexa, pero quiero estar seguro para seguir con la segunda.
Saludos
todos los valores que puse son en decimal
el serial debe de ser de 8 dígitos en adelante....al parecer no tiene limite
el crackme al descargarlo viene empacado con upx pero con la opción de -d se puede desempacar
esta es la parte de la fase 1
00401E44 | 55 | push ebp |
00401E45 | 89E5 | mov ebp,esp |
00401E47 | 83EC 18 | sub esp,18 |
00401E4A | 66:C745 FE 0000 | mov word ptr ss:[ebp-2],0 |
00401E50 | C645 FD 00 | mov byte ptr ss:[ebp-3],0 |
00401E54 | 0FBE45 FD | movsx eax,byte ptr ss:[ebp-3] |
00401E58 | 894424 04 | mov dword ptr ss:[esp+4],eax |
00401E5C | 8B45 08 | mov eax,dword ptr ss:[ebp+8] |
00401E5F | 83C0 08 | add eax,8 |
00401E62 | 890424 | mov dword ptr ss:[esp],eax |
00401E65 | E8 7AE10200 | call app8.42FFE4 |
00401E6A | 8038 00 | cmp byte ptr ds:[eax],0 |
00401E6D | 74 2F | je app8.401E9E |
00401E6F | 0FBE45 FD | movsx eax,byte ptr ss:[ebp-3] |
00401E73 | 894424 04 | mov dword ptr ss:[esp+4],eax |
00401E77 | 8B45 08 | mov eax,dword ptr ss:[ebp+8] |
00401E7A | 83C0 08 | add eax,8 |
00401E7D | 890424 | mov dword ptr ss:[esp],eax |
00401E80 | E8 5FE10200 | call app8.42FFE4 |
00401E85 | 66:0FBE10 | movsx dx,byte ptr ds:[eax] |
00401E89 | 0FB745 FE | movzx eax,word ptr ss:[ebp-2] |
00401E8D | 8D0402 | lea eax,dword ptr ds:[edx+eax] |
00401E90 | 83E8 20 | sub eax,20 |
00401E93 | 66:8945 FE | mov word ptr ss:[ebp-2],ax |
00401E97 | 8D45 FD | lea eax,dword ptr ss:[ebp-3] |
00401E9A | FE00 | inc byte ptr ds:[eax] |
00401E9C | EB B6 | jmp app8.401E54 |
00401E9E | 66:817D FE 0A02 | cmp word ptr ss:[ebp-2],20A |
00401EA4 | 0F94C0 | sete al |
00401EA7 | 0FB6C0 | movzx eax,al |
00401EAA | C9 | leave |
00401EAB | C3 | ret |
y haca la segunda fase
00401EAC | 55 | push ebp |
00401EAD | 89E5 | mov ebp,esp |
00401EAF | 83EC 18 | sub esp,18 |
00401EB2 | D9E8 | fld1 |
00401EB4 | DD5D F8 | fstp qword ptr ss:[ebp-8],st(0) |
00401EB7 | C645 F7 00 | mov byte ptr ss:[ebp-9],0 |
00401EBB | 0FBE45 F7 | movsx eax,byte ptr ss:[ebp-9] |
00401EBF | 894424 04 | mov dword ptr ss:[esp+4],eax |
00401EC3 | 8B45 08 | mov eax,dword ptr ss:[ebp+8] |
00401EC6 | 83C0 08 | add eax,8 |
00401EC9 | 890424 | mov dword ptr ss:[esp],eax |
00401ECC | E8 13E10200 | call app8.42FFE4 |
00401ED1 | 8038 00 | cmp byte ptr ds:[eax],0 |
00401ED4 | 74 76 | je app8.401F4C |
00401ED6 | 0FB645 F7 | movzx eax,byte ptr ss:[ebp-9] |
00401EDA | 24 01 | and al,1 |
00401EDC | 84C0 | test al,al |
00401EDE | 75 36 | jne app8.401F16 |
00401EE0 | 0FBE45 F7 | movsx eax,byte ptr ss:[ebp-9] |
00401EE4 | 894424 04 | mov dword ptr ss:[esp+4],eax |
00401EE8 | 8B45 08 | mov eax,dword ptr ss:[ebp+8] |
00401EEB | 83C0 08 | add eax,8 |
00401EEE | 890424 | mov dword ptr ss:[esp],eax |
00401EF1 | E8 EEE00200 | call app8.42FFE4 |
00401EF6 | 0FBE00 | movsx eax,byte ptr ds:[eax] |
00401EF9 | 83E8 20 | sub eax,20 |
00401EFC | 50 | push eax |
00401EFD | DB0424 | fild st(0),dword ptr ss:[esp] |
00401F00 | 8D6424 04 | lea esp,dword ptr ss:[esp+4] |
00401F04 | DD05 40104400 | fld st(0),qword ptr ds:[441040] |
00401F0A | DEF9 | fdivp st(1),st(0) |
00401F0C | DD45 F8 | fld st(0),qword ptr ss:[ebp-8] |
00401F0F | DEC9 | fmulp st(1),st(0) |
00401F11 | DD5D F8 | fstp qword ptr ss:[ebp-8],st(0) |
00401F14 | EB 2C | jmp app8.401F42 |
00401F16 | 0FBE45 F7 | movsx eax,byte ptr ss:[ebp-9] |
00401F1A | 894424 04 | mov dword ptr ss:[esp+4],eax |
00401F1E | 8B45 08 | mov eax,dword ptr ss:[ebp+8] |
00401F21 | 83C0 08 | add eax,8 |
00401F24 | 890424 | mov dword ptr ss:[esp],eax |
00401F27 | E8 B8E00200 | call app8.42FFE4 |
00401F2C | 0FBE00 | movsx eax,byte ptr ds:[eax] |
00401F2F | 83E8 20 | sub eax,20 |
00401F32 | 50 | push eax |
00401F33 | DB0424 | fild st(0),dword ptr ss:[esp] |
00401F36 | 8D6424 04 | lea esp,dword ptr ss:[esp+4] |
00401F3A | DD45 F8 | fld st(0),qword ptr ss:[ebp-8] |
00401F3D | DEC9 | fmulp st(1),st(0) |
00401F3F | DD5D F8 | fstp qword ptr ss:[ebp-8],st(0) |
00401F42 | 8D45 F7 | lea eax,dword ptr ss:[ebp-9] |
00401F45 | FE00 | inc byte ptr ds:[eax] |
00401F47 | E9 6FFFFFFF | jmp app8.401EBB |
00401F4C | DD45 F8 | fld st(0),qword ptr ss:[ebp-8] |
00401F4F | DD05 48104400 | fld st(0),qword ptr ds:[441048] |
00401F55 | DAE9 | fucompp |
00401F57 | DFE0 | fnstsw ax |
00401F59 | 9E | sahf |
00401F5A | 0F94C0 | sete al |
00401F5D | 0F9BC2 | setnp dl |
00401F60 | 20D0 | and al,dl |
00401F62 | 0FB6C0 | movzx eax,al |
00401F65 | C9 | leave |
00401F66 | C3 | ret |
no me queda otra opción creo que tengo que hacer un algoritmo para imprimir todos los números que sumen 522 desde el 1 al 90.....revertir el salto es fácil pero creo que ese no es el chiste
Saludos Flamer