Memory
記憶體轉儲中偏移 X 處的列印行每側 +/- 10 行
我有一個巨大的記憶體圖像,我正在調查和探勘(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