Olá galera IMP, Sei que muitos quando desejam iniciar desenvolvimento de sua DLL acham uma barreira que impede os mesmos de prosseguir, o hook da DLL em um GameServer.exe Limpo, por isso elaborei um tutorial explicando os passos de como realizar o mesmo de forma correta. Informação 1ª Parte - Método de Hookar uma DLL: PUSH NOMEDADLL // Procure uma DB 00 Faça follow in dump e escreva em ASCII o nome de sua DLL. CALL LoadLibrary // Procure a offset LoadLibrary de sua maquina. OR EAX,EAX JE ERROR // Procure uma DB 00 e monte uma função de Error caso não tenha a DLL. PUSH FUNÇÃODADLL // Procure uma DB 00 Faça follow in dump e escreva em ASCII o nome da função de sua DLL. PUSH EAX CALL GetProcAddress // Procure a offset GetProcAddress de sua maquina. CALL EAX JMP EntryPoint // EntryPoint de seu GS Utilizado. Função de Error: Informação PUSH 0 PUSH MSGDEERRO // Procure uma DB 00 Faça follow in dump e escreva em ASCII msg de erro da bandeja Exemplo: Error! PUSH MSGDEERRO2 // Procure uma DB 00 Faça follow in dump e escreva em ASCII msg de erro completa Exemplo: JNTeam.dll esta ausente! PUSH 0 CALL MessageBoxA // Procure a offset MessageBoxA de sua maquina. PUSH 0 CALL ExitProcess // Procure a offset ExitProcess de sua maquina. Informação Para procurar as offset’s utilizados ExitProcess, MessageBoxA, EntryPoint, GetProcAddress e LoadLibrary. 1° - Vamos encontrar o nosso EntryPoint: • Encontrar o EntryPoint em seu GameServer é parte mais simples do processo, basta abrir o GameServer com o Ollydbg e não mecher em nada ele vai parar na OFFSET de seu EntryPoint. Basta anotar a OFFSET e utilaza-lá no seu Hook. 2° - Vamos encontrar a OFFSET do LoadLibrary de seu GS: • Primeiro vamos clicar com botão direito em qualquer lugar de nosso GameServer e logo após Seach For e depois Names. • Agora basta aperta a tecla “L” de seu teclado e ele irá na seção dos nomes iniciados com “L”, e então procure LoadLibraryA e clique duas vezes em cima para ir na OFFSET. Agora basta anotar para usar em seu Hook. 3° - Vamos encontrar a OFFSET do GetProcAdress de seu GS: • Primeiro vamos clicar com botão direito em qualquer lugar de nosso GameServer e logo após Seach For e depois Names. • Agora basta aperta a tecla “G” de seu teclado e ele irá na seção dos nomes iniciados com “G”, e então procure GetProcAdress e clique duas vezes em cima para ir na OFFSET. Agora basta anotar para usar em seu Hook. 4° - Vamos encontrar a OFFSET do MessageBoxA de seu GS: • Primeiro vamos clicar com botão direito em qualquer lugar de nosso GameServer e logo após Seach For e depois Names. • Agora basta aperta a tecla “M” de seu teclado e ele irá na seção dos nomes iniciados com “M”, e então procure MessageBoxA e clique duas vezes em cima para ir na OFFSET. Agora basta anotar para usar em seu Hook. 5° - Vamos encontrar a OFFSET do ExitProcess de seu GS: • Primeiro vamos clicar com botão direito em qualquer lugar de nosso GameServer e logo após Seach For e depois Names. • Agora basta aperta a tecla “E” de seu teclado e ele irá na seção dos nomes iniciados com “E”, e então procure ExitProcess e clique duas vezes em cima para ir na OFFSET. Agora basta anotar para usar em seu Hook. Observação: Depois que terminar o processo de implantar o método de hook, salve o GameServer.exe mais antes de fechar o Ollydbg anote a OFFSET inicial de onde começou o HOOK - PUSH NOMEDADLL. Informação 2ª Parte – Usando o LordPE para Finalizar o Hook: 1° - Abra o LordPE; 2° - Abra o GameServer na opção PE Editor; 3° - Na primeira linha note que vai ter EntryPoint ele vai ser igual ao EntryPoint que você pegou no Ollydbg a não ser pelo primeiro numero que vai estar 2 no lugar de 6. 4° - Pegue a OFFSET inicial de onde começou o HOOK do Ollydbg e coloque no lugar da EntryPoint do Ollydbg e altere o 6 pelo 2: Exemplo eu fiz o hook na offset: 00652721 no LordPE vai ficar 00252721. 5° - Pronto agora só clicar em salvar e fechar o LordPE, seu hook está 100% terminado. Creditos: - João Neto - Elaborar o tutorial e aplicar metodo de hook e error.
Última edição por João Neto; 08-03-2012 às 09:55 PM.
Hidden Content Um verdadeiro guerreiro sabe que ao perder uma batalha está melhorando sua arte de manejar a espada. Saberá lutar com mais habilidade na próxima vez.
Mazzito, Yann Diias
So completando esse tutorial perfeito ^^ Vou postar download do Olly 2.0 (na minha opinião melhor versão para achar offsets) + LordPE [Somente usuários registrados podem vem os links. ] Parabens João bela iniciativa.
ótimo tuto Ey Marcelin seu link ta off....
Só Baixar no [Somente usuários registrados podem vem os links. ] O lord pe vocÊ pode abaixar[Somente usuários registrados podem vem os links. ]
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Regras do Fórum