OpenPCD 2 RFID Reader for 13.56MHz

From OpenPCD

(Redirected from Live)
Jump to: navigation, search
Bootable RFID & NFC Live Hacking system with libnfc and OpenPCD 2 RFID Reader/Writer/Emulator support


Downloading, Compiling, Flashing and Testing OpenPCD2 libnfc firmware for reading and writing DESfire RFID cards

Contents

OpenPCD 2 NFC/RFID Live Hacking System

A 13.56MHz NFC RFID Writer/Reader/Emulator design with libnfc support. Please check out our Fedora 17 x64 based bootable ISO image of the RFID OpenPCD 2 live hacking system with OpenPCD2 support for NFC and Mifare Classic cracking (v3 - 756MB, for 64bit x86 systems only). This download link is only valid for 3 hours - just reload the page to get a new link.

See some random examples on using the bootable RFID live system for OpenPCD 2.

Fedora-17-x86_64-Live-RFID-v3.iso

md5sum    : f97b06bdd42d4fba7575b5ca4356cb57
sha1sum   : 83e3b4f4e691c023d9bbb7e56c5cf71c559c0319
sha256sum : af5ea58b2a1d377f82add62e9e5eede8890acb389162b25b23031a87b0dcf0e8

Firmware development

OpenPCD 2 - a 13.56MHz NFC RFID Writer/Reader/Emulator with libnfc support
.

The OpenPCD 2 firmware with libnfc tree starts at firmware/lpc13xx/openpcd2-libnfc.

OpenPCD is also capable of running in a stand-alone mode where the RFID protocol is handle by the onboard ARM cpu. For a stand-alone firmware example - please refer to firmware/lpc13xx/openpcd2. In src/main.c you can see the interface for talking to the PN532 chip and sending out data via USB Serial CDC ACM protocol. Please check the PN532 datasheet for details on the RFID chip protocol.

Firmware Update

You can find a precompiled stand-alone version the latest OpenPCD2 firmware here and the libnfc compatible version here. Please use the lpc-flash software as supplied in our git repository (see firmware/lpc13xx/lpc-flash).

Join our firmware development - browse our git source code repository or download as Unix tar.bz2 file and Windows ZIP File file. You can use the CodeSourcery ARM cortexm3 EABI Toolchain for Windows and Linux - it's a precompiled tool chain and thus easy to install.

Hardware Design

Our RFID hardware projects for RFID Security Analysis

You can support our project by ordering a ready-built OpenPCD 2 reader device in our shop.

libnfc & nfc-tools installation under Fedora 17

libnfc installation

svn checkout http://libnfc.googlecode.com/svn/trunk/ libnfc-read-only
cd libnfc-read-only
wget http://www.openbeacon.org/git-view/openbeacon/plain/firmware/lpc13xx/openpcd2-libnfc/patches/libnfc-r1433.patch
patch -p0 < libnfc-r1433.patch
autoreconf -vis
./configure --prefix=/usr/local/openpcd --enable-serial-autoprobe --with-drivers=pn532_uart
make
sudo make install
 
# adding libnfc library to library path
echo /usr/local/openpcd/lib | sudo tee /etc/ld.so.conf.d/openpcd.conf
sudo ldconfig
 
# show installed commands
ls /usr/local/openpcd/bin/
 
# return to directory above
cd ..

libnfc patch in detail

Serial interface device names are changed to /dev/ttyACMx to make sure that libnfc will be able to autodetect readers:

Index: libnfc/buses/uart_posix.c
===================================================================
--- libnfc/buses/uart_posix.c	(Revision 1433)
+++ libnfc/buses/uart_posix.c	(Arbeitskopie)
@@ -52,7 +52,7 @@
 #  elif defined (__FreeBSD__) || defined (__OpenBSD__)
 const char *serial_ports_device_radix[] = { "cuaU", "cuau", NULL };
 #  elif defined (__linux__)
-const char *serial_ports_device_radix[] = { "ttyUSB", "ttyS", NULL };
+const char *serial_ports_device_radix[] = { "ttyACM", NULL };
 #  else
 #    error "Can't determine serial string for your system"
 #  endif
Index: configure.ac
===================================================================
--- configure.ac	(Revision 1433)
+++ configure.ac	(Arbeitskopie)
@@ -13,7 +13,7 @@
 AC_DEFINE_UNQUOTED([SVN_REVISION], ["$SVN_REVISION"], [SVN revision])
 
 AM_INIT_AUTOMAKE
-AM_PROG_AR
+m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])

libfreefare installation

svn checkout http://nfc-tools.googlecode.com/svn/trunk/libfreefare
cd libfreefare
autoreconf -vis
PKG_CONFIG_PATH=/usr/local/openpcd/lib/pkgconfig ./configure --prefix=/usr/local/openpcd
make
sudo make install
sudo ldconfig
 
# return to directory above
cd ..


nfcutils installation

svn checkout http://nfc-tools.googlecode.com/svn/trunk/nfcutils
cd nfcutils
autoreconf -vis
PKG_CONFIG_PATH=/usr/local/openpcd/lib/pkgconfig ./configure --prefix=/usr/local/openpcd
make
sudo make install
 
# return to directory above
cd ..

Mifare Classic Offline Cracker installation

svn checkout http://nfc-tools.googlecode.com/svn/trunk/mfoc
cd mfoc
autoreconf -vis
PKG_CONFIG_PATH=/usr/local/openpcd/lib/pkgconfig ./configure --prefix=/usr/local/openpcd
make
sudo make install
 
# return to directory above
cd ..


Breaking Mifare Classic using bootable Live DVD tutorial video - breaking derived keys with mfoc for two cards and comparing card using kdiff3