Menjelajahi konten RAM


12

Saya menggunakan basis data redis dan ingin menjelajahi isi RAM yang digunakan aplikasi.

Saya merasakan penjelasan mengapa saya ingin melakukan ini akan lebih masuk akal daripada pertanyaan yang akan saya tanyakan.

Redis adalah toko nilai kunci sederhana yang menyimpan data biner. Saya pikir itu akan menjadi tempat yang baik untuk mengeksplorasi hal-hal seperti pengkodean dan akan menarik bagi saya untuk melakukan hal-hal seperti membaca sekilas RAM mencari set data biner, melakukan hal-hal seperti mencari pola sederhana; mungkin jelajahi ide menulis bahasa permintaan bayi yang dicari dalam RAM.

Saya mendapatkan ide ini setelah membaca bab dalam SICP tentang bahasa query.

Ada pemikiran tentang di mana untuk memulai? Awalnya, saya ingin bertanya "Beri saya ruang alamat untuk aplikasi ini, tolong" ke sistem.

Jawaban:


7

Anda dapat menggunakan gdb untuk mengakses memori suatu proses.

Juga, Anda harus melihat pada sistem file "/ proc" - ini berisi file pseudo untuk setiap proses; beberapa di antaranya mungkin berisi informasi menarik


7

cat /proc/[pid]/maps menurut manual proc.

Sepertinya apa yang Anda inginkan. Jika Anda membutuhkan pid, ambil itu dari ps atau alat lain apa pun.

Alamat itu menemukan ruang alamat yang digunakan. Salah satu rekan di defcon tahun lalu menerapkan createremotethread di linux. Jadi Anda bisa melakukan itu ... lalu baca memori yang berubah-ubah dengan cara itu.

Kredit untuk psusi untuk menunjukkan bahwa pmap -x [pid]lebih mudah dibaca.


3
Perhatikan bahwa pmapmemformat informasi ini sehingga lebih dapat dibaca manusia.
psusi

6

Gunakan debugger, itulah gunanya.

Jika Anda ingin menggulung sendiri, semuanya akan selesai ptrace.

Anda dapat melihat peta memori proses (daftar isi untuk memori) /proc/$pid/mapsdan membaca seluruh isi memori dari /proc/$pid/mem. Anda tidak bisa hanya membuka file terakhir itu secara normal, lihat Bagaimana saya membaca dari / proc / $ pid / mem di Linux?


1
Anda sangat membantu dengan beberapa pertanyaan saya. Apakah Anda menyarankan buku apa pun untuk dibaca yang umumnya terkait dengan OS Linux atau artikel web yang sangat menarik?
MageProspero
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.