objdump

    3熱度

    2回答

    可能重複: Disassembling, modifying and then reassembling a Linux executable 我已經告訴組件和dissassembly不是逆。顯然,你不能分解一個程序,把這個輸出直接放到一個彙編程序中,並且期望它能夠正確運行,因爲信息丟失了。 我的問題是,爲什麼信息丟失?另外,什麼信息丟失?

    1熱度

    1回答

    當轉儲一個可執行文件時,我只想將代碼段打印爲標準輸出。不是偏移量和二進制形式的代碼。我可以從人objdump記下它的存檔。有沒有辦法?

    2熱度

    2回答

    我已經採取Android的Linux內核從gzip標題拆分它並解壓縮它。然而,當我嘗試從android ndk做一個objdump轉儲文件時,我得到一個文件格式無法識別的錯誤。 任何人都知道如何從二進制圖像中獲取符號表。 在我的Android設備,我可以做以下得到一個符號表: 執行cat/proc/kallsyms

    13熱度

    2回答

    我在linux中有一個文件夾,其中包含幾個共享對象文件(* .so)。如何在linux中使用objdump和bash函數在共享對象文件中找到函數? 例如,下面的例子中找到我的功能func1在mylib.so: objdump -d mylib.so | grep func1 但我想在其中找到包含共享目標文件夾func1。我不知道bash語言以及如何組合linux終端命令。

    14熱度

    2回答

    我有一個C++對象文件,其中包含一些C++模板函數的實例。所討論的目標文件爲幾個不同的模板參數組合實例化相同的函數。我試圖調試一個問題,並希望看看模板函數的特定實例的反彙編(也就是我知道我想要檢查的函數的模板參數)。我通常會使用objdump來反彙編目標文件,但它(至少默認情況下)無法解壓C++函數名稱。有沒有辦法做到這一點?目標文件是使用gcc 4.6.1創建的。

    0熱度

    1回答

    iOS項目中有一個.a庫。我想看看裏面的方法名,所以我在Mac上安裝了binutils。但是當我運行objdump [-h] xxx.a.它說: 「文件格式無法識別」。 那麼,objdump支持什麼格式呢?如何在不使用objdump的情況下查看.a庫中的方法?

    2熱度

    1回答

    我有一個用C++編寫的巨大項目。它全部分成多個靜態庫,最終鏈接到一個最終的共享庫,該庫僅導出一些簡單的功能。 如果我這樣做是objdump的最後。所以我看到我所有的內部名稱等,因爲它使用長的類名和命名空間這些字符串變得過長,因此最終的二進制大的。 所以,我的問題是我怎麼做正確與海灣合作委員會,以確保所有的內部功能不會在最終的二進制顯示? 我知道所有這些GCC特定的可見性修飾符,我使用-fvisib

    0熱度

    1回答

    我基本上尋找一種方法來提取二進制內的_fini地址。天真的方式,我能想到的是使用objdump和解析_fini。有沒有更好的方法來做到這一點(例如不使用objdump)。 謝謝!

    24熱度

    1回答

    我需要了解我正在工作的項目的ELF文件佈局,我注意到這些工具的存在。 爲什麼所有的Linux發行版都包含readelf和objdump?這些工具是否相互補充?我什麼時候更喜歡用另一種?

    5熱度

    1回答

    如果我在(linux amd64).o文件上運行objdump -d,函數調用將顯示出來,而不會執行鏈接時間解析。例如: 90: 66 89 44 24 1c mov %ax,0x1c(%rsp) 95: 44 89 74 24 10 mov %r14d,0x10(%rsp) 9a: e8 00 00 00 00 callq 9f <foo+0x9f> 9