Crackme - 0x01
Fala galera blza?, primeiramente .. Obrigado por compartilhar esse Crackme e fico muito feliz em poder analisar-lo. Abaixo coloquei algumas informações que levantei durante a análise deste binário, e por fim vou mostrar como resolver o Crackme.
Informações Complementares
ID at crackmes.one : 6004daf233c5d42c3d016717
- Tipo de arquivo : PE EXE
- MD5 : 258C36834824BCAD568572F703A1DBB4
- SHA56 : 7FA4CD1C6451F9FD94A65CED9939B75315E57A90D3E01BEDAEB7F11DBF40E39D
- Compilador/Linguagem : MinGW(gcc-3.4.5)[C lang]
- Protection/Packer : Nada
- Strings interessantes : Nada
Dicas para encontrar a solução
Breakpoints at Adress :
-
0x00401347
= Endereço do CMP que é capaz de alterar o fluxo do programa, para fazer um Path por exemplo. -
0x004012D0
= Inicio rotina principal que escreve no console, e que faz um IF para comparar o que digitamos com a string verdadeira.
Calls importantes :
0x004010B1
= Endereço da CALL que entra na rotina pricipal.
Resolvendo o Crackme
Na rotina principal no adress 0x4012D0
antes do programa chamar o último ‘printf’ em 0x40132C
, vemos o valor 0x1232B14
sendo movido para a Stack.
Conforme trecho de código abaixo que vemos no debugger :
0040131E | C745 FC 142B2301| mov dword ptr ss:[ebp-4],1232B14
Depois da ‘scanf’ que é função que lê os bytes que digitamos
no console, temos um if no adress 0x401347
que compara
os bytes digitados no console com o valor que movemos logo acima /\ para a Stack logo acima e depois salta para o último
‘printf’. Conforme o código abaixo, copiado do debugger :
00401347 | 3B45 FC | cmp eax,dword ptr ss:[ebp-4] |
0040134A | 75 0E | jne crackme.40135A |
A partir daqui, nós conseguimos alterar o fluxo do programa naquele if do adress 0x401347
e já entendemos que a ‘Chave’ pra resolver o Crackme, é esse valor que foi movido para Stack ( 0x1232B14
). Então vamos coverter esse
valor para Decimal e tentar resolver o Crackme :
- usei o python para fazer a conversão de hexa para decimal :
>>> print 0x1232B14
19082004
>>>
- agora rodamos o crackme e usamos a key encontrada:
********************************************
* Crackme by @Danofred0 *
********************************************
Veuillez entrer le mot de passe pour acceder au contenu:
19082004
True !!
Pressione qualquer tecla para continuar. . .
Voilà!
Flw galera, espero que tenha ficado de boas para entender! Qualquer dúvida só chamar, que estou á disposição =)