sashs / Ropper

Display information about files in different file formats and find gadgets to build rop chains for different architectures (x86/x86_64, ARM/ARM64, MIPS, PowerPC, SPARC64). For disassembly ropper uses the awesome Capstone Framework.
https://scoding.de/ropper
BSD 3-Clause "New" or "Revised" License
1.87k stars 206 forks source link

Add support for Mach-O universal binaries. #111

Closed rsesek closed 5 years ago

rsesek commented 5 years ago

If the detected file is a Mach-O fat file, the arch specified to Ropper will be selected from the slice of Mach-O images within the fat file. If no arch is specified, the first slice is used.

This also updates the filebytes submodule to include sashs/filebytes#20, but that might not be how you manage the submodules for Ropper. Feel free to update as necessary. The change to ropper/loaders/mach_o.py is small.

Closes sashs/filebytes#9.

sashs commented 5 years ago

Merged. Thank you! I will change the opening scheme a little bit. Since ropper can open several files, it would be nice if both slices would be opened.

rsesek commented 5 years ago

Thanks for the fast pulls! And reworking the opening scheme to load all the slices sounds like a great idea.