How to install magspoof module/application

Noob here. I’m trying to install the magspoof tool onto my flipper from this repo: https://github.com/dunaevai135/flipperzero-firmware/tree/feature/nomodule/applications/magspoof and can’t figure out how. I’ve tried uploading it to my SD card into the apps folder and installing alternate firmware but for some reason I can never run it from the NFC menu shown here: https://cdn.flipperzero.one/bank_card_2_cut.mp4. I know this is probably a very stupid question but thanks for any answer!

1 Like

There are a lot of projects in various states of functionality. That one may not work or it may be meant for a different version of the firmware. Sadly we may never know. This project looks abandoned by the author. You could attempt to contact the author.

Hi were you able to get this working? How did you attempt to install the application?

1 Like

I don’t know the current working state but there is a project that looks promising.

Hopefully we get to see this working soon.

Unfortunately I can’t solve your topic, but I want to help describe the issue. If I ‘download the files and upload on SD card’, as written in the first post, I get nothing as well.
The reason is: The Flipper can’t handle .c (source code) or .h (header) files. The needs to be translated (compiled).


The Flipper-folks are very friendly. They provided us non-embedded-programmer-folks scripts to make the process as simple as possible.

Prepare the environment and get the source.

$ cd /opt
$ sudo mkdir git && sudo chown $USER:$USER git && cd git
$ git clone https://github.com/flipperdevices/flipperzero-firmware
$ cd flipperzero-firmware/applications_user
$ git clone https://github.com/zacharyweiss/magspoof_flipper
$ cd ..

Now we have the official flipperzero source in /opt/git/flipperzero-firmware and the magspoof source in /opt/git/flipperzero-firmware/applications_user.
If we take a look into the Application.fam of the project, we get in line 2 appid="mag",.

We are in the base of the flipperzero-firmware. Here we start the build and tell the appid: $ ./fbt fap_<appid>

$ ./fbt fap_mag
... wait ... wait ... wait ... wait

There will be no ‘wait’ on the screen, just some cryptic environment prepares. toolchain setup, drivers download, … embedded stuff. You need to be online for this process.
If you do not trust the flipper team or the developer of the app, you should do this on a different computer than reading your emails or view pictures of barely clothed woman/man … The scripts will do some voodoo, that needs a little time to understand.

After the preparation, the compiling is starting. And for this specific project it will fail. There is already an issue on github: Build fails · Issue #7 · zacharyweiss/magspoof_flipper · GitHub
I do not wonder, because the flipperzero-firmware is under heavy development and the used functions are pretty deep.

Solutions

  1. Read the error, understand the meaning and fix the code
  2. Wait for the maintainer/programmer to fix it
  3. Do all the steps above, but with an older version of flipperzero-firmware

You can do 3. with git checkout $hash and the hash of the releases can be found here: Releases · flipperdevices/flipperzero-firmware · GitHub
It is the cryptic number on the left hand, under the version. f.ex:

4 days ago
skotopes
0.85.0-rc
1ac1f0b

The latest Update on the magspoof project was 4 month ago. I don’t know what date is today, so someone else should answer which release was 4 month ago, but this looks good:
0.78.0-rc
e9984f8

This was more blah blah, than I wanted to spend on this topic. For a good topic it would be enough to write: source, command(s) and used system with version, what is the output and maybe what do I expect instead of this output.

An example without the whole blah blah blah:

Hey folks, I want to use the magspoof app on my flipper.
I cloned the source from GitHub - zacharyweiss/magspoof_flipper: Work-in-progress port of Samy Kamkar's MagSpoof project (http://samy.pl/magspoof/) to the Flipper Zero. Enables wireless emulation of magstripe data, using the inbuilt RFID coil as an electromagnet. to my applications_user folder and started <user>@<host>:/opt/git/flipperzero-firmware$ ./fbt fap_mag

After a while an error came up:

[...]
applications_user/magspoof_flipper/helpers/mag_helpers.c: In function 'tx_init_rfid':
applications_user/magspoof_flipper/helpers/mag_helpers.c:131:5: error: implicit declaration of function 'furi_hal_ibutton_start_drive'; did you mean 'furi_hal_ibutton_pin_write'? [-Werror=implicit-function-declaration]
  131 |     furi_hal_ibutton_start_drive();
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     furi_hal_ibutton_pin_write
applications_user/magspoof_flipper/helpers/mag_helpers.c:132:5: error: implicit declaration of function 'furi_hal_ibutton_pin_low'; did you mean 'furi_hal_ibutton_pin_write'? [-Werror=implicit-function-declaration]
  132 |     furi_hal_ibutton_pin_low();
      |     ^~~~~~~~~~~~~~~~~~~~~~~~
      |     furi_hal_ibutton_pin_write
cc1: all warnings being treated as errors
scons: *** [build/f7-firmware-D/.extapps/mag/helpers/mag_helpers.o] Error 1

I don’t know what this means, could you give me any hints?

1 Like

Looks like the app is for different firmware version. They changed iButton/1-Wire APIs some time ago.

1 Like

I had one the other day that was compiled for my current firmware but apparently an older version. Very difficult to keep up with the firmware evolving so fast.

I am REALLY confused about this. Can someone explain this to me as if I’m a 3 year old? I can’t seem to figure out how to install this at all.

ok after making a “common” file where I git repos I did " git clone https:/github.com/flipperdevices/flipperzero-firmware " then " cd flipperzero-firmware " then " git clone https:/github.com/zacharyweiss/magspoof_flipper "
but I did " cd magspoof_flipper " and intead of using fbt i just ran the command " ufbt " and it compiled. i tryed this bc I saw ufbt in the file named .gitignore in the magspoof_flipper dir
i removed the forward slash before the links so the form doesn’t break so please add that back in.