Ir para conteúdo
🥇 [Exclusivo] Seja um Membro VIP EXTREME! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Posts Recomendados

Olá, estou fazendo uma source, para procurar valores dentro da memoria de um processo quaisquer.

 

Até agora fiz isso:

 

É necessário se cadastrar para acessar o conteúdo.

 

Queria um loop para que ele buscasse todos os valores que contenham a variavel 'value'.

 

Desde já obrigado.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/
Compartilhar em outros sites

Explica melhor isso aí, não consegui entender, como quer os valores da "value" se ela apenas armazena um(DWORD)? ¬¬'

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4026806
Compartilhar em outros sites

Eu não testei nenhuma destas funções, a função de converter eu peguei uma e modifiquei, a outra sua eu só fiz o loop.

É necessário se cadastrar para acessar o conteúdo.

 

É necessário se cadastrar para acessar o conteúdo.

Coloquei esse for pois 0 = $00000000 e 2147483647 = $7FFFFFFF, mas eu não usei DWORD pois um loop só funciona com os valores em integral.

Espero ter ajudado.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4028743
Compartilhar em outros sites

@AceStryker

 

ótimo source, mas no delphi aqui foram encontrados 2 erros,

 

O Primeiro na Função IntToPtr :

 

[Error] Unit3.pas(21): Declaration expected but 'INLINE' found

 

O Segundo não é no source, mas sim na quando tento dar scan em algum value do processo 'notepad.exe'

 

dá aquele erro de violação de direitos de acesso e mostra um address no erro.

 

Axo que o 2° erro, se origina do primeiro, ja que apaguei da da primeira função o 'inline'

 

@DarkFenyx3

 

Estou tentando fazer um processo semelhante ao do Cheat Engine.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4030044
Compartilhar em outros sites

Leia blocos por vez e faça a comparação do seu valor para cada DWORD do bloco lido. Repita até o endereço desejado.

E lembre-se de ler em blocos, ler de 1 em 1 é lento demais. Após ler o bloco você faz a comparação direta na sua memória sem precisar acessar a de outro processo.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4048782
Compartilhar em outros sites

Ryokusei, teria como nos ajudar a fazer uma dll para ler as address que tem certo value em determinado processo? Teria como nos ensinar pelomenos a dar firstscan? Obrigado^^.

 

Desculpa por aquela mensagem que eu te enviei=(, eu não sabia.

postpunido.png

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4053161
Compartilhar em outros sites

Leia blocos por vez e faça a comparação do seu valor para cada DWORD do bloco lido. Repita até o endereço desejado.

E lembre-se de ler em blocos, ler de 1 em 1 é lento demais. Após ler o bloco você faz a comparação direta na sua memória sem precisar acessar a de outro processo.

 

Legal, mas como assim, usar 'blocos' ?? blocos de address ?

 

Estou utilizando threads para nao travar. Desde já obg.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4055038
Compartilhar em outros sites

Ryokusei, teria como nos ajudar a fazer uma dll para ler as address que tem certo value em determinado processo? Teria como nos ensinar pelomenos a dar firstscan? Obrigado^^.

 

Desculpa por aquela mensagem que eu te enviei=(, eu não sabia.

 

Acompanhe o tópico e poste suas dúvidas. Se quer o code é você quem o fará.

 

Legal, mas como assim, usar 'blocos' ?? blocos de address ?

 

Estou utilizando threads para nao travar. Desde já obg.

 

Me refiro a ler blocos de memória de uma vez. No seu code do primeiro post você lê blocos de 4 bytes. Se você ler 1kb por vez fica mais rápido, é a isso que me refiro. A partir daí você verifica se o valor existe direto da sua memória, e lê menos vezes a memória de outro processo.

 

Se puder, poste seu code para que possa avaliá-lo. Quando você fizer do jeito certo, a própria main thread vai ser suficiente porque o scan não vai levar mais de 3 segundos.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4055179
Compartilhar em outros sites

@Ryokusei

 

Olha ai o source:

 

É necessário se cadastrar para acessar o conteúdo.

 

Quando compilo e tento da scan, obtenho o seguinte erro:

 

affz.png

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4055598
Compartilhar em outros sites

@Ryokusei

 

Olha ai o source:

 

É necessário se cadastrar para acessar o conteúdo.

 

Desculpe minhas palavras, mas pelo code você não sabe o que está fazendo, sequer sabe como usar corretamente a ReadProcessMemory e variáveis.

Mude o 1024 para 4, isso vai parar o erro. Você não pode colocar 1kb onde só cabem 4, vai ter um overflow que dará o erro que você teve.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4060195
Compartilhar em outros sites

Desculpe minhas palavras, mas pelo code você não sabe o que está fazendo, sequer sabe como usar corretamente a ReadProcessMemory e variáveis.

Mude o 1024 para 4, isso vai parar o erro. Você não pode colocar 1kb onde só cabem 4, vai ter um overflow que dará o erro que você teve.

 

Olá, bom, o erro não parou.. e sobre n saber usar o readprocess, só mudei aonde vc falou. só queria um loop para ler a memoria. será que você poderia explicar melhor essa questão dos blocos? n entendi direito.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4061841
Compartilhar em outros sites

Olá, bom, o erro não parou.. e sobre n saber usar o readprocess, só mudei aonde vc falou. só queria um loop para ler a memoria. será que você poderia explicar melhor essa questão dos blocos? n entendi direito.

 

Claro, explicarei melhor. Depois de entender o que disse sobre ler os 1024 numa var DWORD, você deve ter notado que só vai poder ler 4 por vez com um DWORD. Lendo de 4 em 4 você acessa a memória do processo alvo 0x7FFFFFFF vezes, o que é muita coisa. Isso torna o processo extremamente lento. Se você ler um bloco de 1kb de memória do processo alvo, comparar todos os DWORDs dentro do bloco lido dentro da sua memória, então o processo se tornará mais rápido, muito mais.

Veja esta analogia:

 

A memória do processo é um trem. Cada byte é um vagão. Você está lendo 4 vagões por vez, daí compara seu conteúdo com o seu "value" de interesse. Você vai ter que olhar os vagões muitas vezes já que faz de 4bytes pulando 1 vagão por vez.

Se você ler 1024 vagões pulando 1024 vagões por vez fica mais rápido, porque você olha menos vezes para os vagões do trem. Então você leu 1024, você compara na sua mesa de trabalho (memória), onde você tem acesso fácil e rápido. Após analisar tudo que foi lido, você olha os 1024 vagões seguintes, e assim até o final.

 

Tente com esse code:

 

É necessário se cadastrar para acessar o conteúdo.

 

Vai demorar, claro. Só ajeitei o que você postou.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4062300
Compartilhar em outros sites

@Ryokusei

 

Muito Obrigado já descobri em que eu estava errando, era uma parte no source da thread..

 

outra coisa, como pegar o progresso da busca e botar numa ProgressBar??

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4067106
Compartilhar em outros sites

So fazer outro loop...

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4067496
Compartilhar em outros sites

Pois é.. ainda tem bugs.. kk

dessa vez nao é sobre o source, mas quero entender pq o Cheatengine acha só um valor e o meu source acha um monte ??

 

Olha o print:

postsdb.png

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4067737
Compartilhar em outros sites

Pois é.. ainda tem bugs.. kk

dessa vez nao é sobre o source, mas quero entender pq o Cheatengine acha só um valor e o meu source acha um monte ??

 

Olha o print:

postsdb.png

 

Verifique os valores nos addresses que seu programa retorna. Se for 123, então não tem erro nenhum. O que ocorre é que o CE faz um scan mais limpo, procura nas áreas certas, evita buracos e coisas que não deve ser alteradas. Já o seu programa não discrimina nada. Por isso há essa diferença.

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4069286
Compartilhar em outros sites

@tio ryokusei

 

Tá beleza cara, entendi tudo.

Agradeço a ajuda de todos, duvida resolvida. Poda da Closed~

Link para o comentário
https://www.webcheats.com.br/topic/856286-d%C3%BAvida-readmemoryprocess/#findComment-4077190
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.