2011-12-23, 23:38
  #1
Medlem
Vikras avatar
Jag letar efter något program eller tips på hur jag ska göra för att skanna hela minnet på ett program i ubuntu 10.04 och få det utskrivet, jag lyckas bara hitta program som scanmem där jag bara kan söka efter ett värde och andra små funktioner men jag skulle vilja skriva ut och se minnet på alla adressen från text 10 till 10000. Någon som vet hur jag ska gå tillväga?
Citera
2011-12-24, 01:50
  #2
Medlem
Då program körs sandboxade med virtuellt minne går detta inte att åstadkomma med ett program per se, utan du måste använda kernelfunktioner. Du måste även klura ut vilka minnesadresser programmet egentligen körs på, då t ex minnesaddress 0x1000 i ett program inte är samma address i det fysiska minnet eftersom varje program får eget "virtuellt" minne.

Därmed är det svårt att veta vilket program som fått vilket minne av operativsystemet. Tror att det du försöker åstadkomma är ett sjuhelvetes projekt, faktiskt.

Ett sätt man faktiskt kan göra det på är att använda filerna /dev/mem och /dev/kmem för att dumpa virtuellt respektive fysiskt minne. Dessa filer är dock låsta av säkerhetskäl, och du måste kompilera om kärnan och tillåta dem för att få tillgång till dem. Problemet kvarstår dock - vilket minne tillhör vilket program? Du kommer få ut ettor och nollor, det är svårläst.
__________________
Senast redigerad av Skrynklig 2011-12-24 kl. 01:53.
Citera
2011-12-24, 08:22
  #3
Medlem
hashs avatar
Kommandot "pmap" gör inte allt du vill, men kommandot ger iaf detaljerad information en process.

pmap -d <pid>
Citera
2011-12-24, 10:18
  #4
Medlem
Du kan generera en coredump och söka i den. Det finns nog enklare sätt men det är det bästa jag kommer på just nu. man core för info. Coredump dumpar inte hela adressrymden utan bara de segment som finns allokerade (en full dump skulle bli 16EB stor). Det finns massa segment som stack, heap, shared libs, minnesmappade filer osv och jag vet inte om alla dessa segment dumpas.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in