mac os X 下安裝 objcdump

在 linux 下,用 readelf 來看 ELF(linux 下目標文件的格式) 文件頭部或者其它各 section 的內(nèi)容,用 objdump 來對指定的內(nèi)容(.text, .data等)進行反匯編。

但是mac os X下沒有這兩個命令,可以用 brew 來安裝。
使用命令

brew install binutils

然后使用 greadelfgobjdump 命令。

安裝完成后,出現(xiàn)下列提示

binutils is keg-only, which means it was not symlinked into /usr/local,
because because Apple provides the same tools and binutils is poorly supported on macOS.

If you need to have binutils first in your PATH run:
  echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.zshrc

For compilers to find binutils you may need to set:
  export LDFLAGS="-L/usr/local/opt/binutils/lib"
  export CPPFLAGS="-I/usr/local/opt/binutils/include"

意思就是 binutils 并沒有符號鏈接,并且 macOS 對他的支持并不好。

在使用之前,首先需要配置的路徑,能正確鏈接,根據(jù)提示操作就可以了。

首先

echo 'export PATH="/usr/local/opt/binutils/bin:$PATH"' >> ~/.zshrc

然后執(zhí)行 source 命令讓修改生效???/p>

source ~/.zshrc

可以打開 .zshrc 文件查看,在文件末尾有可以看到新增
export PATH="/usr/local/opt/binutils/bin:$PATH"

后面依次執(zhí)行下面的命令就可以了。

export LDFLAGS="-L/usr/local/opt/binutils/lib"
export CPPFLAGS="-I/usr/local/opt/binutils/include"

下面就可以使用 gobjdumpgreadelf 命令了。
或者 objdumpreadelf 也是可行的 ??

?  ~ gobjdump -v
GNU objdump (GNU Binutils) 2.31.1
Copyright (C) 2018 Free Software Foundation, Inc.
這個程序是自由軟件;您可以遵循 GNU 通用公共授權版本 3 或
(您自行選擇的) 稍后版本再發(fā)布它。
這個程序不含任何擔保
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容