2015-07-09 12 views
5

Bir segment hatası atmadan bellek adreslerini (sanal değil, gerçek) okumak mümkün mü? Tüm canlı, kullanılmış hafıza adreslerini ve kayıt bulgularını okumak isterim.Segment hataları olmayan bir programın dışındaki belleği oku

+1

Doğrudan değil, ancak işletim sistemi bunu yapmak için kullanabileceğiniz bir işlev sağlayabilir. (Hem Windows hem de Linux'un diğer işlemlerin sanal belleğine erişme yollarının olduğunu biliyorum, ancak fiziksel bellek hakkında hiçbir fikrim yok) – immibis

+1

Linux'ta: http://stackoverflow.com/questions/12040303/accessing-physical-address-from-user- alan, http://stackoverflow.com/questions/7894160/accessing-physical-memory-from-linux-kernel, http://falsinsoft.blogspot.ru/2013/10/access-physical-memory-in-linux. html –

+1

Linux tarafı kolay görünüyor, ancak Windows biraz zor (Ben biraz HAL paslı). Yardım için hepinize teşekkür ederim. – NationWidePants

cevap

1

Kullandığınız işletim sistemine göre değişir.

Bu mümkün olmalıdır, ancak işletim sistemi ile donanım arasında arayüz oluşturmak için bir çekirdek sürücüsü yazmanız gerekecek ve bu kod bir sürücü olarak çalıştırılmak zorunda kalacaktır (Windows varsayıldığında, kullanıcılar fiziksel bellekle doğrudan bağlantı kuramıyorlar) .