ฉันจะติดตั้ง objdump บน Mac OS X ได้อย่างไร


46

ฉันต้องการรับซอร์สโค้ดของเครื่องมือบรรทัดคำสั่งขนาดเล็กโดยใช้ objdump บน Mac OS X

ฉันใช้ arm-linux-objdump บน Linux และพบว่าเป็นเครื่องมือที่ยอดเยี่ยม

มีวิธีการติดตั้ง objdump บน OS X หรือไม่? ฉันค้นหา Google และพบข้อมูลเกี่ยวกับ arm-apple-dawin9-objdump แต่ไม่พบสิ่งที่จะดาวน์โหลด

คำตอบ:


57

objdumpเป็นส่วนหนึ่งของbinutils


8
Homebrew ก็มีเช่นกัน! :)
Adrian Petrescu

9
ฉันหวังว่า homebrew มีมัน! ขอบคุณ! brew install binutils
nacho4d

11
MacPorts binutils การติดตั้งเป็นobjdump gobjdump

1
-bash: objdump: command not found
IgorGanapolsky

1
brew install binutilsนอกจากนี้ยังติดตั้งเป็น gobjdump
โจเซฟ Sheedy

32

หากคุณติดตั้งเครื่องมือ XCode บน Mac ของคุณคุณสามารถใช้otoolที่มาพร้อมกับมัน ฉันเชื่อว่ามันทำสิ่งที่objdumpมีความสามารถ


14
+1 สำหรับ otool - ใช้otool -tV <executable>เพื่อแยกชิ้นส่วน
Paul R

1
dwarftoolยังมีฟังก์ชั่นที่คล้ายกัน
Mike Weller

3
otool มีตัวเลือกเช่น objdump -S ซึ่งให้เอาต์พุตประกอบด้วยหมายเหตุประกอบกับซอร์สโค้ดหรือไม่ ไม่สามารถระบุได้จาก --help เอาต์พุต
rgngl

1
-bash: dwarftool: command not found
IgorGanapolsky

8

หากไฟล์ของคุณ 64bits คุณควรใช้otoolแทนgobjdumpจากbinutils บน Mac OSX, gobjdump ใช้งานได้ 32 บิต


2
ณ วันที่ 2017, gobjdump 2.27 (ฉันคิดว่าฉันได้รับจาก homebrew?) ทำงานได้ดีกับ 64 บิตใน macOS Sierra (10.12)
hmijail

6

คุณสามารถติดตั้งกับ Homebrew:

$ brew install binutils
==> Downloading https://homebrew.bintray.com/bottles/binutils-2.25.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring binutils-2.25.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/binutils/2.25: 107 files, 140M
$ which gobjdump
/usr/local/bin/gobjdump

2

คุณควรใช้otoolเพราะobjdumpเป็นเครื่องมือ binutils สำหรับรูปแบบไบนารีเอลฟ์บน Linux และระบบ UNIX อื่น ๆ ส่วนใหญ่ otoolเป็น disassembler สำหรับรูปแบบไบนารี Mach-O ของ MacOS พิมพ์$ man otoolคำแนะนำในการใช้งาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.