Jump to content

Crackme Level 1


gzn

Recommended Posts

Posted

Esse crackme é bem simples, ele tem uma etapa basicamente idêntica ao crackme 0 do @Pimptech, porém, tem mais dois desafios simples.

Como eu acredito que sempre seria bom publicar o código fonte (até para ver se a intenção do usuário do fórum não era mesmo prejudicar o computador de alguém), estou publicando o código fonte só que ele está criptografado (uma das técnicas mais simples e que nem é segura rs). Se você soube resolver o último desafio você fez isso.

Lembre-se de colocar os dois arquivos na mesma pasta.

Obs.: galera, sou iniciante, não exijam muito de mim kkk

gzn@note ~/Downloads % sha1sum crackme_level1.*  
94851a1cfedd3fcef047955d21638565510c3958  crackme_level1.c
ef6fe15642a573010396fd16590f475aa4542053  crackme_level1.exe

crackme_level1.c

crackme_level1.exe

 

Geralmente qual é o primeiro caractere encontrado em um arquivo fonte de C? A # (cerquilha, jogo da velha ou tralha).

E o caractere # é o 35 na tabela ASCII


man ascii|grep -m1 -F \#
043   35    23    # ...

Agora qual é o primeiro byte do arquivo crackme_level1.c? 36 em decimal (de 24 em hexadecimal)


hd -n1 crackme_level1.c
00000000  24 ...

Qual operação bit a bit que podemos usar para transformar 35 em 36?

Qual operação bit a bit é muito usada para criptografia? Não seria o XOR?

35 ^ X = 36.

X = 36 ^ 35


100011
^
100100
-------
000111 = 7
Posted

Como ninguém deu feedback :( vou dar algumas dicas

Ferramentas que você pode usar:

* PEID, DIE, etc., só para você saber superficialmente o compilador e se tem algum packer =)

* x64dbg limpo (sem plugin nenhum da pra resolver)

* uma linguagem de programação que você domine (para resolver o último desafio e descobrir o código fonte)

Quem tiver dúvidas eu ajudo.

  • 4 weeks later...
Posted

Tudo bem gzn??

Bacana este seu desafio resolvi os dois primeiros passos, e estou nervoso por que causa do terceiro .,,,, kkkkk ... Me falta background ainda ....Mas chego lá... Me da uma dica para resolver isso.

Obrigado.

Posted

@ceconelo 

Já viu o filme jogo da imitação cujo roteiro aborda criptografia? Pois então, embora nesse filme não tenha nada técnico sobre criptografia ele fala que o código dos nazi foi quebrado porque existia sempre uma sequencia conhecida na mensagem cifrada pela enigma (o cumprimento ao líder da nação se não me engano). Isso facilitou muito a quebra do código.

Bom, com essa dica, eu faria a pergunta: O que geralmente tem em um arquivo cuja fonte é escrita em linguagem C? Existe algum trecho de código que você tem quase que a certeza que ele existe no fonte? Sim! E pelo visto você viu que eu usei funções bem comuns da biblioteca padrão da linguagem C! Mas nessa caso poderia ser mais simples ainda!

Você já ouviu falar de força bruta? Imagine o seguinte: você pega cada byte desse arquivo e faz uma operação muito simples e tem um resultado! Quando você fizer isso com os bytes do arquivo e tiver algo que você já conhece você mata a charada!

Eu não manjo quase nada de criptografia (estou mais na perspectiva de um usuário). Quando eu fizer algum estudo prático sobre criptografia planejo complementar esse crackme com alguns conceitos básicos de como quebrar essas coisas!

Boa diversão!

  • 3 weeks later...
Posted

Eu tava querendo analisar, mas tava sem tempo. Hoje sobrou tempo! 
Nice crackme! =))
 

Spoiler

421-128-111

UPX

7

Usou o mingw p compilar ?

Valeu! Abs! 

  • 3 months later...
  • 4 weeks later...
Posted

Um pouco atrasado mas segue:

Etapa 1: 421-128-111 (string encontrada no binário);

Etapa 2: UPX que é o empacotador utilizado;

Etapa 3: O arquivo de código-fonte foi "cifrado" byte-a-byte pelo valor 7 (0x07), em anexo código original e código Python para "decifrar";

 

Valeu gzn, abs!

 

secret.c

dec.py

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...