Imprimir linha no deslocamento X no despejo de memória +/- 10 linhas de cada lado

Imprimir linha no deslocamento X no despejo de memória +/- 10 linhas de cada lado

Tenho uma imagem de memória enorme que estou investigando e pesquisando (64 GB +). Muito grande para carregar na memória/vim. Executei strings no arquivo de memória com os deslocamentos incluídos e salvei-os em um arquivo para poder pesquisar os indicadores nos quais estou interessado. Exemplo de saída:

332327467 Washington1 
332327514 Redmond1 
332327536 Microsoft Corporation1

Como faço para pegar um desses deslocamentos e imprimir aquela área específica na memória? Idealmente, +/- 10 linhas dele (se houver linhas pares na memória). ACHO que já vi dd ou xxd fazer isso, mas não tenho certeza.

Editar: no final das contas, meu fluxo de trabalho bem-sucedido se transformou em:

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

Subtraindo do deslocamento para retroceder um pouco, se necessário, e alterando count= para avançar, se necessário.

Responder1

Se você quiser usar dd, você pode usar skip=
bsquanto ler/gravar por vez, offset= bs* skip. Contar é quantas vezes ler/escrever.
Exemplo:

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

informação relacionada