https://github.com/gallopsled/pwntools-binutils
Building binutils for pwntools
https://github.com/gallopsled/pwntools-binutils
Last synced: 9 months ago
JSON representation
Building binutils for pwntools
- Host: GitHub
- URL: https://github.com/gallopsled/pwntools-binutils
- Owner: Gallopsled
- License: mit
- Created: 2015-01-02T04:04:22.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2022-12-15T06:38:12.000Z (about 3 years ago)
- Last Synced: 2025-03-25T09:02:22.449Z (10 months ago)
- Language: Ruby
- Size: 27.3 KB
- Stars: 82
- Watchers: 12
- Forks: 45
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pwntools binutils scripts
[`pwntools`](https://pwntools.com) 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 macOS).
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`.
## Ubuntu
> **NOTE**: As of Ubuntu 16.04 (Xenial), there are [packages for most architectures](https://launchpad.net/ubuntu/xenial/+source/binutils) available directly form Ubuntu.
You should just be able to `apt-get install binutils-arm-gnueabihf binutils-mipsel-linux-gnu`.
The Ubuntu installation process uses a [Personal Package Archive (PPA) hosted by Ubuntu's Launchpad](https://launchpad.net/~pwntools/+archive/ubuntu/binutils). 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.
## macOS
The macOS installation process uses the [`homebrew`](https://brew.sh) package manager to build binutils from source.
The scripts generated are based on the original [binutils recipe](https://github.com/Homebrew/homebrew-core/blob/master/Formula/binutils.rb) used by `homebrew`.
The binaries are built on your machine, with source fetched directly from the gnu.org server.