E não demorou quase nada!
Parabéns ao Fernando Mercês e ao Andrey Arapov que quebraram rapidinho o binário utilizando formas distintas e super interessantes.
Este é o walk through (análise dinâmica) do Andrey.
Abaixo o do Fernando Mercês (análise estática).
Resumindo, o ELF Header do crackme.03.32 foi feito com base no Teensy ELF Header do Brian Raiter, ou seja, totalmente à mão, e não pelos assembler e linker (este último que nem foi necessário). Por isso a "mágica" do entrypoint estar na área que pertenceria somente ao Header. ;) Para conseguir isso, utilizei fields do header que são desprezados na inicialização do binário, aglutinando-os e brincando com eles para atingir o "mal necessário".
Outro aspecto do binário é o desofuscamento dinâmico da string 'Omedetou' por meio do algoritmo uzumaki.
Há, também, dois checksums: um do header (com chave criptografada) e o outro do binário inteiro (com chave simples).
Mas tudo isso foi implementado apenas para desviar o cracker do caminho mais simples que é o "patch the jump".
Espero que tenham gostado.
Até a próxima! o//
Nenhum comentário:
Postar um comentário