Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Como por Debug (Console) apenas para 1 Conta usar


ventura
 Compartilhar

Posts Recomendados

Créditos pelo tutorial : Bola

Ctrl C+Ctrl V

você precisará de um IDA Pro para aplicativos x86.

Para começar a trabalhar você terá que encontrar um método chamado "gplayer_controller::DebugCommandHandler", para encontrá-lo você precisa carregar o gs de qual versão você deseja criar esta função, e depois de feito selecione a caixa do método e pressione a tecla ALT + tecla T em mesmo tempo, insira dentro da caixa o nome da função acima e dê ok.

para encontrar a função que estamos procurando, pressione F5 para ter uma visão geral do código pseudo C++.
se você descer um pouco, encontrará esta instrução para registrar o DebugCommand, vamos apagá-la e substituí-la por nossa instrução.

1.thumb.png.1649e169a9ca70769f82db85782ff7fa.png

defina o ponteiro do mouse e clique no meio da string "this->_imp->_parent_ID.id" e pressione TAB.
você verá uma instrução como esta no IDA, onde Yellow é a instrução move o roleid para o bloco de memória EAX e uma linha após o bloco amarelo, a instrução do system pull roleid do ponteiro EAX+30h.

 

2.thumb.png.39b422c9f1339d0a35870d98d1d98dd2.png

Lembre-se de todas as instruções do bloco amarelo mais o ponteiro EAX+30h (pode ser outro dependendo da versão do gs).

defina o ponteiro do mouse na instrução "push [ebp+cmd_type]" e vá na barra de menu na parte superior do IDA Pro, selecione Edit -> Patch Program -> Assemble.
você vai escrever a palavra "NOP" até chegar na instrução "mov eax, [ebp+cmd_type]".
depois que você terminar, ficará assim.

3.png.6999da4eb6d1eadb03fb45dacedbed92.png

agora você precisa saber onde seu método "DebugCommandHandler" termina, meu truque para isso é clicar no próximo método na caixa do método e depois ir um pouco acima da função, você encontrará o final do debughandler e então você precisa copiar o instrução de localidade para um bloco de notas ou algo assim, no meu exemplo, a localidade no canto superior esquerdo da instrução, "loc_812B8D1".

4.thumb.png.ebfb829210b20cff7cc8e21bb3210982.png

então agora você pode construir o novo código de instruções, já que você tem o código antigo mais a comparação com o número do roleid, para o meu exemplo, terei essas instruções.
lembre-se de substituir o mov eax e o ponteiro eax 30h para combinar com o do seu gs, substitua também myroleid pelo ID do seu personagem desejado e também substitua na última linha o Loc que você encontra no final do método.

Citar

mov eax, [ebp+este] mover eax, [eax+4] mover eax, [eax+8] cmp dword ptr [eax+30h], MYROLEIDHERE jnz loc_812B8D1

Vá para o primeiro NOP em instruções e patch novamente, mas agora com cada linha acima, depois de feito você terá que transferir o código para seu gs novamente, então vá para a barra de menu do IDA, selecione Edit -> Patch Program -> Apply Patches , selecione seu arquivo gs original carregado no IDA anterior e, em seguida, substitua em seu servidor por este GS corrigido e teste, a depuração deve funcionar bem apenas para o roleid projetado.

A instrução final ficará assim:

5.png.c8454271ed4f1b4f3f15bd6cbf91d6fd.png

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

 Compartilhar



Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...