RAM içeriğini keşfetme


12

Ben bir redis Veritabanı kullanıyorum ve uygulamanın kullandığı RAM içeriğini keşfetmek istiyorum.

Bunu neden yapmak istediğimin açıklamasının sorduğum sorudan daha anlamlı olacağını hissediyorum.

Redis, ikili verileri depolayan basit bir anahtar değer deposudur. Kodlama gibi şeyleri keşfetmek için iyi bir yer olacağını düşünüyorum ve ikili veri setleri aramak, basit kalıplar aramak gibi şeyler yapmak RAM üzerinde kayma gibi şeyler yapmak benim için ilginç olurdu; belki RAM'de arama yapan bir bebek sorgu dili yazma fikrini keşfedebilirsiniz.

SICP'de sorgu dilleri ile ilgili bölümü okuduktan sonra bu fikri anladım .

Nereden başlayacağınız hakkında bir fikriniz var mı? Başlangıçta, "Bu uygulamanın içinde çalıştığı adres alanını verin, lütfen" sisteme sormak istiyorum.

Yanıtlar:


7

Bir işlemin belleğine erişmek için gdb'yi kullanabilirsiniz.

Ayrıca, "/ proc" dosya sistemine bir göz atmalısınız - her işlem için sözde dosyalar içerir; bazıları ilginç bilgiler içerebilir


7

cat /proc/[pid]/maps proc manajlarına göre.

İstediğiniz gibi görünüyor. Pid'e ihtiyacınız varsa, ps'den veya başka bir araçtan alın.

Bu, kullanımdaki adres alanını bulmaya yöneliktir. Geçen yıl defcon görevlilerinden biri linux üzerine yaratıcılık uyguladı. Yani bunu yapabilirsin ... sonra keyfi hafızayı bu şekilde oku.

Okumasıpmap -x [pid] daha kolay olduğuna işaret ederek psusi'ye kredi verin .


3
pmapBu bilgileri daha fazla okunabilir olacak şekilde biçimlendirdiğini unutmayın .
Mart'ta psusi

6

Bir hata ayıklayıcı kullanın, hepsi bunun için.

Kendinizi yuvarlamak istiyorsanız, her şey geçer ptrace.

Bir işlemin bellek haritasını (bellek içindekiler tablosu) içinde görebilir /proc/$pid/mapsve tüm bellek içeriğini okuyabilirsiniz /proc/$pid/mem. Bu ikinci dosyayı normal olarak açamazsınız, bkz. Linux altında / proc / $ pid / mem'den nasıl okurum?


1
Bazı sorularımda inanılmaz yardımcı oldunuz. Genel olarak Linux işletim sistemi veya özellikle ilginç web makaleleri ile ilgili herhangi bir kitap okumayı önerir misiniz?
MageProspero
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.