2016-11-07 48 views
0

我有這個EFL文件,我需要調試/逐步。這是一場逆向工程競賽。我需要做的是在特定時間點和特定地點找出註冊簿的價值。我使用Hopper Disassembler來找出感興趣的地址。調試一個ELF文件

這是問題所在。我不知道如何調試ELF文件。這是我第一次在Linux環境下進行調試。學習如何執行ELF文件本身花了我一段時間。我通過使用執行 ld-linux.so.2 ./[EFLFILE] [arguments]

有沒有一種方法,我可以在調試器上附加一個調試器?我甚至無法用ps命令找到它。另外,我聽說有可能有遠程調試器;讓一臺調試器在Windows機器上運行,並讓二進制文件在linux上運行。

任何人都可以幫助我實現這一切嗎?

+1

您可以使用[GDB](HTTPS://www.gnu。 org/software/gdb /)在linux下調試一個程序 – daouzli

回答

0

通常一個ELF文件可以作爲執行如下:

$ /path/to/elffile [arguments] 

要使用GDB調試它,你可以這樣做:

$ gdb /path/to/elffile 

或者傳遞參數:

$ gdb --args /path/to/elffile arguments... 

在你案例:

$ gdb --args ./[EFLFILE] [arguments] 

然後鍵入run或simly r並按。 輸入help以獲取有關gdb命令的幫助。

注意:如果你的程序需要一些外部庫,運行它之前,你應該定義LD_LIBRARY_PATH指向包含這些庫(export LD_LIBRARY_PATH=/the/path/to/libs)的文件夾上

+0

無論我做什麼,我都永遠不會執行ELF文件 '$ [filename]' 我總是收到消息「no command [filename]發現「 當我嘗試使用你建議的gdb(」在你的情況下「的行),我得到一個權限被拒絕,即使在使用sudo之後。我正在使用最新的Ubuntu。 – hexinx

+0

我認爲這是因爲它是64位ubuntu安裝中的32位ELF。我會運行一個32位系統,並會嘗試相同的。 – hexinx

+0

@hexinx如果您獲得權限被拒絕請確保您的文件具有執行權限'$ chmod + x elffile',但是如果您不能獨立運行您的二進制文件,gdb將無法運行 – daouzli

相關問題