RAM belleğinin içeriğini görmenin bir yolu var mı? İlk bayttan son bayta kadar. İşletim sisteminin ve üzerinde çalışan tüm işlemlerin RAM'de nerede olduğunu görmek istiyorum. Mümkün mü?
RAM belleğinin içeriğini görmenin bir yolu var mı? İlk bayttan son bayta kadar. İşletim sisteminin ve üzerinde çalışan tüm işlemlerin RAM'de nerede olduğunu görmek istiyorum. Mümkün mü?
Yanıtlar:
Windows için SoftICE gibi "ham" bellek erişimine izin veren bir çekirdek hata ayıklayıcı kullanabilirsiniz . GDB'yi Linux çekirdeği için bir hata ayıklayıcı görevi görecek şekilde de yapılandırabilirsiniz . Sanal makine bir seçenekse, bazı sanallaştırma yazılımı, makinenin durumunun (RAM dahil) diske kaydedilmesini destekler ve bu daha sonra analiz edilebilir . Bununla birlikte, çoğu "modern" işletim sisteminin adres alanı düzeni rastgele (ASLR) kullandığına dikkat edilmelidir . Sistemin gerçek fiziksel bellek haritası, çeşitli güvenlik sorunlarını ve istismarlarını (yani yığın / yığın arabellek taşmaları) azaltmaya yardımcı olmak için bilerek parçalanmıştır .
Bununla birlikte, modern bir işletim sisteminde çalışan belirli bir program için, uygun hata ayıklama sembollerine ve hata ayıklayıcıya sahip olduğunuz sürece, belirli bir işlem / iş parçacığı için mantıksal bir bellek haritası elde edebilirsiniz. Genel bir görünüm istiyorsanız, yazılım / donanım sanal bellek kullanıyorsa , durum büyük ölçüde daha karmaşık hale gelir. Yine de, kelimenin tam anlamıyla sadece RAM'de olanı istiyorsanız , ilk paragrafa bakın.
Windows'da, fiziksel belleğin içeriğine Nesne Yöneticisi'ndeki\Device\PhysicalMemory nesne üzerinden erişilebilir . Bu, sisteme çekirdek düzeyinde erişim gerektirir, yani bu nesneye erişmek için büyük olasılıkla çekirdek modu sürücüsü olan bir program yüklemeniz gerekir.
Linux'ta, fiziksel bellek içeriği doğrudan okuyarak ikili veri olarak erişilebilir /dev/memolarak root. Bkz. / Dev / mem nedir? ve mem(4)daha fazla ayrıntı için kılavuz sayfasına bakınız.
Yine de, işletim sisteminin ve işlemlerin fiziksel bellekte nerede bulunduğunu belirlemeniz gerektiğinden emin değilim ...
\DevicePhysicalMemorynesne kullanıcı modundan açılamaz. RAMmap ve diğer sysinternals araçlarının çoğu, çalışmalarının bir kısmını yapmak için bir çekirdek modu sürücüsü içerir.