Memory

記憶體轉儲中偏移 X 處的列印行每側 +/- 10 行

  • November 4, 2016

我有一個巨大的記憶體圖像,我正在調查和探勘(64gb+)。太大而無法載入到記憶體/vim。我在記憶體文件上執行了包含偏移量的字元串,並將其保存到一個文件中,以便我可以搜尋我感興趣的指標。範例輸出:

332327467 Washington1 
332327514 Redmond1 
332327536 Microsoft Corporation1

如何獲取其中一個偏移量並列印出記憶體中的特定區域?理想情況下 +/- 10 行(如果記憶體中有偶數行)。我認為我見過 dd 或 xxd 這樣做,但我不確定。

編輯:最終我成功的工作流程變成了:

strings --radix=d mem.dump >> mem.asc
strings --radix=d -el mem.dump >> mem.uni
grep "blah" mem.asc *or* mem.uni
*grab offset from beginning of line*
dd if=mem.dump  bs=1 skip=*offset here* count=100 | xxd

如果需要,從偏移量中減去稍微向後退,並在需要時更改 count= 以前進。

如果你想使用dd,你可以使用skip=

bs一次讀/寫多少, offset= bs* skip。計數是讀/寫的次數。

例子:

$ dd if=input of=output bs=1 skip=332327467 count=128

引用自:https://unix.stackexchange.com/questions/320655