sábado, 6 de novembro de 2010

Burlando Main com Checksum

Antes de mais nada, o que é checksum? È um sistema de verificação de arquivos que impedem a edição dos mesmos nos clients do Mu. (Usado pelo MuAway, MuDinho e Cia)

Tutorial de como ingorar a verificação.
Ferramentas que você pode precisar para fazer isso:
- OllyDbg
- Bloco de Notas
- Versão mais recente do main.exe do servidor, o que você deseja ignorar
- Main.exe claro (sem proteção / unpacked)

Para ler o tutorial inteiro, leia noticia completa pois é muito grande.

Créditos: Firecheats

No primeiro main.exe renomear a partir do servidor que você deseja ignorar a orig.exe ou o que quer. O próximo passo é carregar desprotegidos / main.exe claro (vou chamá-lo "claro") para OllyDbg (File> Open ou F3 e selecione main.exe claro). Agora nós vamos encontrar a função ProtocolCore. Botão direito do mouse sobre a janela de exibição de CPU, selecione Procurar> Todas as seqüências de texto referenciado e janela com todos os utilizados em nossa clara cordas principais aparecerá em uma nova janela. Esta é a maneira mais fácil de encontrar ProtocolCore, basta clicar na janela do RPM cordas, selecione Procurar o texto, em seguida, tipo de pacote estranho, verifique todo o escopo e desmarque caso sensível pressione enter.
Imagem
ProtocolCore chamada de função é antes de pacote Strange offset:
Código: 00665EFF |. 00665EFF |. 55 ||PUSH EBP 55 | | PUSH EBP
00665F00 |. 00665F00 |. 57 ||PUSH EDI 57 | | PUSH EDI
00665F01 |. 00665F01 |. 56 ||PUSH ESI 56 | | PUSH ESI
00665F02 |. 00665F02 |. 50 ||PUSH EAX 50 | | PUSH EAX
00665F03 |. 00665F03 |. E8 98510000 ||CALL origmain.0066B0A0 ;ProtocolCore E8 98510000 | | origmain.0066B0A0 CALL; Siga este apelo. Esta função parece quase idêntico em cada versão do main:
Imagem
Na foto você pode ver o interruptor. Sabemos que a soma de verificação é enviado ao GameServer enviar pacote com chave de verificação. Operação código deste pacote é de 3 por isso devemos encontrar caso 3. Para fazer isso, clique direito sobre essa transferência, seleccione Ir para> caso 3.

Imagem
Siga primeira chamada após a nossa selecção

Código: 0066BCF9 |. 0066BCF9 |. E8 1293FFFF CALL origmain.00665010 end_of_the_skype_highlighting E8 1293FFFF CALL origmain.00665010 end_of_the_skype_highlighting Imagem

Agora temos de encontrar o código responsável pela abertura main.exe (CreateFileA). Na minha pesquisa descobri que é uma segunda chamada a partir daí. Então, siga 2 ª chamada

Código: 0066503F |. 0066503F |. E8 825DFBFF CALL origmain.0061ADC6 E8 825DFBFF CALL origmain.0061ADC6 Imagem
Essa função parece ser quase igual em quase cada versão do main.exe (exceto as novas versões, por ex Multilang s5.4 OGM). Há CreateFileA, acreditem ou não, mas é exatamente isso que estamos procurando Imagem

Agora salve em algum lugar do deslocamento da CreateFileA função que nós encontramos. Nós voltaremos aqui mais tarde. Agora temos de encontrar um lugar vazio para o nosso principal original. Desça até o final da secção (final da exibição CPU) deve haver alguns zeros. Este bytes não são utilizadas de modo que podemos fazer com isso que nós queremos. Selecione alguns bytes, em seguida, clique no botão direito, selecione Acompanhe no dump> Seleção em seguida, pressione a barra de espaço. Clique em pontos e orig.exe tipo ou nome de principal original dado à primeira etapa.

Imagem

Em seguida, basta clicar em OK e salvar deslocamento do principal nome original.

Imagem
Agora vamos voltar para CreateFileA. Tudo o que temos a fazer é mudar o argumento nome do arquivo. Por causa do comprimento da instrução "push endereço" devemos substituir a partir de LEA instrução. Selecione a linha com LEA instrução e espaço hit para começar a editar asm. A única coisa que temos que fazer é mudar a LEA e MOV DWORD PTR SS :[..] para compensar os nossos principais nome original.


Tudo está pronto para salvar. Botão direito do mouse sobre a janela de exibição de CPU, selecione Copiar> Selecionar tudo isto irá selecionar toda seção de código. Quando tudo estiver selecionada novamente com o botão direito sobre a visão da CPU, slelect Copiar para a Seleção> executável. Na janela com o botão direito, selecione "Salvar arquivo e nomeá-lo como quiser.

1 comentários:

Postar um comentário