Skip to main content

Seu primeiro crackme – Fergo_ex1

Ferramentas

  OllyDBG.zip ( 16 downloads)

Nosso alvo

Crackme criado por fergo, muito simples de ser revertido.

  fergo_ex1.zip ( 19 downloads)

Objetivo

Encontrar a mensagem correta.

Análise dinâmica

Executamos o “fergo ex1.exe” e é exibido uma mensagem “Encontre o texto mocado” com título “Fergonez”, após clicar no botão “OK” o software é encerrado.

Debugging

Vamos abrir o software no OllyDBG “File -> Open” e selecione “fergo ex1.exe”

Vamos traçar usando “Debug -> Step over F8” ou com o atalho F8.

Nos endereços 00401015 e 0040101B acessamos diretamente os endereços de memoria 00403000 e 00403009, podemos ver o resultado clicando em cima da linha correspondente e aparecera na janela panel do OllyBDG:

Address=00403000, (ASCII “Fergonez”)
Address=00403009, (ASCII “Encontre o texto mocado!”)

Nos endereços 00401023 e 00401024 percebemos a preparação para a chamada da MessageBoxA podemos confirmar os paramentos na MSDN.

Se você for curioso o suficiente já percebeu que a linha que o software pulou também acessa um endereço de memoria:

Address=0040302F, (ASCII “Parabéns, você o encontrou!”)

E ele é salvo em EAX e EBX, justamente o título(title) e a mensagem(text) da MessageBoxA, o segredo todo está nas 3 primeiras linhas.

Aplicando o patch

Há duas formas de se chegar ao resultado correto:

1 – Alterar a segunda linha para fazer a comparação com 1, clicando na segunda linha ou pressionando espaço e modificar o ultimo valor para 1 “CMP EAX, 1”.

2 – Nopear a terceira linha, clique direito na terceira linha, vá em “Binary->Fill with NOPs”.

Após escolher uma das opções vamos salvar o software modificado:

“Clique direito na linha modificada -> Copy to executable -> Selection”

Na próxima tela “Clique direito na primeira linha -> Save file” e salve como “fergo ex1_mod.exe”.

Avaliação dos resultados

Executamos o software modificado e lá esta a nossa mensagem nos felicitando.

Sombrakey

Entusiasta em engenharia reversa de software, sempre querendo aprender mais.