Ubuntu

比“objdump -d”更好的彙程式序?

  • December 8, 2021

我注意到在使用時objdump -d,它會輸出程序集(intel 語法或 AT&T 語法)、二進制操作碼編碼和地址編號。在我的情況下,我只希望反彙程式序只輸出 AT&T 程序集,因為刪除前 18-24 個字元(是的,沒有計算在內)將程序集從一個目標文件複製到程序集文件是令人討厭的。誰能幫忙?

誰能幫忙?

是的!man objdump能夠。尋找美國電話電報公司(/AT&T enter)!那麼,--no-addresses 應該工作。

您可以使用選項傳遞您最喜歡的彙編語法模式-M;在你的情況下,-M att

如果您想要一個通用性更強的反彙程式序,請嘗試radare2(儘管需要半小時才能習慣)。

Marcus Müller 的回答--no-addresses中提到的標誌是在 Binutils 2.35 中引入的。對於舊版本(Ubuntu 20.04 或更早版本,RHEL 8 或更早版本),您可以通過切換到具有固定寬度地址且沒有編碼指令的舊反彙編輸出,然後修剪輸出來獲得相同的結果。在 64 位平台上:objdump

objdump -d --prefix-addresses ... | cut -c20-

引用自:https://unix.stackexchange.com/questions/680398