Oficina
kiTo KGNmeAGAiN (C-1)
Seg 28 Ago 2006 10:20 |
- Detalhes
- Categoria: Pilotando o rato C-1
- Atualização: Quarta, 22 Abril 2009 11:09
- Autor: vovó Vicki
- Acessos: 11874
Para resolver este keygen-me é preciso muita lógica e algum conhecimento de criptografia.
O programa
O programa foi escrito por kiTo usando a linguagem Assembly para a plataforma Windows. Publicado no site crackmes.de em 06.08.06.
Objetivo do desafio
Criar um keygen que forneça um serial correto para cada nome de usuário.
Analisando o programa
O programa apresenta duas caixas de texto (uma para o nome do usuário e outra para o serial), uma área de texto desabilitada com 24 caracteres (no meu caso são NTE0MDA4MjhOVEUwTURBNE==) e um botão identificado com [Check]. Deixando tudo como está e clicando no botão - nada acontece. Informando um nome de usuário (pra variar, usei "teste") e um serial qualquer (como sempre, usei "aaaaa") - também nada acontece. A primeira conclusão é de que não há mensagens de erro. Hmmm, sem strings para dar apoio a coisa fica um pouco mais complicada. A esperança é que o autor tenha colocado uma mensagem para informar que o serial está correto.
Planejando o ataque
Como não temos muitas informações de como funciona o programa ou de como ele foi planejado, só nos resta tentar encontrar strings que nos posicionem no código e nos forneçam alguns endereços para breakpoints. Através destes pontos de parada poderemos encontrar a rotina de cálculo do serial. Como foi dito que o programa foi escrito em Assembly, é de supor que o código seja do tipo "sequinho" e limpo.
As ferramentas
- PEiD - a ferramenta que dificilmente eu dispenso. Ainda mais em casos como este, em que as informações são escassas. Se ainda não tiver esta ferramenta, vá para dowloads > informatica > utilitarios.
- Plugin Krypto ANALyzer para o PEiD - também está em downloads > informática > utilitários (só descobri a necessidade de usar este plugin depois que resolvi fuçar o executável com alguns deles )
- OllyDbg - meu debugger favorito para seguir a execução passo a passo.
- MD5-Checker (também depois que descobri que havia criptografia na jogada). Procure em downloads > criptologia > criptografia. Existem outros programas, mas este é o mais simples.
- x3chun's Base64 Enconde & Decode - um dos raros executáveis para Windows para Base64. Uma ferramenta muito prática (novamente depois que descobri quais algoritmos criptográficos estavam sendo aplicados). Disponível em downloads > criptologia > criptografia.
PILOTANDO O RATO
A primeira providência é explorar um pouco mais o executável. Rode o PEiD, carregue o kiToKGNmeAGAiN.exe e vamos lá:
- Logo de cara, a área de texto que deve indicar a linguagem de programação utilizada diz Nothing found *. Ué!? Será que não é Assembly ou será que é um Assembly que não foi reconhecido? Então vamos checar o trabalho do compilador dando uma olhada nas seções.
- Clique no botão [>] à direita de EP Section - devem aparecer as seções .text, .rdata, .data e .rsrc. Ao que tudo indica, a compilação é padrão...
- Clique no botão [->] inferior direito, escolha Plugins e Krypto ANALyzer. Tchan, tchan, tchan, tchan! Dê só uma olhada nisto!
BASE64 table :: 00001260 :: 00403060 Referenced at 004018E6 Referenced at 004018EC Referenced at 004018F8 Referenced at 004018FE MD5 :: 0000060D :: 0040120D The reference is above.
Viiixi, tem criptografia na jogada! Antes de continuar é bom ter certeza saber alguma coisa sobre Base64 e o hash MD5. Se quiser dar uma recordada nos assuntos ou saber do que se trata, procure pelos artigos Base64 e MD5 e alegre-se - ambos são interativos
Mas tem mais. Olhando o código com o desassemblador do PEid (botão [>] ao lado de First Bytes), o código é meio esquisito. Além disso, clicando o botão [Strings], a grande maioria delas parece entulho. É... parece que vamos ter que abrir mão de strings e apelar para chamadas à API do Windows
- Anterior
- Próximo >>