Apakah ada cara untuk melihat isi memori RAM? Dari byte pertama hingga yang terakhir. Saya ingin melihat di mana OS dan semua proses yang berjalan di dalamnya berada di RAM. Apakah ini mungkin?
Apakah ada cara untuk melihat isi memori RAM? Dari byte pertama hingga yang terakhir. Saya ingin melihat di mana OS dan semua proses yang berjalan di dalamnya berada di RAM. Apakah ini mungkin?
Jawaban:
Anda dapat menggunakan debugger kernel, yang memungkinkan akses memori "mentah", seperti SoftICE untuk Windows . Anda juga dapat mengonfigurasi GDB untuk bertindak sebagai debugger untuk kernel Linux . Jika mesin virtual adalah opsi, beberapa perangkat lunak virtualisasi mendukung penyimpanan status mesin (termasuk RAM) ke disk, yang kemudian dapat dianalisis lebih lanjut . Namun perlu dicatat bahwa kebanyakan sistem operasi "modern" menggunakan pengacakan tata letak ruang alamat (ASLR). Peta memori fisik sebenarnya dari sistem sengaja difragmentasi untuk membantu mengurangi berbagai masalah keamanan dan eksploitasi (yaitu stack / heap buffer overflow).
Namun, untuk program tertentu yang berjalan dalam sistem operasi modern, Anda dapat memperoleh peta memori logis untuk proses / utas tertentu - selama Anda memiliki simbol dan debugger debugging yang sesuai. Jika Anda menginginkan tampilan keseluruhan, jika perangkat lunak / perangkat keras menggunakan memori virtual , situasinya menjadi jauh lebih kompleks. Sekali lagi meskipun, jika Anda benar-benar menginginkan yang hanya di RAM, lihat paragraf pertama.
Pada Windows, isi memori fisik dapat diakses melalui \Device\PhysicalMemory
objek di Object Manager . Ini membutuhkan akses level kernel ke sistem, yang berarti Anda perlu menginstal sebuah program, kemungkinan besar driver mode kernel, untuk mengakses objek ini.
Di Linux, isi memori fisik dapat langsung diakses sebagai data biner dengan membaca /dev/mem
sebagai root
. Lihat Apa / dev / mem? dan mem(4)
halaman manual untuk detail lebih lanjut.
Saya tidak yakin mengapa Anda perlu menentukan di mana sistem operasi dan proses berada dalam memori fisik, meskipun ...
\DevicePhysicalMemory
objek tidak dapat dibuka dari mode pengguna. RAMmap dan sebagian besar alat sysinternals lainnya termasuk driver mode kernel untuk melakukan bagian dari pekerjaan mereka.