Skip to content

Instantly share code, notes, and snippets.

@ceres-c
Last active March 16, 2022 11:47
Show Gist options
  • Save ceres-c/b84935799f5d65a4e41328d3ceaa075c to your computer and use it in GitHub Desktop.
Save ceres-c/b84935799f5d65a4e41328d3ceaa075c to your computer and use it in GitHub Desktop.
Using mfcuk r65 with libnfc 1.5.1 in 2018

You first need to download both libnfc 1.5.1 and mfcuk r65. The former is available among github releases wile the latter can be obtained via git rebase.

If you're on Arch you'll need pcsclite, if on Debian derivates libpcsclite-dev

Let's compile libnfc (<user> is your username)

mkdir -p ~/builds/nfc
cd ~/builds/nfc
wget https://github.com/nfc-tools/libnfc/releases/download/libnfc-1.5.1/libnfc-1.5.1.tar.gz
tar zxf libnfc-1.5.1.tar.gz
cd libnfc-1.5.1
./configure --prefix=/home/<user>/builds/nfc/prefix --with-drivers=all --sysconfdir=/etc/nfc --enable-serial-autoprobe
make
make install
cd ..

./configure options are needed to enable editing options via the usual /etc/nfc/libnfc.conf file and to allow using a PN532 shield with a USB-UART interface.

Then, for mfcuk

git clone https://github.com/nfc-tools/mfcuk mfcuk-r65
cd mfcuk-r65
git reset --hard 1b6d022
autoreconf -is
LIBNFC_CFLAGS=-I/home/<user>/builds/nfc/prefix/include LIBNFC_LIBS="-L/home/<user>/builds/nfc/prefix/lib -lnfc" ./configure --prefix=/home/<user>/builds/nfc/prefix
make

If needed, uncomment last line in /etc/nfc/libnfc.conf to enable PN532 discovery. You'll now need to run these last 2 commands

cd /home/<user>/builds/nfc/mfcuk-r65/src
LD_LIBRARY_PATH=/home/<user>/builds/nfc/prefix/lib ./mfcuk -C -R 0:A -v 3

Sorry for the poorly written doc, it's mostly a personal reminder for future reference

@seasonw
Copy link

seasonw commented Nov 17, 2018

Hi, getting the Error:

mfcuk: error while loading shared libraries: libnfc.so.2: cannot open shared object file: No such file or directory

when executing mfcuk

You must set library path while you run mfcuk, eg:-
LD_LIBRARY_PATH=/home/<user>/builds/nfc/prefix/lib ./mfcuk

@steve77r
Copy link

Hi when I try this I get "ERROR: connecting to NFC reader.

My reader is shown in lsusb, ARC122U

Can anyone help? Thanks

@alexhng1
Copy link

noobie here. just wondering what is meant by:
Go to ~/builds/nfc/mfcuk-r65/src, then edit the Makefile at line 197:

-LIBS =
+LIBS = $(LIBNFC_LIBS)

I tried opening that file and and not sure what I'm changing. I'm getting the same error previously posted when I try to
make' mfcuk.

@ceres-c
Copy link
Author

ceres-c commented Jan 6, 2019

@alexhng1 it means you have to replace the line LIBS = with LIBS = $(LIBNFC_LIBS)

This is gnu's diff notation

@ceres-c
Copy link
Author

ceres-c commented Jan 6, 2019

@steve77r Have you tried with sudo? Maybe you udev rules are not allowing you to access the device...

BTW Sorry for late answers, I don't get notifications for comments here...

@gozzolino95
Copy link

When executing mfcuk I got Endless time and some mfcuk_key_recovery_block() error (code 0x03)
What's wrong?

@alexhng1
Copy link

alexhng1 commented Feb 11, 2019

Thanks guys. Compiled and finally working mfcuk r65 with libnfc1.5.1, but getting endless mfcuk_key_recovery_block() error (code 0x09). I think this has been posted elsewhere nfc-tools/mfcuk#56, but just wondering if anyone else has ideas? Thanks

@kopolindo
Copy link

Thank you so much. It works for me to on Arch Linux (5.2.6-arch1-1-ARCH [20190807]) but it stop the scan after a while, with this error:
mfcuk: ERROR: mfcuk_key_recovery_block() (error code=0x08) mfcuk: ERROR: configuring NDO_ACTIVATE_FIELD
Does anyone know how to handle it? I cannot figuring out how to fix

@ceres-c
Copy link
Author

ceres-c commented Aug 11, 2019

@gozzolino95 You better read issues in mfuck original repo for that
@alexhng1 No idea, sorry. mfcuk isn't that reliable, I guess
@kopolindo I have never stumbled upon this particular error, partially because I don't really need to use mfcuk owning two proxmarks.
Similar errors were present in MFOC and were due to timing issues, you could have a look at the code to see if there are similar issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment