From OpenPCD
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
.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
- PN532 based intelligent RFID frontend - allows card emulation, reading and writing RFID cards.
- Stand-Alone-firmware support for ISO 14443A
- Firmware support for libnfc
- Hardware supports FeliCa and ISO 14443B with custom Firmware
- PCB design Schematics and Layout
- All major operating Systems supported:
- Linux 2.4/2.6 Kernel (no driver needed, appears as /dev/ttyACMx serial port)
- Microsoft Windows XP/Vista/7 (get the Windows driver to create a serial COM port)
- Mac OS X (Leopard, Lion etc. - no driver needed, appears as /dev/tty.usbmodem* serial port)
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 ..