A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Oficina

Rebelx crackme três (I-1)

Seg

21

Ago

2006


17:03

(31 votos, média 4.77 de 5) 


O código descompilado

O PEid possui um decompilador simplificado que é uma mão na roda para quem tem alguma noção de Assembly. Se este não é o seu caso, sinto muito... vai ser difícil acompanhar a conversa daqui pra frente. Se você sabe do que eu estou falando, então mãos à obra e vamos lá.

Com o Rebelx descompactado e carregado no PEid, clique no botão [>] ao lado de First Bytes. Você obtém uma janela identificada por PE Disassembler v0.03 :: CADT. No rodapé desta janela clique no botão [Strings] para abrir a janela seguinte. Dê uma procurada até achar a string mostrada abaixo:

Strings
Procurando strings com o PEid

Ahá! Se o Rebelx não dá mensagens de erro, pelo menos dá os parabéns quando acertamos o dupla nome-serial! Dê um duplo clique sobre a string Congratulations! The serial is correct. O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo. para abrir uma nova janela cujo nome é PEiD Reference Viewer v0.01 e onde aparece o Offset e o RVA. Não desanime - dê outro duplo clique na única linha mostrada para posicionar o código no desassemblador. Clique no botão [OK] para fechar a janela PEiD Reference e no botão [Close] da janlea PEiD String Viewer v0.02. Agora, a primeira linha do PE Disassembler mostra a string que nos interessa.

A pergunta agora é: como chegamos até esta mensagem? O jeito é dar uma olhada no código que está um pouco antes deste ponto. Como a mensagem é referida no endereço 00453B49 (seu endereço pode ser diferente!), digite na caixa de texto localizada no rodapé e identificada por Start From um endereço um pouco menor - por exemplo, 00453A00 - e depois clique no botão [>] imediatamente ao lado. O código desassemblado é novamente reposicionado. Agora, é um abraço. Localize o seguinte:

00453A81: 33C0                     XOR EAX, EAX
00453A83: A0046C4500               MOV AL, [456C04]
00453A88: 85C0                     TEST EAX, EAX
00453A8A: 7E0C                     JLE 453A98
00453A8C: BA056C4500               MOV EDX, 00456C05
00453A91: 803214                   XOR BYTE PTR [EDX], 14
00453A94: 42                       INC EDX
00453A95: 48                       DEC EAX
00453A96: 75F9                     JNZ 453A91
00453A98: 33C0                     XOR EAX, EAX
00453A9A: A0046D4500               MOV AL, [456D04]
00453A9F: 85C0                     TEST EAX, EAX
00453AA1: 7E0C                     JLE 453AAF
00453AA3: BA056D4500               MOV EDX, 00456D05
00453AA8: 803219                   XOR BYTE PTR [EDX], 19
00453AAB: 42                       INC EDX
00453AAC: 48                       DEC EAX
00453AAD: 75F9                     JNZ 453AA8
00453AAF: 33C0                     XOR EAX, EAX
00453AB1: A0046E4500               MOV AL, [456E04]
00453AB6: 85C0                     TEST EAX, EAX
00453AB8: 7E0C                     JLE 453AC6
00453ABA: BA056E4500               MOV EDX, 00456E05
00453ABF: 803217                   XOR BYTE PTR [EDX], 17
00453AC2: 42                       INC EDX
00453AC3: 48                       DEC EAX
00453AC4: 75F9                     JNZ 453ABF
00453AC6: 33C0                     XOR EAX, EAX
00453AC8: A0046F4500               MOV AL, [456F04]
00453ACD: 85C0                     TEST EAX, EAX
00453ACF: 7E0C                     JLE 453ADD
00453AD1: BA056F4500               MOV EDX, 00456F05
00453AD6: 803218                   XOR BYTE PTR [EDX], 18
00453AD9: 42                       INC EDX
00453ADA: 48                       DEC EAX
00453ADB: 75F9                     JNZ 453AD6
00453ADD: 8D45EC                   LEA EAX, [EBP-14]
00453AE0: BA046C4500               MOV EDX, 00456C04
00453AE5: E81A07FBFF               CALL 00404204
00453AEA: FF75EC                   PUSH [EBP-14]
00453AED: 8D45E8                   LEA EAX, [EBP-18]
00453AF0: BA046D4500               MOV EDX, 00456D04
00453AF5: E80A07FBFF               CALL 00404204
00453AFA: FF75E8                   PUSH [EBP-18]
00453AFD: 8D45E4                   LEA EAX, [EBP-1C]
00453B00: BA046E4500               MOV EDX, 00456E04
00453B05: E8FA06FBFF               CALL 00404204
00453B0A: FF75E4                   PUSH [EBP-1C]
00453B0D: 8D45E0                   LEA EAX, [EBP-20]
00453B10: BA046F4500               MOV EDX, 00456F04
00453B15: E8EA06FBFF               CALL 00404204
00453B1A: FF75E0                   PUSH [EBP-20]
00453B1D: B804704500               MOV EAX, 00457004
00453B22: BA04000000               MOV EDX, 00000004
00453B27: E8F407FBFF               CALL 00404320
00453B2C: 8D55DC                   LEA EDX, [EBP-24]
00453B2F: 8B83FC020000             MOV EAX, [EBX+000002FC]
00453B35: E89AF0FDFF               CALL 00432BD4
00453B3A: 8B55DC                   MOV EDX, [EBP-24]
00453B3D: A104704500               MOV EAX, [457004]
00453B42: E86508FBFF               CALL 004043AC
00453B47: 750A                     JNZ 453B53
00453B49: B8983B4500               MOV EAX, 00453B98 -> Congradulations! The serial is correct.
                                                        jules@orbit.za.net

Observe as quatro instruções destacadas em vermelho. Será que agora dá para descobrir como é montado o número serial?

Informações adicionais