Jedním z problémů je, že získáváte zpět virtuální adresu, nikoli fyzickou adresu, kde se nachází paměť. Při příštím spuštění nebude mapování pravděpodobně stejné.
To lze rozhodně provést v rámci modulu jádra v Linuxu, ale nemyslím si, že v uživatelském prostoru existuje nějaké rozhraní API, které byste mohli použít.
Pokud máte oprávnění (a předpokládám, že byste na tomto počítači mohli být rootem, pokud jej restartujete), můžete nahlédnout do /dev/mem a zobrazit skutečné fyzické rozložení. Možná byste měli zkusit vzorkovat hodnoty, restartovat a zjistit, kolik z těchto hodnot přetrvává.
Existuje podobný projekt, kde je demonstrován studený boot útok. Zdrojový kód je k dispozici, možná tam načerpáte inspiraci.
AFAIR však přečtou paměť bez předchozího načtení OS, a proto se nemusejí potýkat s ochranou paměti OS. Možná byste to měli zkusit také, abyste zabránili přepsání nebo vymazání paměti operačním systémem po spuštění.
(Podívejte se také na video na webu, je docela působivé;)