Ir para conteúdo
Sistema de Servidores de Jogos ×
  • Quem está por aqui   0 membros estão online

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

[AJUDA] Tipo de memoria. ~delphi


Posts Recomendados

Olá, gostaria de saber como identificar o tipo de região da memoria, por exemplo, Read\Write.

 

Ouvi falar alguma coisa sobre VirtualQuery..

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/
Compartilhar em outros sites

Bom, vou explicar desde o inicio,

 

Estou fazendo um engine próprio, começei do zero.

 

Queria criar uma lista de address's readable's ou seja, listar todos os address da memoria em um listbox ou memo(tanto faz) e dai pesquisar os values nesta listbox.. entendeu?

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4170371
Compartilhar em outros sites

Pode usar um loop usando readprocessmemory para first scan e ler de $00000000 até $7FFFFFFF e checar se o valor desse address, se for igual ele adiciona o address e o valor no listbox, no next voce pega os addresses da lista do first scan e checa eles ao invez de checar de 0 a $7FFFFFFF

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4171918
Compartilhar em outros sites

Essa parte eu ja fiz e está funcionando perfeitamente o scan de valores, mas quero fazer um scan rapido na memoria antes de procurar os valores e identificar as regiões 'writeables \ readables'

 

para dai, buscar somente os adress com as caracteristicas certas.

 

Espero que entendam. Ryuk~

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4172030
Compartilhar em outros sites

@Ryokusei

 

Na verdade não conheço a sintaxe, mas ouvi falar que com ela posso identificar o tipo de address e assim atingir meu objetivo.

como não encontrei nada na net, recorri a webcheats. Gostei do seu nome, kkk.

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4172532
Compartilhar em outros sites

@Ryokusei

 

Na verdade não conheço a sintaxe, mas ouvi falar que com ela posso identificar o tipo de address e assim atingir meu objetivo.

como não encontrei nada na net, recorri a webcheats. Gostei do seu nome, kkk.

 

Deveras, Ryuk~. Veja se isto te ajuda:

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

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4172576
Compartilhar em outros sites

@ryokusei

 

Blz man, vlws aew, mas você poderia me dar um exemplo? e tbm, oque seria o "dwLength" ??

 

@edit

 

o exemplo é sobre virtualqueryEx já que vou usar a memoria de outro processo..

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4172685
Compartilhar em outros sites

@ryokusei

 

Blz man, vlws aew, mas você poderia me dar um exemplo? e tbm, oque seria o "dwLength" ??

 

@edit

 

o exemplo é sobre virtualqueryEx já que vou usar a memoria de outro processo..

 

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

 

O resultado da função é o número de bytes retornados no buffer de informação de memória.

 

hProcess: DWORD - Handle do processo alvo.

lpAddress: Pointer - Address da região de memória a ser analisada.

lpBuffer: MEMORY_BASIC_INFORMATION^ - Ponteiro para um struct MEMORY_BASIC_INFORMATION. Note que esse argumento é __out, ou seja, seu valor será definido pela função.

dwLength - Tamanho em bytes do buffer em lpBuffer. Ou seja, é só fazer um SizeOf.

 

Desculpe, mas o único exemplo que tenho é do meu próprio scanner de memória e não o divulgo por aqui.

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4172831
Compartilhar em outros sites

Entendi com funciona a função, mas estou com problemas para usala para identificar o tipo de região. outra coisa, percebi que o loop verifica os address de 1 por 1. como escanear varios blocos ou regioes da memoria de uma só vez?

 

o code abaixo..

 

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

 

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4178984
Compartilhar em outros sites

Entendi com funciona a função, mas estou com problemas para usala para identificar o tipo de região. outra coisa, percebi que o loop verifica os address de 1 por 1. como escanear varios blocos ou regioes da memoria de uma só vez?

 

o code abaixo..

 

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

 

 

Tente com mbi.protect e não AllocationProtect.

Você não pode escanear blocos de uma só vez, mas pode ler blocos de uma só vez. E é dessa forma que se faz. Leia um bloco do tamanho da região de memória alvo e verifique se seu valor existe no bloco lido. Vai ser muito mais rápido dessa forma. O meu, por exemplo, não leva mais de 3 segundos.

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4179499
Compartilhar em outros sites

Mais um problema.. como scanear blocos ao invés de address 1 por 1 ?? sem dúvidas será mais rápido.

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4183211
Compartilhar em outros sites

Mais um problema.. como scanear blocos ao invés de address 1 por 1 ?? sem dúvidas será mais rápido.

 

Use uma var global de array of Byte. Daí você usa o VirtualQueryEx e vê o tamanho da região de memória, usa SetLength pra definir o tamanho do array do mesmo tamanho da região de memória, daí você usa ele como buffer na ReadProcessMemory. Agora que você tem no buffer toda a memória lida, basta verificar todos os DWORDs (se for esse o tipo de scan que você quer) no array.

 

Essa é a fórmula para fazer o scanner. Divirta-se.

Link para o comentário
https://www.webcheats.com.br/topic/895072-ajuda-tipo-de-memoria-~delphi/#findComment-4185331
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.