Ir para conteúdo
  • Cadastre-se

Valor da memoria diferente do esperado


Posts Recomendados

Boa noite, galera =]

 

Estou com um probleminha na leitura de um address.

Fiz um método em c++ pra ler o valor de um endereço de memoria:

 

int main(int argc, TCHAR* argv[])
{
HWND hwnd = FindWindowA(NULL, "Tibia");
int valor = 0;
DWORD address = 0xAD1030;
DWORD pid;
cout << "Handle : " << hwnd << endl;
cout << "Endereço: " << address << endl;
GetWindowThreadProcessId(hwnd,&pid);
HANDLE phandle = OpenProcess(PROCESS_VM_READ,0,pid);
cout << "Valor Lido   : " << valor << endl;
cin.get();
return 0;
}
 
É bem padrão pra ler o valor armazenado na memoria, e esse endereço que eu usei (0xAD1030) eu peguei no forum do blackD: http://www.blackdtools.net/showthread.php?62315-10-81-Blackd-Tibia-addresses-10-81
 
Seria o endereço da hp do personagem.
O metodo roda de boa, só que ele retorna o valor 181155944, e era pra retornar o valor do hp do meu personagem.
Ja tentei somar com o base (10158080 se não me engano(usei um metodo em c# pra pegar)) + o offset (20) qué o IpAddressPointerOffset, que está no linq que eu mencionei á cima, só que ai ele não reconhece o endereço.
 
Alguém sabe por que ta retornando esse valor?
Link para o post
Compartilhar em outros sites

Amigo você não postou a função ReadProcessMemory, o erro deve estar nela, talvez esses links ajudem a resolver seu problema.

 

http://www.tibiaking.com/forum/topic/62981-c-ler-address-do-pxg/

 

http://www.tibiaking.com/forum/topic/61008-c-lendo-mem%C3%B3ria/

Link para o post
Compartilhar em outros sites

Opa, foi mau, eu apaguei a linha do codigo sem querer, faltou isso aqui:

cout << "Valor: " << ReadProcessMemory(phandle, (void*)addr, &value, sizeof(value), 0) << endl;

 

mesmo assim ele continua dando esse valor, já tentei de algumas fomas parecidas, mas não deu :/

 

A propósito, eu estou juntando um conteúdo, depois que conseguir fazer o que eu estou querendo, eu posto um tutorial aqui no forum.

Valew

Link para o post
Compartilhar em outros sites

cout << "Valor: " << ReadProcessMemory(phandle, (void*)addr, &value, sizeof(value), 0) << endl;

 

 

Tenta isso

ReadProcessMemory(phandle, (void*)addr,&value,sizeof(value),0);
cout << "Valor: " << value << endl;

A propósito, eu estou juntando um conteúdo, depois que conseguir fazer o que eu estou querendo, eu posto um tutorial aqui no forum.

Valew

 

Muito bom saber que tem gente interessada em programar e espalhar o conhecimento no fórum!

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo