pwntools
depends on binutils
in order to perform assembly and disassembly of various architectures.
This is a repository of binutils installation scripts for various operating systems, specifically for cross-installations (e.g. assembling VAX on Mac OSX).
Select the directory that corresponds to your operating system, and run install.sh
. If you're curious or want to audit our methodology files used by install.sh
are generated with generate.sh
.
NOTE: As of Ubuntu 16.04 (Xenial), there are packages for most architectures available directly form Ubuntu.
You should just be able toapt-get install binutils-arm-gnueabihf binutils-mipsel-linux-gnu
.
The Ubuntu installation process uses a Personal Package Archive (PPA) hosted by Ubuntu's Launchpad. These work by modifying a single binutils-cross
.deb
source archive, and changing the architecture.
No source code is changed, as the binutils-cross
targets rely on the binutils-source
package being installed, which is completely separate.
The builds are performed by Ubuntu, on Ubuntu's servers, against digitally signed source changes uploaded by pwntools maintainers.
The Mac OS X installation process uses the homebrew
package manager to build binutils from source.
The scripts generated are based on the original binutils recipe used by homebrew
.
The binaries are built on your machine, with source fetched directly from the gnu.org server.