Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal, apartir do update 9.1, a Cipsoft botou um novo sistema, que agora os programadores precisam pegar a base do endereço para o seu bot funcionar perfeitamente em computadores com sistemas operacionais Windows 7 e Windows Vista.

Bom, foi um sistema falho...

Declare nas uses:

PsAPI
Declare a função necessaria para pegar a base do endereço:
function GetTibiaBaseAddress(ProcessID: Cardinal): Pointer;

var

  Modules: Array of HMODULE;

  cbNeeded, i: Cardinal;

  ModuleInfo: TModuleInfo;

  ModuleName: Array [0 .. MAX_PATH] of Char;

  PHandle: THandle;

begin

  Result := nil;

  SetLength(Modules, 1024);

  PHandle := OpenProcess(PROCESS_QUERY_INFORMATION + PROCESS_VM_READ, FALSE,

    ProcessID);

  if (PHandle <> 0) then

    begin

	  EnumProcessModules(PHandle, @Modules[0], 1024 * SizeOf(HMODULE),

	    cbNeeded);

	  SetLength(Modules, cbNeeded div SizeOf(HMODULE));

	  for i := 0 to Length(Modules) - 1 do

	    begin

		  GetModuleBaseName(PHandle, Modules[i], ModuleName, SizeOf(ModuleName)

		    );

		  if AnsiCompareText('Tibia.exe', ModuleName) = 0 then

		    begin

			  GetModuleInformation(PHandle, Modules[i], @ModuleInfo, SizeOf

				  (ModuleInfo));

			  Result := ModuleInfo.lpBaseOfDll;

			  CloseHandle(PHandle);

			  Exit;

		    end;

	    end;

    end;

end;
Declare as variaveis:
  PH: THandle;

  PID, Thid: Dword;

  Offset: Integer;

  TibiaH: THandle
Declare a função para ler os endereços de memoria:
function ReadInteger(Address: Integer): Integer;

var

  value: Integer;

  ler: Dword;

begin

  Thid := GetWindowThreadProcessId(TibiaH, @PID);

  PH := OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);

  ReadProcessMemory(PH, Ptr(Address), @value, 4, ler);

  Result := value;

end;
Declare a função para pegar o ProcessID:
function ProcessID: Integer;

begin

  TibiaH := FindWindow('TibiaClient', nil);

  Thid := GetWindowThreadProcessId(TibiaH, @PID);

  PH := OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);

  Result := PID;

end;
Pronto, agora já podemos burlar o sistema da Cipsoft. Agora um simples exemplo de como você deve usar: Declare as consts:
const

  adrXOR = $7ADFD0;

  adrMyHP = $943000;

  adrMyMana = $7AE024;
Agora, declare a função para retornar o Health do seu character:
function PlayerHealth: Integer;

var

  HP: Integer;

  uXor: Integer;

begin

  Offset := Integer(GetTibiaBaseAddress(ProcessID));

  HP := ReadInteger((adrMyHP + Offset) - $400000);

  uXor := ReadInteger((adrXOR + Offset) - $400000);

  Result := HP xor uXor;

end;
Função para pegar a Mana do seu character:
function PlayerMana: Integer;

var

  Mana: Integer;

  uXor: Integer;

begin

  Offset := Integer(GetTibiaBaseAddress(ProcessID));

  Mana := ReadInteger((adrMyMana + Offset) - $400000);

  uXor := ReadInteger((adrXOR + Offset) - $400000);

  Result := Mana xor uXor;

end;
Vou deixar como o meu .pas ficou:

Qualquer duvida, só postar.

  Mostrar conteúdo oculto

Editado por Kimoszin (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 3 weeks later...

.

Editado por yurinho190 (veja o histórico de edições)

"Cada um de nós é livre para acreditar no que quiser, e minha resposta mais simples para isso é: Deus não existe. Ninguém criou o universo e ninguém comanda a nossa fé."

-Stephen Hawking

stephen-hawking-250x200.jpg

Link para o post
Compartilhar em outros sites
  • 1 month later...
  • 4 months later...
  Em 15/12/2012 em 02:14, willschu disse:

Se eu utilizar o Delphi 7 para fazer este programa, funcionará ou será necessário em Delphi superior ?

Mostrar mais  

Funciona perfeitamente no Delphi 7

Link para o post
Compartilhar em outros sites

Funcionou beleza!

Mas, como eu faço para fazer uma leitura em tempo real ?

Do jeito que o código está, ele só faz a leitura ao clicar no botão.

Eu tentei usar while, fazendo um loop infinito ao clicar no botão, mas trava!

Abaixo:

procedure TForm1.Button1Click(Sender: TObject);

var

x: integer;

begin

x := 1;

while x = 1 do

begin

lbHealth.Caption := 'Health: ' + IntToStr(PlayerHealth);

lbMana.Caption := 'Mana: ' + IntToStr(PlayerMana);

end;

end;

end.

No aguardo!

Link para o post
Compartilhar em outros sites

Há como identificar uma criatura que está te atacando, e com isto atacá-la ?

Já estou raciocinando sobre isto há 1 dia e não consegui enxergar ainda hehe.. Alguém poderia clarear um pouco minhas ideias ?

No aguardo!

Link para o post
Compartilhar em outros sites

Como eu faço para mostrar a quantidade de experiência que eu tenho no char ?

A função para encontrar o número é igual as funções de health e mana ?

Encontrei os endereços para a última versão do tibia neste site, mas na lista não tem o endereço para experiência.. não encontrei..

http://www.blackdtools.com/forum/showthread.php?59794-9-8-Blackd-Tibia-addresses-9-8

;]

Link para o post
Compartilhar em outros sites
  • 1 month later...

Esta dando erro aqui:

ReadProcessMemory(PH, ptr(Address), @value, 4, ler);

[dcc32 Error] Unit1.pas(93): E2033 Types of actual and formal var parameters must be identical

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

No Delphi xe2 tbm da isso:

ReadProcessMemory(PH, ptr(Address), @value, 4, ler);

[dcc32 Error] Unit1.pas(93): E2033 Types of actual and formal var parameters must be identical

@Edit:

No Delphi 7 funciona normal. o.O

@EDIT 2~

Não consigo retornar o health/mana do player, já atualizei os address. :(

Alguém sabe o por que ?

Editado por Ti0Branc0 (veja o histórico de edições)

  Citar
"Perdoamos quando não sentimos mais necessidade de usar as mágoas antigas como garantia contra alguém."
Mostrar mais  

Jacqueline Collodo Gomes

  Citar
"As vezes construímos sonhos em cima de grandes pessoas.

O tempo passa e descobrimos que grandes mesmo eram os sonhos e as pessoas pequenas demais para torná-los reais!"

Bob Marley
Expand   Mostrar mais  

Twitter:

@ewertont

Link para o post
Compartilhar em outros sites

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.

  • Conteúdo Similar

    • Por Under
      ATENÇÃO, DESENVOLVEDORES DE OTSERV! 
      Uma nova era está chegando — e você vai fazer parte dela desde o começo! 
       Ferramentas de IA + Formação Completa
      Estamos finalizando ferramentas exclusivas de inteligência artificial que vão revolucionar a forma como você cria e gerencia servidores de Tibia.
      E pra abrir com estilo, chegou a primeira etapa da nossa formação completa:
       Curso de Pixel Art para Tibia e Derivados


      Instrutor: Brendon Nogard, fundador da Pixel Art School
      Uma das maiores referências em arte para servidores de tibia no Brasil!
       Quem é o Nogard? @Nogard
      video-de-apresent.mp4
       
      Criador das primeiras remakes gráficas da PXG
      Mais de 10 anos de experiência com Pixel Art
      Conduziu a evolução da perspectiva GBA para um visual moderno e imersivo
      Influenciou uma geração inteira de criadores na comunidade OTServer no Brasil.
       O que você vai aprender nesse curso?
      Compre Aqui!
       Perspectiva 45° para Tibia e derivados
       Criação de itens: pokébolas, loots, mochilas, poções
       Personagens animados com variações de cabelo
       Criaturas como Wolf, Werewolf, Snake, Horse e Centauro
       Cenários: paredes, cortinas, troféus
       Texturas: folhas, rochas
       Fundamentos de estilo, coerência e construção de sprites profissionais
        Duração: 12 horas
        VALOR : R$250,00
       BÔNUS POR R$50,00
      Também está disponível o Curso de Pixel Art Top Down, ideal pra quem quer começar do zero absoluto:
      Crie personagens, inimigos, chefes
      Monte todo o ambiente do seu jogo
         Duração: 3 horas
       Por que isso é importante pra você?
      Esse é o primeiro passo pra criar um OTServer com:
       Identidade visual única
       Alto nível gráfico
       Suporte de ferramentas de IA exclusivas
       E um método claro, testado e acessível!
       Nas próximas 4 semanas...
      Vamos liberar novos cursos sobre:
       Criação de mapas
       Desenvolvimento de sistemas e scripts
       IA aplicada ao design de jogo (desenvolvimento)
       Balanceamento, mecânicas e muito mais!
       Garanta sua vaga agora!
      Comece hoje mesmo com o pé direito.
      Compre Aqui!
    • Por Under
      A CipSoft acaba de anunciar uma grande novidade: a empresa agora também será responsável pelo desenvolvimento e operação do clássico The Settlers Online! 
      O time que já cuidava do jogo seguirá dedicado ao projeto, mas agora diretamente do novo escritório da CipSoft em Düsseldorf, na Alemanha.
       
      Pra quem não conhece, The Settlers Online é um jogo com uma base de jogadores muito fiel e engajada — algo que a CipSoft conhece bem graças à comunidade Tibiana que, há décadas, mostra paixão, comprometimento e amor pelo jogo. 
      O mais importante:
      É incrível ver a CipSoft crescendo e levando seu espírito de comunidade para novos horizontes, sem esquecer de onde veio e quem está com ela há tantos anos. 
      Anúncio oficial no fórum do Tibia
      Site oficial de The Settlers Online (Brasil)
       
    • Por Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! 
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       
       
    • Por Raito
      Eu e mais 3 pessoas gostariamos de criar um digitibia alguem poderia me ajudar disponibilizando uma base que esteja funcionando, as unicas que eu encontrei nao funcionam. se alguem tiver para disponibilizar eu agradesço muito.
      meu email é 
      raitodigitibia@gmail.com
  • Estatísticas dos Fóruns

    96834
    Tópicos
    519575
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo