Alterando nome da janela do cabal

vodikaTM

Honrado XPZ
27 de Janeiro de 2011
158
47
28
24
ATENÇÃO: Este é um tutorial para repassar conheçimento, se você ler até o final você vai aprender um pouco sobre assembler.

Bom, como vejo que vários servers usam apenas o titulo da janela como CABAL, venho trazer um tutorial em ASM de como alterar isso sem ter problemas de crash com o game.
Vou dar uma explicação de como o executável trabalha com essa string. Basicamente uma certa offset no executável move a string da janela do cabal até ela, abaixo deixarei as offset.
Offset de onde a função será lida: 0047256D MOV DWORD PTR DS:[ESI+0x278],0xAC6874
Basicamente ele está movendo a string da offset 00AC6874 para a offset 0047256D
Se dermos um ctrl+ G e irmos até a offset 00AC6874 iremos encontrar a string atual da janela do executável.
Iremos parar na seguinte linha 00AC6874   43               INC EBX , basta clicar com o botão direito em cima dela e ir em Follow im dump / selection.
A string da janela vai estar separada em 5 bytes sendo eles,   43 41 42 41 4C e mais um BYTE 00 que jájá eu explico pra que ele serve.
bom basicamente você poderia alterar o nome da janela ali, porém se você colocar um nome cujo o mesmo tenha mais de 7 Bytes simplismente sua função não vai funcionar. Bom essa parte foi só para explicar basicamente como funciona, agora no tutorial de baixo vou ensinar como colocar uma string enorme sem ter problemas.
 ​
Vamos la, sabendo que para colocar um nome grande eu preciso de um bom espaço eu encontrei essa offset '00A08C74' no qual a mesma me permite colocar um nome que possa ter até 12 BYTES. de um ctrl+E em cima dessa offset e escreve o nome da sua janela no campo ASCII. minha string ficou como 'CABAL TESTE' no qual a mesma ocupou 11 bytes da memória, eu deixei 1 BYTE vazio para colocar o 00, esse byte 00 serve para o executável reconheçer que a string chegou ao fim, se esse 00 não é colocado simplismente ele vai emendar a string com oque estiver embaixo e nunca vai ter fim.
 ​
minha função ficou assim:
 ​
Após isso basta clicar no OK e dar um ctrl+A.
 ​
E este é o resultado:
 ​
Nossa função está feita, agora temos de fazer a função que o cabal usa para colocar nome a janela ler nossa offset, para isso voltamos la atrás na offset 0047256D dando um ctrl+G.
a função original fica da seguinte maneira: MOV DWORD PTR DS:[ESI+0x278],0xAC6874
Então temos que mudar aquela offset ali para a nossa, que no caso é 00A08C74, basta dar 2 cliques e alterar e a função vai ficar assim.

MOV DWORD PTR DS:[ESI+0x278],0xA08C74
 ​
Agora basta clicar com o botão direito do mouse, va em copy to executable, all modifications, copy all. na pequena janela que abrir basta ir com o direito e ir em save file e salvar.
 ​
E aqui está o resultado
 ​
Vídeo ensinando a fazer o procedimento:


 ​
Obrigado por ler até aqui.
Créditos:
VodikaTM
 
 
Editado por um moderador:

cascunha

Novato XPZ
28 de Setembro de 2014
6
0
1
ATENÇÃO: Este é um tutorial para repassar conheçimento, se você ler até o final você vai aprender um pouco sobre assembler.

Bom, como vejo que vários servers usam apenas o titulo da janela como CABAL, venho trazer um tutorial em ASM de como alterar isso sem ter problemas de crash com o game.
Vou dar uma explicação de como o executável trabalha com essa string. Basicamente uma certa offset no executável move a string da janela do cabal até ela, abaixo deixarei as offset.
Offset de onde a função será lida: 0047256D MOV DWORD PTR DS:[ESI+0x278],0xAC6874
Basicamente ele está movendo a string da offset 00AC6874 para a offset 0047256D
Se dermos um ctrl+ G e irmos até a offset 00AC6874 iremos encontrar a string atual da janela do executável.
Iremos parar na seguinte linha 00AC6874 43 INC EBX , basta clicar com o botão direito em cima dela e ir em Follow im dump / selection.
A string da janela vai estar separada em 5 bytes sendo eles, 43 41 42 41 4C e mais um BYTE 00 que jájá eu explico pra que ele serve.
bom basicamente você poderia alterar o nome da janela ali, porém se você colocar um nome cujo o mesmo tenha mais de 7 Bytes simplismente sua função não vai funcionar. Bom essa parte foi só para explicar basicamente como funciona, agora no tutorial de baixo vou ensinar como colocar uma string enorme sem ter problemas.


Vamos la, sabendo que para colocar um nome grande eu preciso de um bom espaço eu encontrei essa offset '00A08C74' no qual a mesma me permite colocar um nome que possa ter até 12 BYTES. de um ctrl+E em cima dessa offset e escreve o nome da sua janela no campo ASCII. minha string ficou como 'CABAL TESTE' no qual a mesma ocupou 11 bytes da memória, eu deixei 1 BYTE vazio para colocar o 00, esse byte 00 serve para o executável reconheçer que a string chegou ao fim, se esse 00 não é colocado simplismente ele vai emendar a string com oque estiver embaixo e nunca vai ter fim.

minha função ficou assim:


Após isso basta clicar no OK e dar um ctrl+A.

E este é o resultado:


Nossa função está feita, agora temos de fazer a função que o cabal usa para colocar nome a janela ler nossa offset, para isso voltamos la atrás na offset 0047256D dando um ctrl+G.
a função original fica da seguinte maneira: MOV DWORD PTR DS:[ESI+0x278],
0xAC6874
Então temos que mudar aquela offset ali para a nossa, que no caso é 00A08C74, basta dar 2 cliques e alterar e a função vai ficar assim.

MOV DWORD PTR DS:[ESI+0x278],0xA08C74

Agora basta clicar com o botão direito do mouse, va em copy to executable, all modifications, copy all. na pequena janela que abrir basta ir com o direito e ir em save file e salvar.

E aqui está o resultado


Vídeo ensinando a fazer o procedimento:



Obrigado por ler até aqui.
Créditos:
VodikaTM
Obrigado pela ajuda
 

woailicong

Novato XPZ
22 de Janeiro de 2017
5
0
1
30
[QUOTE =“vodikaTM,邮编:155276,会员:38956”] reupadas图像为主题的[/ QUOTE]更好的表现。

EU sou chinês
Me ajude por favor
Como editar o cliente Pode deixar o apoio chinês
 

Attachments