]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - README.txt
(implementing suggestion #94)
[proxmark3-svn] / README.txt
index 541365c2fadf05ccd4f2bf1197e4653d9a85429e..1a4ddb6d0e693b3192f7270a5b8326d75b4fd86a 100644 (file)
-INTRO:\r
-\r
-This file contains enough software, logic (for the FPGA), and design\r
-documentation for the hardware that you could, at least in theory,\r
-do something useful with a proxmark3. It has commands to:\r
-\r
-    * read any kind of 125 kHz unidirectional tag\r
-    * simulate any kind of 125 kHz unidirectional tag\r
-\r
-(This is enough to perform all of the silly cloning attacks, like the\r
-ones that I did at the Capitol in Sacramento, or anything involving\r
-a Verichip. From a technical standpoint, these are not that exciting,\r
-although the `software radio' architecture of the proxmark3 makes it\r
-easy and fun to support new formats.)\r
-\r
-As a bonus, I include some code to use the 13.56 MHz hardware, so you can:\r
-\r
-    * do anything that a (medium-range) ISO 15693 reader could\r
-    * read an ISO 14443 tag, if you know the higher-layer protocol\r
-    * pretend to be an ISO 14443 tag, if you know the higher-layer protocol\r
-    * snoop on an ISO 14443 transaction\r
-\r
-I am not actively developing any of this. I have other projects that\r
-seem to be more useful.\r
-\r
-USING THE PACKAGE:\r
-\r
-The software tools required to build include:\r
-\r
-    * cygwin or other unix-like tools for Windows\r
-    * the Microsoft Visual C++ compiler (I use Version 6)\r
-    * arm-elf-gcc; I use WinterMute's build, from http://www.devkitpro.org/\r
-    * Xilinx's WebPack tools\r
-    * Modelsim (for test only)\r
-    * perl\r
-\r
-It is not necessary to build the FPGA image yourself; a pre-compiled\r
-image is provided, as armsrc/fpgaimg.c. This is a generated file,\r
-though, and you can rebuild it by running fpga/go.bat.\r
-\r
-Documentation is minimal, but see the doc/ directory for what exists. A\r
-previous familiarity with the ARM, with digital signal processing,\r
-and with embedded programming in general is assumed.\r
-\r
-The device is used through a specialized command line interface; for\r
-example, to clone a Verichip, you might type:\r
-\r
-    loread                          ; this reads the tag, and stores the\r
-                                    ; raw samples in memory on the ARM\r
-\r
-    losamples                       ; then we download the samples to\r
-                                    ; the PC\r
-\r
-    vchdemod clone                  ; demodulate the ID, and then put it\r
-                                    ; back in a format that we can replay\r
-\r
-    losim                           ; and then replay it\r
-\r
-To read an ISO 15693 tag, you might type:\r
-\r
-    hiread                          ; read the tag; this involves sending a\r
-                                    ; particular command, and then getting\r
-                                    ; the response (which is stored as raw\r
-                                    ; samples in memory on the ARM)\r
-\r
-    hisamples                       ; then download those samples to the PC\r
-\r
-    hi15demod                       ; and demod them to bits (and check the\r
-                                    ; CRC etc. at the same time)\r
-\r
-Notice that in both cases the signal processing mostly happened on the PC\r
-side; that is of course not practical for a real reader, but it is easier\r
-to initially write your code and debug on the PC side than on the ARM. As\r
-long as you use integer math (and I do), it's trivial to port it over\r
-when you're done.\r
-\r
-The USB driver and bootloader are documented (and available separately\r
-for download, if you wish to use them in another project) at\r
-\r
-    http://cq.cx/trivia.pl\r
-\r
-\r
-OBTAINING HARDWARE:\r
-\r
-Most of the ultra-low-volume contract assemblers that have sprung up\r
-(Screaming Circuits, the various cheap Asian suppliers, etc.) could put\r
-something like this together with a reasonable yield. A run of around\r
-a dozen units is probably cost-effective. The BOM includes (possibly-\r
-outdated) component pricing, and everything is available from Digikey\r
-and the usual distributors.\r
-\r
-If you've never assembled a modern circuit board by hand, then this is\r
-not a good place to start. Some of the components (e.g. the crystals)\r
-must not be assembled with a soldering iron, and require hot air.\r
-\r
-The schematics are included; the component values given are not\r
-necessarily correct for all situations, but it should be possible to do\r
-nearly anything you would want with appropriate population options.\r
-\r
-The printed circuit board artwork is also available, as Gerbers and an\r
-Excellon drill file.\r
-\r
-\r
-FUTURE PLANS, ENHANCEMENTS THAT YOU COULD MAKE:\r
-\r
-At some point I should write software involving a proper real-time\r
-operating system for the ARM. I would then provide interrupt-driven\r
-drivers for many of the peripherals that are polled now (the USB,\r
-the data stream from the FPGA), which would make it easier to develop\r
-complex applications.\r
-\r
-It would not be all that hard to implement the ISO 15693 reader properly\r
-(with anticollision, all the commands supported, and so on)--the signal\r
-processing is already written, so it is all straightforward applications\r
-work.\r
-\r
-I have basic support for ISO 14443 as well: a sniffer, a simulated\r
-tag, and a reader. It won't do anything useful unless you fill in the\r
-high-layer protocol.\r
-\r
-Nicer (i.e., closer-to-optimal) implementations of all kinds of signal\r
-processing would be useful as well.\r
-\r
-A practical implementation of the learning-the-tag's-ID-from-what-the-\r
-reader-broadcasts-during-anticollision attacks would be relatively\r
-straightforward. This would involve some signal processing on the FPGA,\r
-but not much else after that.\r
-\r
-It would be neat to write a driver that could stream samples from the A/Ds\r
-over USB to the PC, using the full available bandwidth of USB. I am not\r
-yet sure what that would be good for, but surely something. This would\r
-require a kernel-mode driver under Windows, though, which is more work.\r
-\r
-\r
-LICENSING:\r
-\r
-This program is free software; you can redistribute it and/or modify\r
-it under the terms of the GNU General Public License as published by\r
-the Free Software Foundation; either version 2 of the License, or\r
-(at your option) any later version.\r
-\r
-This program is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-GNU General Public License for more details.\r
-\r
-You should have received a copy of the GNU General Public License\r
-along with this program; if not, write to the Free Software\r
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
-\r
-\r
-Jonathan Westhues\r
-user jwesthues, at host cq.cx\r
-\r
-May 2007, Cambridge MA\r
-\r
+NOTICE:
+(2014-03-26)
+This is now the official Proxmark repository!
+
+INTRODUCTION:
+
+The proxmark3 is a powerful general purpose RFID tool, the size of a deck
+of cards, designed to snoop, listen and emulate everything from
+Low Frequency (125kHz) to High Frequency (13.56MHz) tags.
+
+This repository contains enough software, logic (for the FPGA), and design
+documentation for the hardware that you could, at least in theory,
+do something useful with a proxmark3.
+
+RESOURCES:
+
+   * This repository!
+      https://github.com/Proxmark/proxmark3
+      
+   * The Wiki
+      https://github.com/Proxmark/proxmark3/wiki
+      
+   * The GitHub page
+      http://proxmark.github.io/proxmark3/
+      
+   * The Forum
+      http://www.proxmark.org/forum
+      
+   * The IRC chanel
+       irc.freenode.org #proxmark3
+       -or-
+       http://webchat.freenode.net/?channels=#proxmark3
+   
+DEVELOPMENT:
+
+The tools required to build  or run the project will vary depending on
+your operating system. Please refer to the Wiki for details.
+
+   * https://github.com/Proxmark/proxmark3/wiki
+
+OBTAINING HARDWARE:
+
+The Proxmark 3 is available for purchase (assembled and tested) from the
+following locations:
+
+   * http://proxmark3.com/
+   * http://www.xfpga.com/
+
+Most of the ultra-low-volume contract assemblers could put
+something like this together with a reasonable yield. A run of around
+a dozen units is probably cost-effective. The BOM includes (possibly-
+outdated) component pricing, and everything is available from Digikey
+and the usual distributors.
+
+If you've never assembled a modern circuit board by hand, then this is
+not a good place to start. Some of the components (e.g. the crystals)
+must not be assembled with a soldering iron, and require hot air.
+
+The schematics are included; the component values given are not
+necessarily correct for all situations, but it should be possible to do
+nearly anything you would want with appropriate population options.
+
+The printed circuit board artwork is also available, as Gerbers and an
+Excellon drill file.
+
+
+LICENSING:
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Jonathan Westhues
+user jwesthues, at host cq.cx
+
+May 2007, Cambridge MA
Impressum, Datenschutz