Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Caros amigos do Tibiaking, essa sessão de programação está muito parada, então vou tentar trazer conteúdo novo para vocês pelo menos uma vez na semana, como sou contra os famosos programadores de "ctrl c ctrl v", vou vir disponibilizando apenas os soucers e comentando a lógica que usei nos programas, abaixo aprenda a ler as address e um source feito em delphi 7 com a aplicação do que expliquei.
 
source%2Bpxg.jpg
 
 
Vamos lá, como podem ver na imagem está mostrando a address utilizada para leitura e a leitura da mesma, o que acontece que muitas pessoas não conseguiam achar ela ao usar o cheat engine se da ao fato de que os endereços de memória mudam a cada vez que o cliente é aberto (randômicos), porém todo endereço randômico tem uma forma de ser gerado, e o sistema aqui é bem simples, existe um endereço estático (que não se altera) quando o cliente é aberto e fechado, este endereço estático: 006C03B0 (4 bytes), que possui como valor um número em hexadecimal é sempre a base para alguns dos endereços de memória estáticos, entre eles os que estão na imagem.
Outro problema que leigos no cheat engine devem ter se deparado é o fato de não encontrarem nenhuma address, isso se dá porque os endereços de memória (pelo menos os que encontrei) estão no tipo double.
Ok, mas e agora? Você já possui o endereço de memória base para encontrar as address sempre que o cliente for aberto, possui o tipo de variável usando nos endereços de memória, como fazer para encontra-las?
Vamos lá, o método usado para os endereços de memória é bem simples, o valor do endereço de memória 006C03B0 (em hexadecimal) somado com o valor de uma offset vai nos resultar o endereço de memória que queremos saber, o offset é um valor que será somado também em hexadecimal, ao valor do endereço de memória 006C03B0, a soma desses valores nos resultará no endereço de memória que procuramos.
Por exemplo, o offset referente a vida do personagem é 348 (não se esqueça que esse valor está em hexadecimal), vamos imaginar que o valor de 006C03B0 é 0C99DA08, ao somarmos o valor $0C99DA08 + $348 obteremos  0C99DD50, o endereço de memória da vida do personagem, sobre o resultado dessa conta se lermos ele como double na linguagem que estivermos usando obteremos a vida atual do personagem como resposta.
 
Informação importante: 
  • O jogo pode alterar o endereço estático que informei após alguma atualização, até hoje não alteraram, esse endereço é do tipo 4 bytes e resulta um valor do tipo hexadecimal.

 

Fonte: Link || Link
 

 

leraddress.rar

Link para o post
Compartilhar em outros sites

Pra ler o client do Tibia é a mesma coisa?

 

Acho que não amigo, acho que o do tibia é um bem diferente, mas se quiser posso tentar fazer um video ensinando a achar a do tibia.

Link para o post
Compartilhar em outros sites

 

Tentei mexer no cheat engine uma vez mas não entendi muita coisa, queria encontrar alguns bytes.

Tipo esse:

ClientRsa = client.BaseAddress + 0x36F7F0;

 

client.BaseAddress = pointer;

36F7F0 = offset;

 

a lógica é a mesma, o address estático é o baseaddress quando somado com o offset retorna um valor, sinceramente não faço ideia nem do que é ClientRsa mas se você encontrar um address qualquer no cheat engine, que seja o o dinâmico referente a hp do personagem por exemplo, você pode ir na função "find out what acess this address" do cheat engine, lá você vai obter os endereços aquela memória, você vai em qualquer monstro e deixa ele te dar 1 dano, aparecerá uma ou mais linhas la, você clica em alguma delas e vai mostrar "possívelmente o pointer para esse endereço é : ...", ali você achou o valor atual do baseaddress, tendo isso você procuraria por ele no cheat engine e obteria por aquele valor, você acharia uma address estática que o valor dela sempre que o cliente é aberto somado com o offset desejado vai retornar a address que deseja ler.

Link para o post
Compartilhar em outros sites

Sempre é ótimo ver tópicos desse tipo na área de programação, depois vou tirar um tempo pra estudar isso, 

I must not fear. Fear is the mind killer.

Link para o post
Compartilhar em outros sites

BaseAddres é o valor do cliente na memoria do seu computador.

E então, você soma ele com qualquer endereço para funcionar tanto no windows 7, 8 e XP.

Link para o post
Compartilhar em outros sites
  • 4 weeks later...

ótimo, porém.. não teria nenhuma forma de ensinar a escrever no Tibia? por exemplo para criar uma nova janela, novos botões, é necessário escrever .. você sabe fazer?

 

const DWORD DrawSkinAddress = 0x4B4DA0;

 

 

//DrawGUI
typedef void _DrawSkin(int nSurface, int X, int Y, int W, int H, int SkinId, int dX, int xY);
static _DrawSkin *DrawSkin = (_DrawSkin *)DrawSkinAddress;

 

 

DrawSkin(nSurface, m_position.x()+ m_relative.x(), m_position.y()+ m_relative.y(), m_size.x(), m_size.y(), m_skin->pressed, 0, 0); //pressed skin

 

 

isso são funções de uma DLL que eu tenho aqui, você sabe como elas funcionam?

Tony Araújo  ;D 

 

Link para o post
Compartilhar em outros sites
  • 9 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

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

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo