Ir para conteúdo
Entre para seguir isso  
smeagoulh

Função WriteTibiaIP

Recommended Posts

smeagoulh    0
smeagoulh

Função:WriteTibiaIP.

Parametros:Ip{string}.

Retorno:Boolean.

Nível:Avançado.

Autor:Smeagoulh;

Descrição: Função simples em que se o Tibia(versão 8.0) está aberto, escreve o ip nas 10 regiões de memória e retorna True, caso o Tibia não estiver aberto, retorna False;

Código:

function WriteTibiaIP(str:string):boolean;

const

RSA_KEY:string='1091201329673994292788609605089'

+'95541528237502902798129123468757937266291492576446330739696'

+'00111060390723088861007265581882535850342905759282762943641310856602'

+'9093628212635953836686562675849720620786279431090218017681061521'

+'75505671082387647644426055814717970711967428398241915211810375907'

+'6030616683978566631413'+#00;

var

ProcId, w, a, writ,RsaPtr: Cardinal;

Process: THandle;

buf:byte;

i,e : integer;

pos:Array[1..10] of Cardinal;

begin ///WriteTibiaIP function by smeagoulh///

w:=FindWindow('tibiaclient','Tibia'); //Acha a janela do Tibia

if w<>0 then //Se a janela tiver sido encontrada:

begin

GetWindowThreadProcessId(w, @ProcId);

PROCESS := OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);

Result := true;

pos[1]:=$75EAE8; //////////////////////////

pos[2]:=$75EB58; //

pos[3]:=$75EBC8; // Definindo na

pos[4]:=$75EC38; // variável pos

pos[5]:=$75ECA8; // os valores dos

pos[6]:=$75ED18; // address da região

pos[7]:=$75ED88; // de memória do ip

pos[8]:=$75EDF8; // no Tibia.

pos[9]:=$75EE68; //

pos[10]:=$75EED8; //////////////////////////

RsaPtr:=$593610;

VirtualProtectEx(process,Ptr($593610),Length(RSA_KEY),PAGE_EXECUTE_READWRITE ,a);

for i:=1 to Length(RSA_KEY) do

begin

buf := byte(RSA_KEY);

Result := Result and WriteProcessMemory(process,ptr(RsaPtr),@buf,1,writ);

RsaPtr:=Cardinal(RsaPtr)+1;

end;

for e:=1 to 10 do

begin

for i:=1 to 50 do //loop para gravar letra a letra a variavel str na memoria do Tibia;

begin //Até 50 para preencher com vazio todas as posição na memória do Tibia, evitando lixo se o ip for curto.

buf := byte(Str); //Define buf como a letra na posição i de str.

Result := Result and WriteProcessMemory(process,ptr(pos[e]),@buf,1,writ); //Função principal, que escreve algo na memória de algum programa.

pos[e] := cardinal(pos[e]) + 1; //Incrementa 1 no Address do IP, para

gravar a proxima letra na proxima posição da memória.

end;

end;

Result:=True; //Retorna True.

end

else //Caso a janela do Tibia não for encontrada:

Result:=False; //Retorna False.

end;

Usando no programa:

Começe um novo projeto, adicione 1 TEdit e 1 TButton. No evento OnClick do TButton, adicione:

if WriteTibiaIp(Edit1.Text)=False then

ShowMessage('O Tibia não foi encontrado');

Assim, você terá feito um ip-changer do tipo mais básico que pode existi!

 

Muito simples, e útil.

Respeite os Créditos.

Editado por smeagoulh
Adicionado na função a quebra da RSA

Compartilhar este post


Link para o post
Compartilhar em outros sites
Tairone    0
Tairone

Aprovado, Desculpe a demora.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Marcin    1
Marcin

O.o

 

Boa cara, super interessante, agora posso fazer meu próprio ip-changer.

Obrigado o/

 

ashuHASuhas

 

até.

Compartilhar este post


Link para o post
Compartilhar em outros sites
smeagoulh    0
smeagoulh

Bom, se alguém usou a função antes do último edit, terá de atualizar seu aplicativo:

Eu tinha esquecido de quebra a proteção RSA.

Se não funcionou para alguém, acredito que seja por isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites
evolutions    0
evolutions

e aonde troca a porta?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Chê.    1
Chê.

Bah cara, muito bom mesmo...

Flws

Compartilhar este post


Link para o post
Compartilhar em outros sites
smeagoulh    0
smeagoulh

evolutions: esta função serve para trocar o IP. Inclusive quando eu postei a função, ela não sequer burlava a chave RSA.

Logo que eu tiver mais tempo livre posto a função de mudar a Port também.

Compartilhar este post


Link para o post
Compartilhar em outros sites
mustorze    0
mustorze

Tem Para Outras Versoes?

Compartilhar este post


Link para o post
Compartilhar em outros sites
smeagoulh    0
smeagoulh

@mustorze:

Para mudar a versão que essa função muda o ip, só é preciso muda os address, tá cheio deles por ai na net, e tu mesmo pode descobri eles.

Se tu quize pra 8.1, eu tenho aqui, é só substitui isso:

pos[1]:=$75EAE8; //////////////////////////

pos[2]:=$75EB58; //

pos[3]:=$75EBC8; // Definindo na

pos[4]:=$75EC38; // variável pos

pos[5]:=$75ECA8; // os valores dos

pos[6]:=$75ED18; // address da região

pos[7]:=$75ED88; // de memória do ip

pos[8]:=$75EDF8; // no Tibia.

pos[9]:=$75EE68; //

pos[10]:=$75EED8; //////////////////////////

RsaPtr:=$593610;

VirtualProtectEx(process,Ptr($593610),Length(RSA_KEY),PAGE_EXECUTE_READWRITE ,a);

Por isso:
pos[1]:=$763FA8; //////////////////////////

pos[2]:=$763BB8; //

pos[3]:=$763C28; // Definindo na

pos[4]:=$763C98; // variável pos

pos[5]:=$763D08; // os valores dos

pos[6]:=$763D78; // address da região

pos[7]:=$763DE8; // de memória do ip

pos[8]:=$763E58; // no Tibia.

pos[9]:=$763EC8; //

pos[10]:=$763F38; //////////////////////////

RsaPtr:=$597610;

VirtualProtectEx(process,Ptr($597610),Length(RSA_KEY),PAGE_EXECUTE_READWRITE ,a);

 

Obs:logo que tive + tempo, posto a função pra muda a Port do Tibia(8.1).

Compartilhar este post


Link para o post
Compartilhar em outros sites
mustorze    0
mustorze

Sim Eu Fiz Em Vb ;D.

 

Queria os endereços do rsa dos outros ;d fodinha axa :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
Soul Hunter    0
Soul Hunter

cara que rox muito obrigado por postar xD

 

Edit

 

aqui deu um error aqui nesta parte

if WriteTibiaIp(Edit1.Text)=False then

ShowMessage('O Tibia não foi encontrado');

 

tem jeito de explicar mais?

Compartilhar este post


Link para o post
Compartilhar em outros sites
smeagoulh    0
smeagoulh

@Pedro567

Não vejo nenhuma falha na sintaxe. Você pôs um TEdit com o nome de Edit1 no formulário?

Talvez se você me mostrasse que erro exatamente ocorreu, eu pudesse ajudá-lo...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Soul Hunter    0
Soul Hunter

cara eu fiz tudo sertinho so n entendi a parte grande la

acho que é nela que esta dando error tem jeito de postar umas SS ou melhorar o tutorial xD ta mal explicado xD

Compartilhar este post


Link para o post
Compartilhar em outros sites
smeagoulh    0
smeagoulh

@Pedro567

Isso aqui não é um tutorial, é só um Topic onde botei minha função para mudar o IP do Tibia 8.1...

Você deve por o código que eu passei dentro do código do seu programa(logo depois da cláusula "implementation"), assim precisará somente usar o comando WriteTibiaIP('meuservidor.servegame.com');

Procure ler mais sobre functions e procedures, pois é disso que se trata este Topic.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Soul Hunter    0
Soul Hunter

aaaaaa mals então eu tinha achado que era sobre criar um ip changer

Compartilhar este post


Link para o post
Compartilhar em outros sites
flipagenor    0
flipagenor

Muito bom o código. :D

Vou tentar montar em VB

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

você acaba de reviver um tópico amigo, tenha mais cuidado.. ;D

 

tópico fechado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×