memória - como ler a memoria ram
Perguntas � memória � como ler a memoria ram
como ler a memoria ram
gostaria de saber como eu posso fazer para ler valores que estao armazenador na memoria ram do pc, tipo, se tem um programa aberto com o segguite valor nele "10", eu criaria um modo para buscar na memoria esse valor e aonde ele esta armazenado, para alteralo
A JVM tem um sandbox que te impede de fazer isso, cara tu pode fazer via JNI. Faz tua aplicação em Java e deixa o mundo obscuro do C fazer o resto para você, claro, se realmente for preciso usar Java como linguagem.
lanlico
Mesmo em C isso não é trivialmente possível. Só através de exploração de falhas do sistema operacional e manipulação de baixo nível de ponteiros em assembly. Ainda assim, a maior parte dos exploits hoje envolve ler a área de memória do próprio aplicativo, não toda a memória RAM.
— ViniGodoy 26 de mai de 2013
Em C, você pode fazer isso usando far pointers, e só se seu programa rodar em modo kernel.
Em Java e nos demais casos, você só pode ler valores que foram criados pelo seu próprio aplicativo. Ou seja, ler o valor das variáveis que você criou.
Tentar ler memória de outros aplicativos dá o erro de "este programa executou uma operação ilegal e será fechado".
1) Você pode debugar o tal programa, assim pode localizar a tal variável e alterar o valor. 2) Se você está usando uma versão antiga do Linux (anterior a 2008), pode tentar abrir o dispositivo que representa a memória física (/dev/mem) ou a memória virtual (/dev/kmem). O problema é achar o tal valor nos gigabytes da memória do computador :) - hoje em dia /dev/mem não acessa a memória completa e sim um subconjunto muito limitado, por motivos de segurança. 3) no Red Hat Linux, você pode tentar abrir o dispositivo /dev/crash e fazer isso (acessar diretamente a memória física) 4) Para mais detalhes, olhe aqui: http://www.forensicswiki.org/wiki/Tools:Memory_Imaging
serio msm? nenhum modo possivel?
Isso deveria ser um comentário, e não uma resposta. Não há, pois isso representa criar insegurança na aplicação.