RFDump V1.3 


Features
-------------------------------------------------------------------------------

FDump is a tool to detect RFID-Tags and show their meta information: Tag ID, 
Tag Type, manufacturer etc. The user data memory of a tag can be displayed and 
modified using either a Hex or an ASCII editor. Tag contents can be stored
and loaded using a specific XML fomrat. This effectively allows to copy data 
from one tag to another. In addition, the integrated cookie feature demonstrates 
how easy it is for a company to abuse RFID technology to spy on their customers. 
RFDump works with the ACG Multi-Tag Reader or similar card reader hardware.

Requirements 
-------------------------------------------------------------------------------
You need a GCC Version 3.x

For the XML Support you need expat and gtk+ 2.4 for the UI !

Installation
-------------------------------------------------------------------------------

RFDump communicates with the RFID Reader in ASCII mode through a serial port 
(9600 baud, 8N1). The software has been tested with the ACG Multi-Tag Reader
but should work with similar hardware as well. Before starting RFDump 
connect your reader hardware to the machine running RFDump (either directly
through a serial port or via a PCMCIA card adapter).

Install the software by extracting the installation file rfdump_1.3.tar.gz

$ gunzip rfdump_1.3.tar.gz

$ tar -xvf rfdump_1.3.tar

Change into the install directory and start the build process:

$ cd rfdump_1.3

$ ./configure

$ make

$ make install

Next modify the file rfd.conf with your favorite text editor to point to the 
appropriate serial port. After installation the following default configuration 
is predefined:

dev = /dev/ttyS1

Now you are ready to start RFDump:

$ ./rfdump


User Guide (Gtk Version)
-------------------------------------------------------------------------------

After starting RFDump you will see the main screen. Scanning for tags will
start automatically. After starting it is recommended to wait a few seconds 
before putting the first tag under the reader so the hardware can be 
initialized.

When a tag is placed under the reader its type and ID will be displayed. 
Immediately after RFDump will start scanning the tag's memory (address 0x00-0xFF) 
and display it in Hex- and ASCII-representation in a table view. Each table cell 
represents a memory page. Reading the entire memory may take some time. Usually
a flashing light at the reader will indicate a reading operation in progress.
The reading process can be aborted by removing the tag from underneath the 
reader at any time. Once the entire memory is read RFDump will continue to 
scan for new tags but not re-read the current tag.

A memory page that has been read may be selected and modified. RFDump makes sure 
that pages have the correct length (8 or 16 bytes respectively, depending on 
the tag type) by padding zeros or truncating extra digits. When deslecting a 
modified table cell RFDump tries to write the modified page immediately to the 
tag. Note, that it is possible to edit the ASCII as well as the Hex data. 
The corresponding fields are updated automatically.

Note: Some tags have less than 0xFF pages, others map the same memory area to 
higher address spaces several times.

RFDump now supports a clipboard feature allowing to copy the entire data 
contents of a tag and paste them into another (of similar type). To use this
feature place the tag you want to copy from under the reader and wait until
its memory is read and displayed. Click the "Save" button. Next remove the
first tag and place the tag you want to copy to under the reader. Again wait 
until its memory is read. Now click "Load". The data from the clipboard will 
be written into the new tag. Note: The cipboard currently only allows to 
store the contents of one tag only. All data is stored in a spcific XML format 
in the file rfd.xml which can be reviewed and modified offline as well.

Checking the "Activate" check box enables the cookie feature. This feature 
will place a configurable cookie ID (default "DEADFACE") into the third last 
memory page and initialize a counter in the following memory page. After 
setting the cookie for the first time the counter will automatically be 
incremented by one each time the tag enters the reader's field.

