Getting started with Proxmark3 on Mac

So Amal asked me to write this up. It’s not very good, but it should cover the PM3 Easy process on Mac OS. It’s kind of written to take after the Windows doco.
Checking your hardware works

For Mac, a recently-flashed Proxmark 3 Easy shows up as a /dev/tty.usbmodemiceman* object. /dev/tty* objects are COM ports in *nix, generally.

To check your hardware is communicating properly, plug your PM3 into your Mac and run the following code:

ls /dev/tty.*

image

You should see /dev/tty.usbmodemiceman in there.

As with Windows, we’re not using pre-built binaries or any of that.

Preparing

For Mac OS, we’re going to be using Homebrew. If you haven’t used this, it’s akin to a package manager from Linux. It consists of a bunch of build tools and other utilities to make installing programs as pain-free as possible, while still being exceptionally powerful. It’s based on Ruby and Git and is fully open source.

On Linux, it’s quite easy to get build tools. On Mac OS, Xcode is usually the source of the platform’s compiler. Thankfully, Homebrew’s automated installer can install the Xcode command-line tools for you. To use the automated installer, copy and paste this into your terminal.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Feel free to check the install script before you run it – it’s rather harmless.

Homebrew will ask you a few questions during installation. First of which is to enter your password for sudo – as it will install a few things that need it if it can.

image

After this, it will give you a list of what it is going to install.

image

Press return, and it will run for a while. Once it’s complete, you’ll see the below screen in your terminal.
image
Cloning the Proxmark3 repo

In Homebrew, we don’t explicitly clone a repo. We ‘tap’ a cask. It will pull the ‘formula’, which is a build script, from Git which tells it what to clone and how to build it.

We do this by running:
brew tap RfidResearchGroup/proxmark3
image

It can take a little bit, as it will install the build dependencies such as the ARM toolchain and client dependencies.

Building proxmark3

Prior to building, we need to make a change to ensure the build scripts build for the Easy. On Windows or Linux, you’d change this in the Makefile.platform, but on Mac OS, as we’re using Homebrew, we export it as an environment variable.
export HOMEBREW_PROXMARK3_PLATFORM=PM3OTHER

Now to actually build the latest (bleeding-edge) version of the RRG repo, we run:
brew install --HEAD proxmark3

image

Once you get a return, the proxmark3 scripts and client have been installed to your user account.

Hold the Proxmark3 Easy’s button when plugging it into your Mac. This will enable bootloader mode, so we may flash the latest firmware binaries. It will have orange and green LEDs lit to indicate this.

To flash your entire PM3, use:

pm3-flash-all
image
This flashes the bootrom and firmware to the latest version. To open the client, you run:

pm3

From there, follow the instructions for the Windows one.

9 Likes