2016-03-04 45 views
-1

我正在努力獲取與共享對象文件(ELF)中的某個函數相關的指令。在共享對象文件(ELF)中獲取函數的指令流(字節或程序集)

這應該通過python腳本實現。我可以通過命令行做到這一點,因爲目標不是從我的python腳本啓動cli命令。應該使用庫來代替。

我的腳本的輸入是一個對象,文件名和功能類似

python getInstructionStream.py main.o foo 

名稱的結果應該

00000016 <foo>: 
    16: 55      push ebp 
    17: 89 e5     mov ebp,esp 
    19: 83 ec 10    sub esp,0x10 
    1c: 8b 45 0c    mov eax,DWORD PTR [ebp+0xc] 
    1f: 8b 55 08    mov edx,DWORD PTR [ebp+0x8] 
    22: 01 d0     add eax,edx 
    24: 89 45 fc    mov DWORD PTR [ebp-0x4],eax 
    27: 8b 45 fc    mov eax,DWORD PTR [ebp-0x4] 
    2a: c9      leave 
    2b: c3      ret 

它不是一個必須的顯示輸出中任何彙編語法。十六進制流也是足夠的。任何人都可以爲我命名一個或多個圖書館,可以幫助我完成這種工作嗎?

+0

看看'libelf'? – Jester

+1

聽起來很像你要求某人爲你寫代碼。這不是堆棧溢出的工作方式。你編寫代碼,當你遇到麻煩時,你會尋求幫助。 –

+0

我不想讓任何人爲我寫代碼。我正在尋求圖書館的支持。 – Dennis1818

回答

0

感謝您的libelf提示。我可以從這裏繼續

相關問題