Installation

You can get Walrus on Google Play:

Get it on Google Play

Alternatively, if you’re comfortable with doing so, you can clone the Git repository and build Walrus yourself. Check out the README file for build instructions.

Connect your device

Start Walrus and you’ll be presented with your new, blank wallet:

(You may be asked to allow Walrus access to your location. This is use to add location information to each card you read; it’s necessary to start listening for location updates ASAP in order to ensure an accurate fix is ready by the time a card is being read.)

Connect your Proxmark3 or Chameleon Mini to your Android device. You may require a OTG USB cable or adapter.

You may be asked to grant Walrus permissions to access the device:

Upon successful connection, you’ll see a short message:

Check your device

Check that Walrus has correctly identified your device. Go to the device list by selecting the device list toolbar button:

Select your newly attached device and you should see a screen showing your device’s version information:

At this point, you should understand the capabilities of your device that Walrus (currently) supports. Check the device support page to see what your device can do. While most devices can read cards, only some can write or emulate cards back out again.

Read a card

You’re now set to add a new card and read its card data. First, note that Walrus distinguishes between cards and card data. Cards have metadata like a human readable name, date of creation, notes, and so on, as well as card data. Card data is the actual ID or other token held on a physical access control card that is read by a card reader.

From your wallet, select the “Add New Card” action:

A screen with a new card appears. Here, you can set the card’s name and add notes as necessary:

Next, select the “Read Card” button. You should see a dialog pop up indicating that card data is ready to be read:

Place a physical card on your device’s antenna. If all goes well, you should be returned to the card view with the newly read card data and your current location (shown here zoomed out!):

After saving your card into your wallet by selecting the save icon, you’ll return to your wallet with the new card showing:

Writing a card

If your device supports it, writing a card is simple.

Select the card in your wallet to be taken to its detailed information screen:

Place a writable physical card on your device’s antenna and select the “Write Card” button. A dialog will pop up indicating that data is being written:

After this, the card data should be written.

Emulating a card

Again, if your device supports it, emulating a card is easy, being much the same as writing a card (see above).

As before, select the card in your wallet to be taken to its detailed information screen. This time, select the “Emulate Card” button. Currently, as Walrus only supports the Chameleon Mini for emulation, the card data is sent to the device and emulation is started immediately. (When support for other devices that don’t permanently store a card in order to emulate it is added, a dialog will pop up much the same as when writing a card.)

You can now hold your device’s antenna up to a reader and the card data will be read.

Bulk reading cards

Bulk reading cards lets you stealthily read multiple cards over a period of time without having to interact with your Android device.

From your wallet, select “Bulk Read Cards”:

You’ll be asked to fill in a card template for any new cards read during the bulk card read. Metadata will be taken from this template when new card data is read (with the name having an additional ascending per-run ID number.)

Select the start button to start the bulk read. You’ll be returned to your wallet and a notification will appear to indicate that the bulk read is in progress in the background:

Wave some physical cards over your device’s antenna. Note that there is a anti-duplicate filter - Walrus will ignore the same card being read more than once in succession. Either alternate between two different cards for testing purposes, or try a bunch of different ones.

Each read card will lead to a new card appearing instantly in your wallet:

Selecting the bulk read notification or the ongoing bulk reads toolbar icon in the wallet will show a listing of all ongoing bulk card reads:

By selecting a bulk card read, you can view its status or stop it:

Congrats, you’ve covered Walrus’s basic functionality!

Gotchas

As always in alpha software, there’s a few known bugs that might bite you.

  • Walrus’s handling of device disconnections mid-operations is less than stellar in some cases.
  • You might need to experiment with connecting your device directly vs. using a hub, and so on.

If you have any issues, we want to hear about it! Send us an email or file an issue on GitHub. We’re still in alpha so bugs are to be expected, unfortunately 😅. With your help, however, we’re committed to squashing all the bugs we can find!