Jump to content
Facebook Whatsapp Twitter Youtube

Como por Debug (Console) apenas para 1 Conta usar


ventura
 Share

Recommended Posts

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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

Suporte GM

Comunidade de Perfect World do Brasil

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

Links

×
×
  • Create New...