core dump文件
core dump核心轉儲文件,一些信號的處理方式,會生成一個elf格式的文件,用來分析進程崩潰情況。
總結一下,core dump核心轉儲文件就是將所有的vma都映射成一個elf的段,然後生成一個可執行文件。注意,核心轉儲文件並不會包含代碼段,因此使用gdb調試核心轉儲文件的時候需要源代碼。
除了內存段之外,還會在文件的頭部加上一個note段,這個note段的信息包括信號信息(當前造成core dump的信號,pending的信號等待),各種時間(系統時間,進程各種執行時間等等),寄存器信息。
使用eu-readelf -n可以顯示核心文件的note段信息,包含寄存器狀態,輔助向量,進程各個id、信號信息和文件映射等
ECFS
linux二進制分析中提到的拓展核心文件快照技術
ecfs在原core dump文件的基礎上增加一個note段,放入其他的信息,包括打開文件列表,proc/pid目錄下的信息壓縮,文件路徑等等
然後由於coredump文件只會生成一個頁大小的代碼,ecfs還會根據原可執行文件來完整的拔下代碼段
還會進行注入代碼的標註,根據maps文件的映射庫路徑找到庫文件,判斷是庫還是注入代碼