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
Hi, I got an error on "make" with mfcuk
/home/ubuntu/builds/nfc/mfcuk-r65/src/mifare.c:98: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mifare.c:103: undefined reference to
nfc_initiator_transceive_bytes'/home/ubuntu/builds/nfc/mfcuk-r65/src/mifare.c:110: undefined reference to
nfc_perror' /home/ubuntu/builds/nfc/mfcuk-r65/src/mifare.c:112: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mifare.c:99: undefined reference to
nfc_perror' /home/ubuntu/builds/nfc/mfcuk-r65/src/mifare.c:115: undefined reference to
nfc_configure'mfcuk.o: In function
mfcuk_darkside_select_tag': /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:908: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:914: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:921: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:931: undefined reference to
nfc_initiator_select_passive_target' mfcuk.o: In function
mfcuk_verify_key_block':/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:283: undefined reference to
iso14443a_crc_append' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:286: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:292: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:295: undefined reference to
nfc_initiator_transceive_bytes'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:299: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:350: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:355: undefined reference to
nfc_initiator_transceive_bits' mfcuk.o: In function
mfcuk_key_recovery_block':/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:437: undefined reference to
iso14443a_crc_append' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:440: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:443: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:447: undefined reference to
nfc_initiator_transceive_bytes'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:452: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:634: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:640: undefined reference to
nfc_initiator_transceive_bits' mfcuk.o: In function
mfcuk_darkside_reset_advanced':/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:865: undefined reference to
nfc_configure' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:871: undefined reference to
nfc_configure'mfcuk.o: In function
mfcuk_darkside_select_tag': /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:891: undefined reference to
nfc_configure'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:901: undefined reference to
nfc_configure' mfcuk.o: In function
main':/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1877: undefined reference to
nfc_disconnect' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1591: undefined reference to
nfc_connect'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1599: undefined reference to
nfc_initiator_init' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1734: undefined reference to
nfc_initiator_select_passive_target'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1792: undefined reference to
nfc_disconnect' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1795: undefined reference to
nfc_connect'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1803: undefined reference to
nfc_initiator_init' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1806: undefined reference to
nfc_disconnect'/home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1612: undefined reference to
nfc_disconnect' /home/ubuntu/builds/nfc/mfcuk-r65/src/mfcuk.c:1437: undefined reference to
iso14443a_crc_append'collect2: error: ld returned 1 exit status
Makefile:342: recipe for target 'mfcuk' failed
make[2]: *** [mfcuk] Error 1
make[2]: Leaving directory '/home/ubuntu/builds/nfc/mfcuk-r65/src'
Makefile:358: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/ubuntu/builds/nfc/mfcuk-r65'
Makefile:299: recipe for target 'all' failed
make: *** [all] Error 2
Any idea?
Thank you!