<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jostrowski</id>
	<title>Elvis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jostrowski"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/Jostrowski"/>
	<updated>2026-09-10T16:20:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=4561</id>
		<title>Proxmark3: Debricking</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=4561"/>
		<updated>2020-09-19T20:21:56Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to reset a Proxmark3 RDV2 via the JTAG interface.&lt;br /&gt;
&lt;br /&gt;
This is useful when the &#039;&#039;&#039;Proxmark3 RDV2&#039;&#039;&#039; is bricked and won&#039;t connect to the computer. This will solve any software failures like a corrupt firmware or bootloader.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Debricking process via &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039; 3+ (version 2, 3 and 4 work exactly the same)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Debricking process via &#039;&#039;&#039;Bus Pirate&#039;&#039;&#039; 3.6&lt;br /&gt;
: Note: The method with the Bus Pirate did &#039;&#039;&#039;not work&#039;&#039;&#039; for me. Maybe you have better luck.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3&lt;br /&gt;
* Raspberry Pi 2, 3, or 4&lt;br /&gt;
* Bus Pirate v3 (or higher)&lt;br /&gt;
* Linux: Debian&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi.jpg|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
; This tutorial is based on:&lt;br /&gt;
: http://www.lucasoldi.com/2017/01/17/unbrick-proxmark3-with-a-raspberry-pi-and-openocd/&lt;br /&gt;
: https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle&lt;br /&gt;
: http://openocd.org/doc/html/OpenOCD-Project-Setup.html&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Compile Proxmark ===&lt;br /&gt;
&lt;br /&gt;
See [https://wiki.elvis.science/index.php?title=Proxmark3:_Installation Proxmark: Installation] or from the [https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux official website]&lt;br /&gt;
&lt;br /&gt;
=== Compile OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y autoconf libtool libftdi-dev textinfo pkg-config pkgconf git&lt;br /&gt;
git clone https://git.code.sf.net/p/openocd/code openocd&lt;br /&gt;
cd openocd&lt;br /&gt;
./bootstrap&lt;br /&gt;
./configure --enable-sysfsgpio --enable-bcm2835gpio&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo cp -r tcl/ /usr/share/openocd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will take about 15 minutes.&lt;br /&gt;
&lt;br /&gt;
-&amp;gt; &#039;&#039;&#039;Note:&#039;&#039;&#039; make, bootstrap and configure should give no compilation errors !!! (if not so check if you have all necessary libraries installed) &lt;br /&gt;
&lt;br /&gt;
-&amp;gt; &#039;&#039;&#039;Note:&#039;&#039;&#039; also make sure that you compiled the proxmark repository without any compilation errors! (if not so check if you have all necessary libraries installed) &lt;br /&gt;
&lt;br /&gt;
=== Connect physically ===&lt;br /&gt;
&lt;br /&gt;
Connect the following pins from the Raspberry Pi to the Proxmark3&lt;br /&gt;
&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Raspberry Pi&lt;br /&gt;
! Cable colour&lt;br /&gt;
|-&lt;br /&gt;
| TMS || 22 || yellow&lt;br /&gt;
|-&lt;br /&gt;
| TDI || 19 || blue&lt;br /&gt;
|-&lt;br /&gt;
| TDO || 21 || green&lt;br /&gt;
|-&lt;br /&gt;
| TCK || 23 || orange&lt;br /&gt;
|-&lt;br /&gt;
| GND || 6  || grey&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 1 || purple&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the pin layout of the Raspberry Pi see [https://www.theengineeringprojects.com/wp-content/uploads/2018/07/introduction-to-raspberry-pi-3-b-plus-2.png link].&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi pin.jpg|border|600px]]&lt;br /&gt;
&lt;br /&gt;
The pin configuration can be changed in: &amp;lt;code&amp;gt;/usr/share/openocd/interface/raspberrypi2-native.cfg&amp;lt;/code&amp;gt;. (Not necessary for this tutorial)&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Connect via OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Power the Proxmark separately from the Raspberry Pi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; 1. Start OpenOCD&lt;br /&gt;
: switch to the Proxmark folder&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &#039;&#039;Note: the source code of the Proxmark should be already be complied.&#039;&#039;&lt;br /&gt;
; 2. Create OpenOCD configuration&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Past following code into the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ports&lt;br /&gt;
telnet_port 4444&lt;br /&gt;
gdb_port 3333&lt;br /&gt;
&lt;br /&gt;
# Interface&lt;br /&gt;
adapter_khz 1000&lt;br /&gt;
source [find interface/raspberrypi2-native.cfg]&lt;br /&gt;
&lt;br /&gt;
# use combined on interfaces or targets that can&#039;t set TRST/SRST separately&lt;br /&gt;
reset_config srst_only srst_pulls_trst&lt;br /&gt;
&lt;br /&gt;
jtag newtap sam7x cpu -irlen 4 -ircapture 0x1 -irmask 0xf&lt;br /&gt;
&lt;br /&gt;
target create sam7x.cpu arm7tdmi -endian little -chain-position sam7x.cpu &lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -event reset-init { &lt;br /&gt;
    soft_reset_halt&lt;br /&gt;
    mww 0xfffffd00 0xa5000004   # RSTC_CR: Reset peripherals&lt;br /&gt;
    mww 0xfffffd44 0x00008000   # WDT_MR: disable watchdog&lt;br /&gt;
    mww 0xfffffd08 0xa5000001   # RSTC_MR enable user reset&lt;br /&gt;
    mww 0xfffffc20 0x00005001   # CKGR_MOR : enable the main oscillator&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc2c 0x000b1c02   # CKGR_PLLR: 16MHz * 12/2 = 96MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc30 0x00000007   # PMC_MCKR : MCK = PLL / 2 = 48 MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xffffff60 0x00480100   # MC_FMR: flash mode (FWS=1,FMCN=72)&lt;br /&gt;
    sleep 100&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
gdb_memory_map enable&lt;br /&gt;
#gdb_breakpoint_override hard&lt;br /&gt;
#armv4_5 core_state arm&lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x10000 -work-area-backup 0&lt;br /&gt;
flash bank sam7x512.flash.0 at91sam7 0 0 0 0 sam7x.cpu 0 0 0 0 0 0 0 18432&lt;br /&gt;
flash bank sam7x512.flash.1 at91sam7 0 0 0 0 sam7x.cpu 1 0 0 0 0 0 0 18432&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; 3. Start OpenOCD with the configuration file just created&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now a openOCD session is started. Do &#039;&#039;&#039;not&#039;&#039;&#039; close it.&lt;br /&gt;
 ~/git/proxmark3 $ sudo openocd -f tools/raspi.cfg&lt;br /&gt;
 Open On-Chip Debugger 0.10.0+dev-01404-g393448342-dirty (2020-09-17-17:59)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
 	http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Info : auto-selecting first available session transport &amp;quot;jtag&amp;quot;. To override use &#039;transport select &amp;lt;transport&amp;gt;&#039;.&lt;br /&gt;
 Info : Listening on port 6666 for tcl connections&lt;br /&gt;
 Info : Listening on port 4444 for telnet connections&lt;br /&gt;
 Info : BCM2835 GPIO JTAG/SWD bitbang driver&lt;br /&gt;
 Info : clock speed 1001 kHz&lt;br /&gt;
 Info : JTAG tap: sam7x.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part: 0xf0f0, ver: 0x3)&lt;br /&gt;
 Info : Embedded ICE version 1&lt;br /&gt;
 Info : sam7x.cpu: hardware has 2 breakpoint/watchpoint units&lt;br /&gt;
 Info : starting gdb server for sam7x.cpu on 3333&lt;br /&gt;
 Info : Listening on port 3333 for gdb connections&lt;br /&gt;
 Info : accepting &#039;telnet&#039; connection on tcp/4444&lt;br /&gt;
 target halted in ARM state due to debug-request, current mode: Supervisor&lt;br /&gt;
 cpsr: 0x000000d3 pc: 0x00122a74&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If the output does not look like that and rather looks like this:&lt;br /&gt;
 ~/git/proxmark3 $ sudo openocd -f tools/raspi.cfg&lt;br /&gt;
 Open On-Chip Debugger 0.10.0+dev-01404-g393448342-dirty (2020-09-17-17:59)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
 	http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Info : auto-selecting first available session transport &amp;quot;jtag&amp;quot;. To override use &#039;transport select &amp;lt;transport&amp;gt;&#039;.&lt;br /&gt;
 Info : Listening on port 6666 for tcl connections&lt;br /&gt;
 Info : Listening on port 4444 for telnet connections&lt;br /&gt;
 Info : BCM2835 GPIO JTAG/SWD bitbang driver&lt;br /&gt;
 Info : clock speed 1001 kHz&lt;br /&gt;
 Info : JTAG tap: sam7x.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part: 0xf0f0, ver: 0x3)&lt;br /&gt;
 Info : TAP auto0.tap does not have valid IDCODE (idcode=0x0)&lt;br /&gt;
 Info : TAP auto1.tap does not have valid IDCODE (idcode=0x0)&lt;br /&gt;
 Info : TAP auto2.tap does not have valid IDCODE (idcode=0x0)&lt;br /&gt;
 Info : TAP auto3.tap does not have valid IDCODE (idcode=0x0)&lt;br /&gt;
 Info : TAP auto4.tap does not have valid IDCODE (idcode=0x0)&lt;br /&gt;
 Info : TAP auto5.tap does not have valid IDCODE (idcode=0x0)&lt;br /&gt;
, then erase the chip manually and enable the JTAG interface by connecting the pin of the AT91SAM7S512 to 3.3V (see http://www.proxmark.org/forum/viewtopic.php?id=6159)&lt;br /&gt;
 &lt;br /&gt;
; 4. Connect to OpenOCD session&lt;br /&gt;
: Open a new terminal window and telnet to the port that was specified in the .cfg file&lt;br /&gt;
:: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
; 5. Flash via JTAG&lt;br /&gt;
; 6. Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
; 7. Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
; 8. Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ telnet localhost 4444&lt;br /&gt;
 Trying ::1...&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; halt&lt;br /&gt;
 target halted in ARM state due to debug-request, current mode: Supervisor&lt;br /&gt;
 cpsr: 0x000000d3 pc: 0x00122a74&lt;br /&gt;
 &amp;gt; flash erase_sector 0 0 15&lt;br /&gt;
 erased sectors 0 through 15 on flash bank 0 in 0.032174s&lt;br /&gt;
 &lt;br /&gt;
 &amp;gt; flash erase_sector 1 0 15&lt;br /&gt;
 erased sectors 0 through 15 on flash bank 1 in 0.031851s&lt;br /&gt;
 &lt;br /&gt;
 &amp;gt; flash write_image ./armsrc/obj/fullimage.elf&lt;br /&gt;
 wrote 257448 bytes from file ./armsrc/obj/fullimage.elf in 21.204687s (11.857 KiB/s)&lt;br /&gt;
 &lt;br /&gt;
 &amp;gt; flash write_image ./bootrom/obj/bootrom.elf&lt;br /&gt;
 wrote 3888 bytes from file ./bootrom/obj/bootrom.elf in 0.352596s (10.768 KiB/s)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disconnect the Raspberry Pi from the Proxmark&lt;br /&gt;
&lt;br /&gt;
Now you should be able to connect to the Proxmark as usual:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For useful commands visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bus Pirate ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Here the Bus Pirate 3.6 will be used&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This did not work for me, maybe it was faulty hardware or faulty firmware&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
; Update the Bus Pirate&lt;br /&gt;
: you can use following guide: [[Bus Pirate: First steps]]&lt;br /&gt;
; Get the latest Proxmark3 repository &amp;amp; build&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/Proxmark/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
: install needed components:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libpcsclite-dev pcscd&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; make clean &amp;amp;&amp;amp; make all&amp;lt;/code&amp;gt;&lt;br /&gt;
: Install proxmark3 driver:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo udevadm control --reload-rules&amp;lt;/code&amp;gt;&lt;br /&gt;
: Add user&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo adduser $USER dialout&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now logout and login in again&lt;br /&gt;
; Install OpenOCD&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install openocd&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect the Proxmark3 to the Bus Pirate&lt;br /&gt;
: use this pin configuration:&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Bus Pirate&lt;br /&gt;
|-&lt;br /&gt;
| TMS || CS&lt;br /&gt;
|-&lt;br /&gt;
| TDI || MOSI&lt;br /&gt;
|-&lt;br /&gt;
| TDO || MISO&lt;br /&gt;
|-&lt;br /&gt;
| TCK || CLK&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 3.3V&lt;br /&gt;
|}&lt;br /&gt;
; Flashing&lt;br /&gt;
: check on with Port the Bus Pirate is connected:&lt;br /&gt;
:: &amp;lt;code&amp;gt;ls /dev/tty*&amp;lt;/code&amp;gt;&lt;br /&gt;
:: OR&lt;br /&gt;
:: &amp;lt;code&amp;gt;dmesg -wH&amp;lt;/code&amp;gt; and plugout and connect the Bus Pirate again&lt;br /&gt;
: Set OpenOCD config&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
 # Interface&lt;br /&gt;
 interface buspirate&lt;br /&gt;
 buspirate_port /dev/ttyUSB0&lt;br /&gt;
 adapter_khz 1000&lt;br /&gt;
; Start OpenOCD&lt;br /&gt;
: Launch OpenOCD&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 :~/git/proxmark3$ sudo openocd -f tools/at91sam7s512-buspirate.cfg&lt;br /&gt;
 [sudo] password for j:               &lt;br /&gt;
 Open On-Chip Debugger 0.10.0-rc1-dev-gc404ff5d-dirty (2019-11-11-15:43)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
    http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Warn : Adapter driver &#039;buspirate&#039; did not declare which transports it allows; assuming  legacy JTAG-only &lt;br /&gt;
 Info : only one  transport option; autoselect &#039;jtag&#039; &lt;br /&gt;
 adapter speed: 1 000 kHz &lt;br /&gt;
 srst_only srst_p ulls_tr st srst_gates_jtag srst_open_drain connect_deassert_srst &lt;br /&gt;
 Info : Buspirate  Interf ace ready! &lt;br /&gt;
 Info : This adap ter doe sn&#039;t suppo rt configurable speed &lt;br /&gt;
 Info : JTAG tap:  sam7x. cpu tap/de vice found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part:  0xf0f0, ver: 0x3 ) &lt;br /&gt;
 Info : Embedded ICE version 1 &lt;br /&gt;
 Info : sam7x.cpu: hardware has 2 breakpoint/watchpoint units&lt;br /&gt;
 Info : accepting &#039;telnet&#039; connection on tcp/4444&lt;br /&gt;
&lt;br /&gt;
: Open a new terminal window&lt;br /&gt;
:: and type: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
: Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
: Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
: Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This will take a while (about 6 minutes)&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV2 Kit]]&lt;br /&gt;
[[Bus Pirate v3.6 Universal serial interface]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=4560</id>
		<title>Proxmark3: Debricking</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=4560"/>
		<updated>2020-09-19T08:09:06Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to reset a Proxmark3 RDV2 via the JTAG interface.&lt;br /&gt;
&lt;br /&gt;
This is useful when the &#039;&#039;&#039;Proxmark3 RDV2&#039;&#039;&#039; is bricked and won&#039;t connect to the computer. This will solve any software failures like a corrupt firmware or bootloader.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Debricking process via &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039; 3+ (version 2, 3 and 4 work exactly the same)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Debricking process via &#039;&#039;&#039;Bus Pirate&#039;&#039;&#039; 3.6&lt;br /&gt;
: Note: The method with the Bus Pirate did &#039;&#039;&#039;not work&#039;&#039;&#039; for me. Maybe you have better luck.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3&lt;br /&gt;
* Raspberry Pi 2, 3, or 4&lt;br /&gt;
* Bus Pirate v3 (or higher)&lt;br /&gt;
* Linux: Debian&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi.jpg|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
; This tutorial is based on:&lt;br /&gt;
: http://www.lucasoldi.com/2017/01/17/unbrick-proxmark3-with-a-raspberry-pi-and-openocd/&lt;br /&gt;
: https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle&lt;br /&gt;
: http://openocd.org/doc/html/OpenOCD-Project-Setup.html&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Compile Proxmark ===&lt;br /&gt;
&lt;br /&gt;
See [https://wiki.elvis.science/index.php?title=Proxmark3:_Installation Proxmark: Installation] or from the [https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux official website]&lt;br /&gt;
&lt;br /&gt;
=== Compile OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y autoconf libtool libftdi-dev textinfo pkg-config pkgconf git&lt;br /&gt;
git clone https://git.code.sf.net/p/openocd/code openocd&lt;br /&gt;
cd openocd&lt;br /&gt;
./bootstrap&lt;br /&gt;
./configure --enable-sysfsgpio --enable-bcm2835gpio&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo cp -r tcl/ /usr/share/openocd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will take about 15 minutes.&lt;br /&gt;
&lt;br /&gt;
=== Connect physically ===&lt;br /&gt;
&lt;br /&gt;
Connect the following pins from the Raspberry Pi to the Proxmark3&lt;br /&gt;
&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Raspberry Pi&lt;br /&gt;
! Cable colour&lt;br /&gt;
|-&lt;br /&gt;
| TMS || 22 || yellow&lt;br /&gt;
|-&lt;br /&gt;
| TDI || 19 || blue&lt;br /&gt;
|-&lt;br /&gt;
| TDO || 21 || green&lt;br /&gt;
|-&lt;br /&gt;
| TCK || 23 || orange&lt;br /&gt;
|-&lt;br /&gt;
| GND || 6  || grey&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 1 || purple&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the pin layout of the Raspberry Pi see [https://www.theengineeringprojects.com/wp-content/uploads/2018/07/introduction-to-raspberry-pi-3-b-plus-2.png link].&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi pin.jpg|border|600px]]&lt;br /&gt;
&lt;br /&gt;
The pin configuration can be changed in: &amp;lt;code&amp;gt;/usr/share/openocd/interface/raspberrypi2-native.cfg&amp;lt;/code&amp;gt;. (Not necessary for this tutorial)&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Connect via OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Power the Proxmark separately from the Raspberry Pi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; 1. Start OpenOCD&lt;br /&gt;
: switch to the Proxmark folder&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &#039;&#039;Note: the source code of the Proxmark should be already be complied.&#039;&#039;&lt;br /&gt;
; 2. Create OpenOCD configuration&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Past following code into the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ports&lt;br /&gt;
telnet_port 4444&lt;br /&gt;
gdb_port 3333&lt;br /&gt;
&lt;br /&gt;
# Interface&lt;br /&gt;
adapter_khz 1000&lt;br /&gt;
source [find interface/raspberrypi2-native.cfg]&lt;br /&gt;
&lt;br /&gt;
# use combined on interfaces or targets that can&#039;t set TRST/SRST separately&lt;br /&gt;
reset_config srst_only srst_pulls_trst&lt;br /&gt;
&lt;br /&gt;
jtag newtap sam7x cpu -irlen 4 -ircapture 0x1 -irmask 0xf&lt;br /&gt;
&lt;br /&gt;
target create sam7x.cpu arm7tdmi -endian little -chain-position sam7x.cpu &lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -event reset-init { &lt;br /&gt;
    soft_reset_halt&lt;br /&gt;
    mww 0xfffffd00 0xa5000004   # RSTC_CR: Reset peripherals&lt;br /&gt;
    mww 0xfffffd44 0x00008000   # WDT_MR: disable watchdog&lt;br /&gt;
    mww 0xfffffd08 0xa5000001   # RSTC_MR enable user reset&lt;br /&gt;
    mww 0xfffffc20 0x00005001   # CKGR_MOR : enable the main oscillator&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc2c 0x000b1c02   # CKGR_PLLR: 16MHz * 12/2 = 96MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc30 0x00000007   # PMC_MCKR : MCK = PLL / 2 = 48 MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xffffff60 0x00480100   # MC_FMR: flash mode (FWS=1,FMCN=72)&lt;br /&gt;
    sleep 100&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
gdb_memory_map enable&lt;br /&gt;
#gdb_breakpoint_override hard&lt;br /&gt;
#armv4_5 core_state arm&lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x10000 -work-area-backup 0&lt;br /&gt;
flash bank sam7x512.flash.0 at91sam7 0 0 0 0 sam7x.cpu 0 0 0 0 0 0 0 18432&lt;br /&gt;
flash bank sam7x512.flash.1 at91sam7 0 0 0 0 sam7x.cpu 1 0 0 0 0 0 0 18432&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; 3. Start OpenOCD with the configuration file just created&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now a openOCD session is started. Do &#039;&#039;&#039;not&#039;&#039;&#039; close it.&lt;br /&gt;
; 4. Connect to OpenOCD session&lt;br /&gt;
: Open a new terminal window and telnet to the port that was specified in the .cfg file&lt;br /&gt;
:: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
; 5. Flash via JTAG&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
; 6. Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
; 7. Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
; 8. Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disconnect the Raspberry Pi from the Proxmark&lt;br /&gt;
&lt;br /&gt;
Now you should be able to connect to the Proxmark as usual:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For useful commands visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bus Pirate ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Here the Bus Pirate 3.6 will be used&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This did not work for me, maybe it was faulty hardware or faulty firmware&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
; Update the Bus Pirate&lt;br /&gt;
: you can use following guide: [[Bus Pirate: First steps]]&lt;br /&gt;
; Get the latest Proxmark3 repository &amp;amp; build&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/Proxmark/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
: install needed components:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libpcsclite-dev pcscd&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; make clean &amp;amp;&amp;amp; make all&amp;lt;/code&amp;gt;&lt;br /&gt;
: Install proxmark3 driver:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo udevadm control --reload-rules&amp;lt;/code&amp;gt;&lt;br /&gt;
: Add user&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo adduser $USER dialout&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now logout and login in again&lt;br /&gt;
; Install OpenOCD&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install openocd&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect the Proxmark3 to the Bus Pirate&lt;br /&gt;
: use this pin configuration:&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Bus Pirate&lt;br /&gt;
|-&lt;br /&gt;
| TMS || CS&lt;br /&gt;
|-&lt;br /&gt;
| TDI || MOSI&lt;br /&gt;
|-&lt;br /&gt;
| TDO || MISO&lt;br /&gt;
|-&lt;br /&gt;
| TCK || CLK&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 3.3V&lt;br /&gt;
|}&lt;br /&gt;
; Flashing&lt;br /&gt;
: check on with Port the Bus Pirate is connected:&lt;br /&gt;
:: &amp;lt;code&amp;gt;ls /dev/tty*&amp;lt;/code&amp;gt;&lt;br /&gt;
:: OR&lt;br /&gt;
:: &amp;lt;code&amp;gt;dmesg -wH&amp;lt;/code&amp;gt; and plugout and connect the Bus Pirate again&lt;br /&gt;
: Set OpenOCD config&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
 # Interface&lt;br /&gt;
 interface buspirate&lt;br /&gt;
 buspirate_port /dev/ttyUSB0&lt;br /&gt;
 adapter_khz 1000&lt;br /&gt;
; Start OpenOCD&lt;br /&gt;
: Launch OpenOCD&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 :~/git/proxmark3$ sudo openocd -f tools/at91sam7s512-buspirate.cfg&lt;br /&gt;
 [sudo] password for j:               &lt;br /&gt;
 Open On-Chip Debugger 0.10.0-rc1-dev-gc404ff5d-dirty (2019-11-11-15:43)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
    http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Warn : Adapter driver &#039;buspirate&#039; did not declare which transports it allows; assuming  legacy JTAG-only &lt;br /&gt;
 Info : only one  transport option; autoselect &#039;jtag&#039; &lt;br /&gt;
 adapter speed: 1 000 kHz &lt;br /&gt;
 srst_only srst_p ulls_tr st srst_gates_jtag srst_open_drain connect_deassert_srst &lt;br /&gt;
 Info : Buspirate  Interf ace ready! &lt;br /&gt;
 Info : This adap ter doe sn&#039;t suppo rt configurable speed &lt;br /&gt;
 Info : JTAG tap:  sam7x. cpu tap/de vice found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part:  0xf0f0, ver: 0x3 ) &lt;br /&gt;
 Info : Embedded ICE version 1 &lt;br /&gt;
 Info : sam7x.cpu: hardware has 2 breakpoint/watchpoint units&lt;br /&gt;
 Info : accepting &#039;telnet&#039; connection on tcp/4444&lt;br /&gt;
&lt;br /&gt;
: Open a new terminal window&lt;br /&gt;
:: and type: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
: Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
: Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
: Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This will take a while (about 6 minutes)&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV2 Kit]]&lt;br /&gt;
[[Bus Pirate v3.6 Universal serial interface]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=2830</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=2830"/>
		<updated>2020-01-31T20:56:38Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
In this article the term security is explored and applied to the security requirements of an operating system. A general overview is given on how OS security is defined. Then, the three main sectors on OS security are presented as a high-level overview.&lt;br /&gt;
&lt;br /&gt;
This is based on the seminar paper &amp;quot;OS Hardening - Making systems more secure&amp;quot; ([[File:OS Hardening.pdf]]), which focuses on creating safe execution environments for exploitable applications with buffer overflows. &lt;br /&gt;
&lt;br /&gt;
== Operating System Security Evaluation ==&lt;br /&gt;
&lt;br /&gt;
Creating a completely secure system is hard if not impossible to achieve. Striving to such a goal gets even harder when dealing with enormous complex systems.&lt;br /&gt;
&lt;br /&gt;
There are three main evaluation criteria for testing and classify computer systems:&lt;br /&gt;
* &#039;&#039;&#039;TCSEC&#039;&#039;&#039;: Trusted Computer System Evaluation Criteria&lt;br /&gt;
: developed under the United States Government Department of Defense&lt;br /&gt;
* &#039;&#039;&#039;ITSEC&#039;&#039;&#039;: Information Technology Security Evaluation Criteria&lt;br /&gt;
: published under the Commission of the European Communities&lt;br /&gt;
* &#039;&#039;&#039;CC&#039;&#039;&#039;: Common Criteria&lt;br /&gt;
: These two standards got unified under ISO/IEC 15408 standard.&lt;br /&gt;
&lt;br /&gt;
These standards classify computer systems on a set of criteria ranging&lt;br /&gt;
from minimal protection (EAL 1) to verified protection (EAL 7).&lt;br /&gt;
&lt;br /&gt;
[[File:OS Security Evaluation Criteria.png|600px]]&lt;br /&gt;
&lt;br /&gt;
To bring these requirements into perspective here is a short list, for common OS classification:&lt;br /&gt;
&lt;br /&gt;
* EAL 4+: Red Hat Enterprise 7.1 (2017), Windows XP (2005), Windows 2008 (2008)&lt;br /&gt;
* EAL 3:  Apple Mac OS X 10.6 (2009)&lt;br /&gt;
* EAL 2:  Ubuntu 16.04 (2018)&lt;br /&gt;
&lt;br /&gt;
It has to be noted that examination takes a long time to conducted and only applies to one specific version. This is one of the reasons why such investigations are performed rarely. Additionally, they are very costly, leading to only a marginal gain for the product. &lt;br /&gt;
&lt;br /&gt;
== Common Threats ==&lt;br /&gt;
&lt;br /&gt;
The main security purpose of an operating system is the separation of user data and applications. Other applications or users should not be able to access data they are not authorized to. The operating system has different techniques for achieving this goal. But before we look into the protection and hardening of an operating system, the most prominent attacks are presented. This list of threats is by no means complete and should only give a brief overview.&lt;br /&gt;
&lt;br /&gt;
; Application Exploit&lt;br /&gt;
: Application exploits utilize programming errors to take advantage of the system with the goal in mind to have some kind of privilege escalation and accessing files that should normally not be accessible to a not authorized user.&lt;br /&gt;
; Buffer Overflow&lt;br /&gt;
: Buffer overflows are a subtype of an application exploit. As they are one of the more common attacks out there we examine them closer. Buffer overflow is the practice of exploiting unprotected size-unrestrained memory buffers. The goal of such an attack is the modification of the return pointer of a program, enabling the attacker to jump to an arbitrary location in memory. For more info, please visit [[Buffer Overflows]]&lt;br /&gt;
; Race Condition&lt;br /&gt;
: Race conditions can occur when concurrent processes can read or write on the same memory location. This attack is also known as time-to-check and time-of-use (TOC/TOU) as a shared value is checked and subsequently used to exploit some kind of software bug.&lt;br /&gt;
: For example, an attacker can create a symbolic link to a file in the precise moment a privileged program wants to write to it. If this symbolic link points to \textit{/etc/passwd}, the privilege program unwillingly overwrites the password file, allowing the attacker root access to the machine&lt;br /&gt;
; Other Attacks&lt;br /&gt;
: There are many more techniques attacking the CIA requirements of an operating system. Many malicious actors attack the confidentiality as it usually has the most value to an adversary.&lt;br /&gt;
: Other attacks on the CIA criteria include SQL injections, web exploits, password cracking, denial-of-service attacks, eavesdropping attacks and malware.&lt;br /&gt;
&lt;br /&gt;
=== Background of attackers ===&lt;br /&gt;
&lt;br /&gt;
In the 2019 Verizon data breach investigations report shows that the motives of threat actors were 67% financially motivated, 20% espionage driven, 8% for fun and self-esteem related. &lt;br /&gt;
&lt;br /&gt;
[[File:Verzion2019 Report.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== OS Hardening == &lt;br /&gt;
&lt;br /&gt;
It is to be noted that achieving a completely secure system is almost impossible. What makes this especially challenging is the fact, that a general-purpose operating system has to account for a diverse set of applications running on it. The operating system has only a small influence changing the behavior of a program, as the source code is mostly controlled by a third party. It is the job of the operating system to manage all of the programs and create a safe environment for the user and the applications.&lt;br /&gt;
&lt;br /&gt;
=== Safe Environments === &lt;br /&gt;
&lt;br /&gt;
Even though all applications operate in the same memory and on the same CPU, they should not be able to access files that they are not authorized to.&lt;br /&gt;
&lt;br /&gt;
;: Kernel-Enforced Protection&lt;br /&gt;
:: The kernel does not know the internal functionality of the executing program, therefore it can only modify the layout of the memory and enforce access control rights.&lt;br /&gt;
;:: Memory Access Control&lt;br /&gt;
:::: By creating non-executable (NOEXEC) memory spaces. This prevents the execution of injected shellcode in the heap or the stack of an application.&lt;br /&gt;
;:: Memory Address Randomization&lt;br /&gt;
:::: Address Space Layout Randomization (ASLR) introduces randomness of the placement in virtual memory. For an attacker it is therefore hard to know where the location of variables, binary, libraries, heap and stack are in memory, as it is different for each execution.&lt;br /&gt;
;: Compiler-Enforced Protection&lt;br /&gt;
:: This method tackles the problem during the compilation of the program. The compiler leverages the knowledge it has on the structure of the program and could modify it in the way of securing against buffer overflows.&lt;br /&gt;
;:: Stack Canaries&lt;br /&gt;
::::: The compiler can insert special data, called canaries, into different parts of the program memory that get checked during the program execution. If an attacker tries to overflow a buffer, the possibility of overwriting a canary is very high, since they are placed in strategical positions.&lt;br /&gt;
&lt;br /&gt;
For a more practical visualization please visit [[Buffer Overflows]].&lt;br /&gt;
&lt;br /&gt;
== Access Control == &lt;br /&gt;
&lt;br /&gt;
Access control on an operating system is needed to preserve the confidentiality of a multi-user and multi-application system. The system has to control who is allowed to access, modify and execute certain data.&lt;br /&gt;
&lt;br /&gt;
=== Access Control List ===&lt;br /&gt;
&lt;br /&gt;
In Linux basic file access control is based on the traditional UNIX file model. Each file and directory has a total of 9 bits and some special markers to set the permission. The three bits resemble the privilege to read (r), write (w) and execute (x) a given file.&lt;br /&gt;
&lt;br /&gt;
Dividing the access control into three groups can be quite limiting, especially if there are users that need special permissions and is called &#039;&#039;&#039;simple ACL&#039;&#039;&#039;. Maybe we want to grant permissions to additional users or groups. This is where the traditional system becomes quite constricting.&lt;br /&gt;
&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r--r-- 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
Therefore, the extension for a &#039;&#039;&#039;extended&#039;&#039;&#039; ACL is provided in Linux per default and enables the definition of additional users (named user) and additional groups (named group). Accessing and viewing the extended ACL in Linux is possible with the command &amp;lt;code&amp;gt;getfacl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 // view extended ACL&lt;br /&gt;
 $ getfacl example.txt&lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // modify or add permissions&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;u:someuser:rwx&amp;quot; example.txt&lt;br /&gt;
 $ sudo setfacl -m &amp;quot;g:somegroup:r-x&amp;quot; example.txt &lt;br /&gt;
 $ getfacl eammple.txt &lt;br /&gt;
 &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  user:someuser:rwx&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::rwx&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command (note the # that indicates the extended acl)&lt;br /&gt;
 ls -l example.txt &lt;br /&gt;
  -rw-rwxr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
 &lt;br /&gt;
 // remove permissions&lt;br /&gt;
 $ sudo setfacl -x user:someuser example.txt&lt;br /&gt;
 $ getfacl example.txt &lt;br /&gt;
  # file: example.txt&lt;br /&gt;
  # owner: root&lt;br /&gt;
  # group: root&lt;br /&gt;
  user::rw-&lt;br /&gt;
  group::r--&lt;br /&gt;
  group:somegroup:r-x&lt;br /&gt;
  mask::r-x&lt;br /&gt;
  other::r--&lt;br /&gt;
 &lt;br /&gt;
 // view with ls command&lt;br /&gt;
 $ ls -l example.txt &lt;br /&gt;
  -rw-r-xr--+ 1 root root 0 Jan 31 21:32 example.txt&lt;br /&gt;
&lt;br /&gt;
=== Manditory Access Control ===&lt;br /&gt;
&lt;br /&gt;
The aforementioned method of access control is called the &#039;&#039;&#039;Discretionary Access Control (DAC)&#039;&#039;&#039; method and is the most common mechanism to enforce confidentiality. The idea behind DAC is that the owner specifies who can access an object. This decision is based on the owner&#039;s discretion.&lt;br /&gt;
&lt;br /&gt;
The so-called &#039;&#039;&#039;Mandatory Access Control (MAC)&#039;&#039;&#039; tries to tackle the problem with a changed fundamental concept. Instead of letting the user decide the permission of objects, each user is given a certain clearance and each object is given a security classification. Only when a user has a higher clearance level as the required security classification (secret, top-secret, confidential) the system allows access.&lt;br /&gt;
&lt;br /&gt;
Well-known implementations in Linux that implement MAC is SE-Linux and AppArmor.&lt;br /&gt;
&lt;br /&gt;
== Reducing the Attack Surface ==&lt;br /&gt;
&lt;br /&gt;
Reducing the attack surface is a vital part of securing the operating system. As seen before we can use access control to prevent flawed applications to breach confidentiality. We should not rely on this technique entirely and should reduce the possible attacks in the first place.&lt;br /&gt;
&lt;br /&gt;
The most common techniques on reducing the attack surface include:&lt;br /&gt;
&lt;br /&gt;
* Removing unnecessary services&lt;br /&gt;
* Secure the network (firewalls)&lt;br /&gt;
* Securing the hardware (physical)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; Seminar paper :&lt;br /&gt;
* [[File:OS Hardening.pdf]]&lt;br /&gt;
&lt;br /&gt;
; References&lt;br /&gt;
* Commission of the European Communities. Information Technology Security Evaluation Criteria (ITSEC): Provisional Harmonised Criteria. Office For Official Publications Of The European Communities, Luxembourg, 1991.&lt;br /&gt;
* Luis Franco, Tony Sahama, and Peter Croll. Security Enhanced Linux to Enforce Mandatory Access Control in Health Information Systems. 2008.&lt;br /&gt;
* James Graham. Cyber Security Essentials. Auerbach Publications, 2011.&lt;br /&gt;
* Andreas Grunbacher. POSIX Access Control Lists on Linux. USENIX Annual Technical Conference, FREENIX Track, 2003.&lt;br /&gt;
* Aneesh Kumar, Andreas Grünbacher, and Greg Banks. Implementing an advanced access control model on Linux. 2010.&lt;br /&gt;
* Vasudevan Nagendra and Yaohui Chen. Access Control Lists in Linux &amp;amp; Windows. Stony Brook University, 2014.&lt;br /&gt;
* P. K. Patra and P. L. Pradhan. Hardening of UNIX Operating System. Int J. of Computer Communication and Technology, 1, 2009.&lt;br /&gt;
* Abraham Silberschatz, Peter B Galvin, and Greg Gagne. Operating System Concepts. 2013.&lt;br /&gt;
* Peter Silberman and Richard Johnson. A Comparison of Buffer Overflow Prevention Implementations and Weaknesses.&lt;br /&gt;
* Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;br /&gt;
&lt;br /&gt;
; Links&lt;br /&gt;
* https://www.redhat.com/en/about/press-releases/red-hat-adds-common-criteria-security-certification-red-hat-enterprise-linux&lt;br /&gt;
* https://www.schneier.com/blog/archives/2005/12/microsoft_windo.html&lt;br /&gt;
* https://www.niap-ccevs.org/Product/Archived.cfm?par303=Microsoft%20Corporation&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Verzion2019_Report.png&amp;diff=2767</id>
		<title>File:Verzion2019 Report.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Verzion2019_Report.png&amp;diff=2767"/>
		<updated>2020-01-31T15:25:12Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Verizon. 2019 Data Breach Investigations Report. Technical report, 2019.&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:OS_Security_Evaluation_Criteria.png&amp;diff=2766</id>
		<title>File:OS Security Evaluation Criteria.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:OS_Security_Evaluation_Criteria.png&amp;diff=2766"/>
		<updated>2020-01-31T15:09:30Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:OS_Hardening.pdf&amp;diff=2765</id>
		<title>File:OS Hardening.pdf</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:OS_Hardening.pdf&amp;diff=2765"/>
		<updated>2020-01-31T14:57:32Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=2764</id>
		<title>OS Hardening</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OS_Hardening&amp;diff=2764"/>
		<updated>2020-01-31T14:43:21Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: Created page with &amp;quot;== Summary ==   Description what this documentation is about  == Requirements ==  * Operating system: Ubuntu 18.04 bionic amd64 * Packages: git emacs  In order to complete the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Ubuntu 18.04 bionic amd64&lt;br /&gt;
* Packages: git emacs&lt;br /&gt;
&lt;br /&gt;
In order to complete these steps, you must have followed [[Some Other Documentation]] before.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4:_SmartCard&amp;diff=2657</id>
		<title>Proxmark3 RDV4: SmartCard</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4:_SmartCard&amp;diff=2657"/>
		<updated>2020-01-30T11:45:03Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Smartcard chip.jpg|thumb|300px|Smartcard Chip]]&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 comes with a built-in smartcard chip reader allowing to read and send data to the smartcard. A smartcard chip is a small passive-powered microprocessor that can be used in many ways. Most common, it enables some type of identification and can store a small amount of data. These chips usually are built with security in mind only allowing communication over the contact plates.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
* Some Smartcards&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
Hidden under the lid of the Proxmark RDV4 you can find a smart card reader. You can directly insert a smartcard directly into to the slot or insert it into the optional smartcard extender that allows for card size formats.&lt;br /&gt;
&lt;br /&gt;
[[File:Prox smartcard.jpg|800px|Proxmark with the smartcard extender]]&lt;br /&gt;
&lt;br /&gt;
== SC-Command ==&lt;br /&gt;
&lt;br /&gt;
SC stands for smartcard and allows communication over the metal chip contact plates. The protocol used for communication is defined by the ISO/IEC 7816 standard.&lt;br /&gt;
&lt;br /&gt;
A very informative and high-level introduction can be found here: [https://salmg.net/2018/10/18/proxmark3-rdv4-extracting-data-from-chip-and-pin-cards/ data-extraction from chip]&lt;br /&gt;
&lt;br /&gt;
At the moment following commands are present on the Proxmark3 RDV4:&lt;br /&gt;
&lt;br /&gt;
 [usb] pm3 --&amp;gt; sc&lt;br /&gt;
 help              This help          &lt;br /&gt;
 list              List ISO 7816 history          &lt;br /&gt;
 info              Tag information          &lt;br /&gt;
 reader            Act like an IS07816 reader          &lt;br /&gt;
 raw               Send raw hex data to tag          &lt;br /&gt;
 upgrade           Upgrade sim module firmware          &lt;br /&gt;
 setclock          Set clock speed          &lt;br /&gt;
 brute             Bruteforce SFI   &lt;br /&gt;
&lt;br /&gt;
At the moment there are not many specific commands available as this feature is rather new. The two main commands are &amp;lt;code&amp;gt;sc info&amp;lt;/code&amp;gt; to get the ATS response of the smartcard and &amp;lt;code&amp;gt;sc raw&amp;lt;/code&amp;gt; that enables to send command/ data to the chip allowing to interact with it.&lt;br /&gt;
&lt;br /&gt;
I tested the &amp;lt;code&amp;gt;sc info&amp;lt;/code&amp;gt; command on an Austrian e-card&lt;br /&gt;
 &lt;br /&gt;
 [usb] pm3 --&amp;gt; sc info&lt;br /&gt;
 [=] --- Smartcard Information ---------          &lt;br /&gt;
 [=] -------------------------------------------------------------          &lt;br /&gt;
 [=] ISO7618-3 ATR : 3B DD 96 FF 81 B1 FE 45 1F 03 80 xx xx xx xx xx xx xx xx xx  xx xx 05 18            &lt;br /&gt;
            &lt;br /&gt;
 [=] http:/ /smartcard-atr.appspot.com/ parse?ATR= 3BDD96FF81B1FE451F0380xxxxx xxxxxxxxxxxxxxxxx0518  &lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
 [=] ATR            &lt;br /&gt;
 	- TA1  (Maximum clock frequency, p roposed bit duration) [ 0x96 ]          &lt;br /&gt;
 	- TC1  (Extra delay between bytes  required by card) [ 0xff ]          &lt;br /&gt;
 	- TD1  (First offered transmission  protocol, presence of TA2..TD2) [ 0x81 ]  Protoc ol T1           &lt;br /&gt;
 	- TD2  (A supported pr otocol or more global parameters, presence of  TA3..T D3) [ 0xb1 ] Pr otocol T1           &lt;br /&gt;
 	- TA3:  0xfe           &lt;br /&gt;
 	- TB3:  0x45           &lt;br /&gt;
 	- TD3  [ 0x1f ] Protoc ol T15          &lt;br /&gt;
 	- TA4:  0x03           &lt;br /&gt;
 [=] Check  sum OK.           &lt;br /&gt;
            &lt;br /&gt;
 [=] Histor ical bytes | le n 0x13 | format 80&lt;br /&gt;
            &lt;br /&gt;
 [=] 	Hi storical bytes           &lt;br /&gt;
    	00: 80  xx xx xx xx xx  xx xx xx xx xx xx 05&lt;br /&gt;
            &lt;br /&gt;
 [=] D/F (T A1)           &lt;br /&gt;
 	- Di 3 2           &lt;br /&gt;
 	- Fi 5 12            &lt;br /&gt;
 	- F  5 ,0 MHz            &lt;br /&gt;
 	- Cycl es/ETU 16            &lt;br /&gt;
 	- 2500 00,0 bits/s ec a t 4 MHz          &lt;br /&gt;
 	- 3125 00,0 bits/s ec a t Fmax (5,0MHz) &lt;br /&gt;
 &lt;br /&gt;
Following the weblink we get the addional information that the smartcard is probably running the operating system StarCOS 3.4&lt;br /&gt;
&lt;br /&gt;
 On website: https://smartcard-atr.apdu.fr/&lt;br /&gt;
 Austrian &amp;quot;e-card&amp;quot; G3 (State Health Insurance Card)&lt;br /&gt;
 (running StarCOS 3.4 by Giesecke &amp;amp; Devrient) &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I had an old sim-card (GSM SIM card of the Austrian provider A1) laying around and tested the &amp;lt;code&amp;gt;sc raw&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
For a high-level overview of sim-card commands and responses I recommend:&lt;br /&gt;
* http://rebelsimcard.com/sim-commands.html&lt;br /&gt;
* http://rebelsimcard.com/what-is-an-apdu.html&lt;br /&gt;
* http://rebelsimcard.com/sim-file-system.html&lt;br /&gt;
&lt;br /&gt;
 [usb] pm3 --&amp;gt; sc raw s t d A0 A4 00 00 02 3F 00&lt;br /&gt;
 [+] 9F16 | Command successfully executed; &#039;xx&#039; bytes of data are available and can be requested using GET RESPONSE.          &lt;br /&gt;
 [=] Requesting 0x16 bytes response          &lt;br /&gt;
 [+] 9000 | Command successfully executed (OK).          &lt;br /&gt;
 [!] TLV ERROR: Can&#039;t parse response as TLV tree.          &lt;br /&gt;
 [usb] pm3 --&amp;gt; sc list&lt;br /&gt;
 [+] Recorded activity (trace len = 109 bytes)          &lt;br /&gt;
 [=] Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer          &lt;br /&gt;
 [=] ISO7816-4 / Smartcard - Timings N/A yet          &lt;br /&gt;
           &lt;br /&gt;
       Start |        End | Src | Data (! denotes parity error)                                           | CRC | Annotation          &lt;br /&gt;
 ------------+------------+-----+-------------------------------------------------------------------------+-----+--------------------          &lt;br /&gt;
           0 |          0 | Tag |3b  3f  96  00  80  69  af  03  3d  00  c6  00  00  00  0e  83  1e  9f   |     |           &lt;br /&gt;
             |            |     |16                                                                       |     |           &lt;br /&gt;
           0 |          0 | Rdr |a0  a4  00  00  02  3f  00                                               |     | R-block ACK          &lt;br /&gt;
           0 |          0 | Tag |a4  9f  16                                                               |     |           &lt;br /&gt;
           0 |          0 | Rdr |00  c0  00  00  16                                                       |     | GET RESPONSE          &lt;br /&gt;
           0 |          0 | Tag |c0  00  00  59  09  3f  00  01  00  00  00  00  00  09  13  02  0f  08   |     |           &lt;br /&gt;
             |            |     |00  83  8a  83  8a  90  00                                               |     |           &lt;br /&gt;
&lt;br /&gt;
I sent the Requet-Block command &amp;lt;code&amp;gt; A0 A4 00 00 02&amp;lt;/code&amp;gt; and appended &amp;lt;code&amp;gt;3F 00&amp;lt;/code&amp;gt; that tells the chip that I want to read out the file at the destination 0x3F00.&lt;br /&gt;
&lt;br /&gt;
== EMV-Command ==&lt;br /&gt;
&lt;br /&gt;
EMV originally stood for &amp;quot;Europay, Mastercard, Visa&amp;quot; which are the three companies that defined the standard that allows contact and contactless paying.&lt;br /&gt;
&lt;br /&gt;
 [usb] pm3 --&amp;gt; emv&lt;br /&gt;
 help              This help          &lt;br /&gt;
 exec              Executes EMV contactless transaction.          &lt;br /&gt;
 pse               Execute PPSE. It selects 2PAY.SYS.DDF01 or 1PAY.SYS.DDF01 directory.          &lt;br /&gt;
 search            Try to select all applets from applets list and print installed applets.          &lt;br /&gt;
 select            Select applet.          &lt;br /&gt;
 gpo               Execute GetProcessingOptions.          &lt;br /&gt;
 readrec           Read files from card.          &lt;br /&gt;
 genac             Generate ApplicationCryptogram.          &lt;br /&gt;
 challenge         Generate challenge.          &lt;br /&gt;
 intauth           Internal authentication.          &lt;br /&gt;
 scan              Scan EMV card and save it contents to json file for emulator.          &lt;br /&gt;
 test              Crypto logic test.          &lt;br /&gt;
 list              List ISO7816 history          &lt;br /&gt;
 roca              Extract public keys and run ROCA test       &lt;br /&gt;
&lt;br /&gt;
With the extension of the smartcard-chip reader, it is now possible to perform the commands not only wirelessly but also wired. All the commands can be invoked with the parameter -w:&lt;br /&gt;
&lt;br /&gt;
 [usb] pm3 --&amp;gt; emv exec --help&lt;br /&gt;
 Usage: emv exec [-h|-H|--help] [-s|-S|--select] [-a|-A|--apdu] [-t|-T|--tlv] [-j|-J|--jload] [-f|-F|--forceaid] By default: [-v|-V|--qvsdc] [-c|-C|--qvsdccda] [-x|-X|--vsdc] [-g|-G|--acgpo] [-w|-W|--wired] &lt;br /&gt;
 Executes EMV contactless transaction &lt;br /&gt;
 &lt;br /&gt;
     -h, -H, --help       This help&lt;br /&gt;
     -s, -S, --select     activate field and select card.&lt;br /&gt;
     -a, -A, --apdu       show APDU reqests and responses.&lt;br /&gt;
     -t, -T, --tlv        TLV decode results.&lt;br /&gt;
     -j, -J, --jload      Load transaction parameters from `emv_defparams.json` file.&lt;br /&gt;
     -f, -F, --forceaid   Force search AID. Search AID instead of execute PPSE.&lt;br /&gt;
     By default:          Transaction type - MSD&lt;br /&gt;
     -v, -V, --qvsdc      Transaction type - qVSDC or M/Chip.&lt;br /&gt;
     -c, -C, --qvsdccda   Transaction type - qVSDC or M/Chip plus CDA (SDAD generation).&lt;br /&gt;
     -x, -X, --vsdc       Transaction type - VSDC. For test only. Not a standard behavior.&lt;br /&gt;
     -g, -G, --acgpo      VISA. generate AC from GPO.&lt;br /&gt;
     -w, -W, --wired      Send data via contact (iso7816) interface. Contactless interface set by default.&lt;br /&gt;
 &lt;br /&gt;
 Usage:&lt;br /&gt;
 	emv exec -sat -&amp;gt; select card, execute MSD transaction, show APDU and TLV&lt;br /&gt;
 	emv exec -satc -&amp;gt; select card, execute CDA transaction, show APDU and TLV&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://en.wikipedia.org/wiki/EMV&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Smartcard_chip.jpg&amp;diff=2656</id>
		<title>File:Smartcard chip.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Smartcard_chip.jpg&amp;diff=2656"/>
		<updated>2020-01-30T10:52:51Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Wireshark:_Traffic_analysis_of_a_Smart_Alarm_System&amp;diff=2655</id>
		<title>Wireshark: Traffic analysis of a Smart Alarm System</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Wireshark:_Traffic_analysis_of_a_Smart_Alarm_System&amp;diff=2655"/>
		<updated>2020-01-30T10:15:01Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a traffic analysis of the [[Technaxx WiFi smart alarm system starter kit TX-84]] using Wireshark.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Router running tcpdump (see: [[OpenWRT: Installation]])&lt;br /&gt;
* [[Technaxx WiFi smart alarm system starter kit TX-84]] with connected Smartphone app&lt;br /&gt;
* Wireshark&lt;br /&gt;
&lt;br /&gt;
== Analysis ==&lt;br /&gt;
&lt;br /&gt;
This analysis looks at the network traffic of the smart alarm system and later in step &amp;quot;Smartphone communication&amp;quot; at the traffic between the Alarm system and Smartphone App.&lt;br /&gt;
&lt;br /&gt;
With the help of the [[Princeton IoT Inspector]] we are able to get a brief overview of the communications between the device and the outside world.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Alarm tx87 connections.png|thumb|500px|connections]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Alarm tx86 IotInspector.png|thumb|500px|traffic visualization]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What is not covered by the Princeton IoT-Inspector is the internal traffic. We will later find out that is quite interesting.&lt;br /&gt;
&lt;br /&gt;
=== Boot up ===&lt;br /&gt;
&lt;br /&gt;
There are two main communications to the outside world: 1. Heartbeat and 2. HTTP Traffic&lt;br /&gt;
&lt;br /&gt;
==== UDP Heartbeat / &amp;quot;Hello&amp;quot; to Chinese server 18.195.211.66 ====&lt;br /&gt;
&lt;br /&gt;
While the device is turned on it will send a notification to a Chinese server that it is turned on and active.&lt;br /&gt;
&lt;br /&gt;
[[File:Technaxx Alarm Heartbeat.png]]&lt;br /&gt;
&lt;br /&gt;
The password looks like a base64 string -&amp;gt; decode it: hex representation: aeb20fe3ead5942602831840a5c7292f9d548c7e (=bit length: 140 ... probably sha-1 or sha-128)&lt;br /&gt;
&lt;br /&gt;
TODO: check out nonce attack&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Digest_access_authentication&lt;br /&gt;
&lt;br /&gt;
==== HTTP Traffic ====&lt;br /&gt;
&lt;br /&gt;
[[File:Technaxx Alarm HTTP.png]]&lt;br /&gt;
&lt;br /&gt;
==== Internal UDP communication between Smartphone App and alarm system ====&lt;br /&gt;
&lt;br /&gt;
With the smartphone App [https://play.google.com/store/apps/details?id=com.mm.android.direct.technaxxphoneplus&amp;amp;hl=en My Secure Pro] you can monitor the current status and configuration of the smart alarm system. The Smartphone and the alarm system are connected through WLAN and talk to each other quite frequently. The communication is based on UDP and I suspect they talk a custom protocol called PTCP which sometimes contains JSON strings. These JSON strings contain information about the interface of the alarm system and you are also able to invoke function calls, like &amp;quot;turn off alarm&amp;quot; or &amp;quot;arming the device&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
This type of internal UDP connection is quite a big portion as we can see: (using Wireshark IO-Graph)&lt;br /&gt;
&lt;br /&gt;
[[File:Technaxx AlarmSystem Wireshark IOGraph.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Green: UDP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Blue: TCP&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Orange: DNS&lt;br /&gt;
&lt;br /&gt;
 Phone:&lt;br /&gt;
     50 54 43 50 00 00 05 89  00 00 0b 29 00 00 fb 50   &#039;&#039;&#039;PTCP&#039;&#039;&#039;.... ...)...P&lt;br /&gt;
     56 14 5f c4 00 37 41 ec  10 00 00 e1 ff b3 b1 85   V._..7A. ........&lt;br /&gt;
     00 00 00 00 f6 00 00 00  c1 00 00 00 2b 70 02 00   ........ ....+p..&lt;br /&gt;
     00 00 00 00 c1 00 00 00  00 00 00 00 00 17 26 02   ........ ......&amp;amp;.&lt;br /&gt;
     00 00 00 00 7b 20 22 69  64 22 20 3a 20 31 35 39   ....{ &amp;quot;i d&amp;quot; : 159&lt;br /&gt;
     37 38 37 2c 20 22 6d 65  74 68 6f 64 22 20 3a 20   787, &#039;&#039;&#039;&amp;quot;me thod&amp;quot; : &#039;&#039;&#039;&lt;br /&gt;
     22 61 6c 61 72 6d 2e 73  65 74 41 72 6d 4d 6f 64   &#039;&#039;&#039;&amp;quot;alarm.s etArmMod&lt;br /&gt;
     65 22 2c 20 22 6f 62 6a  65 63 74 22 20 3a 20 31   &#039;&#039;&#039;e&amp;quot;&#039;&#039;&#039;, &amp;quot;obj ect&amp;quot; : 1&lt;br /&gt;
     38 36 30 36 37 32 38 2c  20 22 70 61 72 61 6d 73   8606728,  &amp;quot;params&lt;br /&gt;
     22 20 3a 20 7b 20 22 6d  6f 64 65 22 20 3a 20 22   &amp;quot; : { &#039;&#039;&#039;&amp;quot;m ode&amp;quot; : &amp;quot;&#039;&#039;&#039;&lt;br /&gt;
     41 72 6d 69 6e 67 22 2c  20 22 70 72 6f 66 69 6c   &#039;&#039;&#039;Arming&amp;quot;,  &amp;quot;profil&#039;&#039;&#039;&lt;br /&gt;
     65 22 20 3a 20 22 41 74  48 6f 6d 65 22 2c 20 22   &#039;&#039;&#039;e&amp;quot; : &amp;quot;At Home&amp;quot;&#039;&#039;&#039;, &amp;quot;&lt;br /&gt;
     70 77 64 22 20 3a 20 22  34 30 41 46 36 44 46 31   pwd&amp;quot; : &amp;quot; 40AF6DF1&lt;br /&gt;
     46 34 42 46 35 46 30 33  30 41 30 30 42 32 30 33   F4BF5F03 0A00B203&lt;br /&gt;
     41 44 46 42 42 30 34 31  22 20 7d 2c 20 22 73 65   ADFBB041 &amp;quot; }, &amp;quot;se&lt;br /&gt;
     73 73 69 6f 6e 22 20 3a  20 33 36 30 35 30 36 38   ssion&amp;quot; :  3605068&lt;br /&gt;
     38 20 7d 0a 00                                     8 }..&lt;br /&gt;
 Alarm:&lt;br /&gt;
 50 54 43 50 00 00 0b 29  00 00 06 76 00 00 f9 8d   PTCP...) ...v....&lt;br /&gt;
 00 37 47 d2 56 14 5f c4  10 00 00 80 ff b3 b1 85   .7G.V._. ........&lt;br /&gt;
 00 00 00 00 f6 00 00 68  60 00 00 00 2b 70 02 00   .......h `...+p..&lt;br /&gt;
 00 00 00 00 60 00 00 00  00 00 00 00 00 17 26 02   ....`... ......&amp;amp;.&lt;br /&gt;
 00 00 00 00 7b 22 69 64  22 3a 31 35 39 37 38 37   ....{&amp;quot;id &amp;quot;:159787&lt;br /&gt;
 2c 22 70 61 72 61 6d 73  22 3a 7b 22 64 65 74 61   ,&amp;quot;params &amp;quot;:{&amp;quot;deta&lt;br /&gt;
 69 6c 22 3a 7b 22 49 44  22 3a 30 2c 22 54 72 69   il&amp;quot;:{&amp;quot;ID &amp;quot;:0,&amp;quot;Tri&lt;br /&gt;
 67 67 65 72 4d 6f 64 65  22 3a 22 4e 65 74 22 7d   ggerMode &amp;quot;:&amp;quot;Net&amp;quot;}&lt;br /&gt;
 7d 2c 22 72 65 73 75 6c  74 22 3a 74 72 75 65 2c   },&amp;quot;resul t&amp;quot;:true,&lt;br /&gt;
 22 73 65 73 73 69 6f 6e  22 3a 33 36 30 35 30 36   &amp;quot;session &amp;quot;:360506&lt;br /&gt;
 38 38 7d 0a                                        88}.&lt;br /&gt;
 Phone:&lt;br /&gt;
     50 54 43 50 00 00 06 76  00 00 0b b5 00 00 fa c4   PTCP...v ........&lt;br /&gt;
     56 14 65 aa 00 37 47 d2                            V.e..7G. &lt;br /&gt;
 &lt;br /&gt;
     50 54 43 50 00 00 06 76  00 00 0b b5 00 00 fa c4   PTCP...v ........&lt;br /&gt;
     56 14 65 b4 00 37 47 d2  10 00 00 8b ff b3 b1 85   V.e..7G. ........&lt;br /&gt;
     00 00 00 00 f6 00 00 00  6b 00 00 00 2b 72 02 00   ........ k...+r..&lt;br /&gt;
     00 00 00 00 6b 00 00 00  00 00 00 00 00 17 26 02   ....k... ......&amp;amp;.&lt;br /&gt;
     00 00 00 00 7b 20 22 69  64 22 20 3a 20 31 36 30   ....{ &amp;quot;i d&amp;quot; : 160&lt;br /&gt;
     32 39 39 2c 20 22 6d 65  74 68 6f 64 22 20 3a 20   299, &amp;quot;me thod&amp;quot; : &lt;br /&gt;
     22 61 6c 61 72 6d 2e 64  65 73 74 72 6f 79 22 2c   &amp;quot;&#039;&#039;&#039;alarm.d estroy&#039;&#039;&#039;&amp;quot;,&lt;br /&gt;
     20 22 6f 62 6a 65 63 74  22 20 3a 20 31 38 36 30    &amp;quot;object &amp;quot; : 1860&lt;br /&gt;
     36 37 32 38 2c 20 22 70  61 72 61 6d 73 22 20 3a   6728, &amp;quot;p arams&amp;quot; :&lt;br /&gt;
     20 6e 75 6c 6c 2c 20 22  73 65 73 73 69 6f 6e 22    null, &amp;quot; session&amp;quot;&lt;br /&gt;
     20 3a 20 33 36 30 35 30  36 38 38 20 7d 0a 00       : 36050 688 }..&lt;br /&gt;
 Alarm:&lt;br /&gt;
 50 54 43 50 00 00 0b b5  00 00 07 0d 00 00 ff 68   PTCP.... .......h&lt;br /&gt;
 00 37 47 f0 56 14 65 b4                            .7G.V.e. &lt;br /&gt;
 Phone:&lt;br /&gt;
     50 54 43 50 00 00 07 0d  00 00 0b b5 00 00 fa c4   PTCP.... ........&lt;br /&gt;
     56 14 65 be 00 37 47 d2  10 00 00 20 ff b3 b1 85   V.e..7G. ... ....&lt;br /&gt;
     00 00 00 00 a4 00 00 00  00 00 00 00 1a 00 00 00   ........ ........&lt;br /&gt;
     00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........&lt;br /&gt;
     00 00 00 00  &lt;br /&gt;
&lt;br /&gt;
Calling the method: &#039;&#039;&#039;alarm.listMethod&#039;&#039;&#039; gives us following interface:&lt;br /&gt;
 {&lt;br /&gt;
    &amp;quot;id&amp;quot;:157739,&lt;br /&gt;
    &amp;quot;params&amp;quot;:{&lt;br /&gt;
       &amp;quot;method&amp;quot;:[&lt;br /&gt;
          &amp;quot;alarm.factory.instance&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.destroy&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getInSlots&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getOutSlots&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getInState&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getOutState&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getExAlarmCaps&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.listMethod&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.startAlarmBell&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.stopAlarmBell&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getChannelsState&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getAlarmCaps&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.setArmMode&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getArmMode&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.setBypassMode&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getBypassMode&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getActivateDefenceArea&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.addressBinding&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getAllInSlots&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getAllOutSlots&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.getAlarmInChannels&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.setSilentAlarm&amp;quot;,&lt;br /&gt;
          &amp;quot;alarm.setSoundAlarm&amp;quot;&lt;br /&gt;
       ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;result&amp;quot;:true,&lt;br /&gt;
    &amp;quot;session&amp;quot;:36050688&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
or &#039;&#039;&#039;configManager.listMethod&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
    &amp;quot;id&amp;quot;:161579,&lt;br /&gt;
    &amp;quot;params&amp;quot;:{&lt;br /&gt;
       &amp;quot;method&amp;quot;:[&lt;br /&gt;
          &amp;quot;configManager.factory.instance&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.destroy&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.getConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.setConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.saveFile&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.deleteConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.getDefault&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.setDefault&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.getMemberNames&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.restore&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.attach&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.detach&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.restoreExcept&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.copyConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.getConfigEx&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.setConfigEx&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.exportPackConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.importPackConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.setChannelConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.getVideoAnalyseConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.setVideoAnalyseConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.getFailureDetail&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.deleteFile&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.setTemporaryConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.restoreTemporaryConfig&amp;quot;,&lt;br /&gt;
          &amp;quot;configManager.listMethod&amp;quot;&lt;br /&gt;
       ]&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;result&amp;quot;:true,&lt;br /&gt;
    &amp;quot;session&amp;quot;:36050688&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
* Router: [[Zyxel Armor Z2 AC 2600 MU-MIMO dualband wireless router]]&lt;br /&gt;
* [[Technaxx WiFi smart alarm system starter kit TX-84]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
; I found an interesting presentation very similar to my findings:&lt;br /&gt;
: https://site.ieee.org/neworleans/files/2016/12/12052016-Presentation-IoT-security-website-copy.pdf&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Technaxx_SmartAlarm_TX-84:_Installation&amp;diff=2654</id>
		<title>Technaxx SmartAlarm TX-84: Installation</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Technaxx_SmartAlarm_TX-84:_Installation&amp;diff=2654"/>
		<updated>2020-01-30T10:14:28Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
The alarm system with Basis Station, PIR Sensor, Door &amp;amp; Window contact, Remote and Alarm Siren is a basic kit for a home security system.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 11: Press the blue button on the base station for 6 seconds, and then let it go.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Now it should slowly blink blue, proceed with Step 12.&lt;br /&gt;
&lt;br /&gt;
After that is should start to blink red. On the phone it will say &amp;quot;Connection successful&amp;quot; and the light of the base station should be blue again.&lt;br /&gt;
&lt;br /&gt;
[[File:Alarm tx81 installation1.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Alarm tx81 installation2.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
=== Add the Door and Window Contact to the base station ===&lt;br /&gt;
&lt;br /&gt;
1. Press the blue button of the base station&lt;br /&gt;
&lt;br /&gt;
2. Insert battery of the Sensor&lt;br /&gt;
&lt;br /&gt;
3. The base station sends out an audible beep (if not repeat set 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Useful_commands&amp;diff=2653</id>
		<title>Proxmark3: Useful commands</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Useful_commands&amp;diff=2653"/>
		<updated>2020-01-30T10:14:02Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
&amp;quot;NFC Hacking with Proxmark3&amp;quot; has been conducted during a school project, in which we analyzed the implementation of our NFC System. Which includes our on-campus cards, the printing system, snacks and drinks machines and the classroom doors. The additional output of this project was a (tested) guide on how to install the Proxmark3. For further details with regards to our project, concrete tests and more advanced commands please see our documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]].&lt;br /&gt;
&lt;br /&gt;
In this thread we show a short overview of the different commands the proxmark3 environment has to offer.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Please see the [[Proxmark3: Installation]] guide for a full overview of requirements.&lt;br /&gt;
However, the Operating systems on which we tested the installation are: &lt;br /&gt;
*Ubuntu 16.04/18.03&lt;br /&gt;
*Windows 10&lt;br /&gt;
*MacOS 10.x&lt;br /&gt;
&lt;br /&gt;
In order to complete the &amp;quot;Introduction&amp;quot; described below, you have to complete the [[Proxmark3: Installation]] guide first.&lt;br /&gt;
&lt;br /&gt;
This overview is based on the proxmark3 client, published on Github on the 29. May 2019&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This introduction should only give you a glimpse of the available commands and possibilities of the Proxmark3. The official Proxmark3-Repository, as well as the more advanced Ice-Man-Fork Repository (both linked in the reference section), provide lots of functions, though most of them are still in their alpha stage and therefore still need a bit of tinkering in order to work well. For further commands and our security analysis of our university feel free to have a look at our documentation!&lt;br /&gt;
&lt;br /&gt;
=== The Commands ===&lt;br /&gt;
&lt;br /&gt;
Connect via:&lt;br /&gt;
: Linux: &amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Windows &amp;lt;code&amp;gt;./client/proxmark3.exe COMx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have successfully completed the Install Proxmark3 guide, you should see a screen similar to this when connecting to your proxmark3:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can always (in whichever menu you are) type &#039;help&#039; in order to have a full list of available commands in that menu.&lt;br /&gt;
If you enter help in the start menu, you will get following output:&lt;br /&gt;
 help             This help. Use &#039;&amp;lt;command&amp;gt; help&#039; for details of a particular command.&lt;br /&gt;
 data             { Plot window / data buffer manipulation... }&lt;br /&gt;
 hf               { High Frequency commands... }&lt;br /&gt;
 hw               { Hardware commands... }&lt;br /&gt;
 lf               { Low Frequency commands... }&lt;br /&gt;
 emv              { EMV iso14443 and iso7816... }&lt;br /&gt;
 sc               { Smartcard commands... }&lt;br /&gt;
 script           { Scripting commands }&lt;br /&gt;
 quit             Exit program&lt;br /&gt;
 exit             Exit program&lt;br /&gt;
&lt;br /&gt;
==== command: hw ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hw&amp;quot; stands for hardware and lists a bunch of commands to get basic hardware information of the Proxmark3.&lt;br /&gt;
&lt;br /&gt;
 detectreader     [&#039;l&#039;|&#039;h&#039;] -- Detect external reader field (option &#039;l&#039; or &#039;h&#039; to limit to LF or HF)&lt;br /&gt;
 fpgaoff          Set FPGA off&lt;br /&gt;
 lcd              &amp;lt;HEX command&amp;gt; &amp;lt;count&amp;gt; -- Send command/data to LCD&lt;br /&gt;
 lcdreset         Hardware reset LCD&lt;br /&gt;
 readmem          [address] -- Read memory at decimal address from flash&lt;br /&gt;
 reset            Reset the Proxmark3&lt;br /&gt;
 setlfdivisor     &amp;lt;19 - 255&amp;gt; -- Drive LF antenna at 12Mhz/(divisor+1)&lt;br /&gt;
 setmux           &amp;lt;loraw|hiraw|lopkd|hipkd&amp;gt; -- Set the ADC mux to a specific value&lt;br /&gt;
 tune             [&#039;l&#039;|&#039;h&#039;] -- Measure antenna tuning (option &#039;l&#039; or &#039;h&#039; to limit to LF or HF)&lt;br /&gt;
 version          Show version information about the connected Proxmark&lt;br /&gt;
 status           Show runtime status information about the connected Proxmark&lt;br /&gt;
 ping             Test if the pm3 is responsive&lt;br /&gt;
&lt;br /&gt;
We can check the version of the different builds of the Proxmark3 currently running on it:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw version&lt;br /&gt;
 Prox/RFID mark3 RFID instrument&lt;br /&gt;
 bootrom: master/v3.1.0-94-gd38bb3a-dirty-suspect 2019-06-01 14:36:05&lt;br /&gt;
 os: master/v3.1.0-94-gd38bb3a-dirty-suspect 2019-06-01 14:36:22&lt;br /&gt;
 fpga_lf.bit built for 2s30vq100 on 2015/03/06 at 07:38:04&lt;br /&gt;
 fpga_hf.bit built for 2s30vq100 on 2019/03/20 at 08:08:07&lt;br /&gt;
&lt;br /&gt;
We can now check the antenna strength of the attached antennas. If you have borrowed the proxmark3 of the Elvis IoT Lab you will get following output:&lt;br /&gt;
&lt;br /&gt;
(If no smart card is in proximity):&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw tune&lt;br /&gt;
 Measuring antenna characteristics, please wait.........&lt;br /&gt;
 # LF antenna: 43.86 V @   125.00 kHz&lt;br /&gt;
 # LF antenna: 21.04 V @   134.00 kHz&lt;br /&gt;
 # LF optimal: 44.14 V @   123.71 kHz&lt;br /&gt;
 # HF antenna: 30.41 V @    13.56 MHz&lt;br /&gt;
&lt;br /&gt;
If we now lay a NFC card on the antennas the voltages changes:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw tune&lt;br /&gt;
 Measuring antenna characteristics, please wait.........&lt;br /&gt;
 # LF antenna: 44.27 V @   125.00 kHz&lt;br /&gt;
 # LF antenna: 21.04 V @   134.00 kHz&lt;br /&gt;
 # LF optimal: 44.27 V @   123.71 kHz&lt;br /&gt;
 # HF antenna: *19.39 V* @    13.56 MHz&lt;br /&gt;
&lt;br /&gt;
We can see, that the voltage of the HF antenna dropped from 30 volts to about 19 volts. We can assume that the placed NFC card is a high frequency card.&lt;br /&gt;
&lt;br /&gt;
==== command: hf ====&lt;br /&gt;
&amp;quot;hf&amp;quot; stands for high frequency, which are specified at a carrier frequency of about 13.56 MHz.&lt;br /&gt;
Possible commands that can be issued are listed below:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf&lt;br /&gt;
 14a              { ISO14443A RFIDs... }&lt;br /&gt;
 14b              { ISO14443B RFIDs... }&lt;br /&gt;
 15               { ISO15693 RFIDs... }&lt;br /&gt;
 epa              { German Identification Card... }&lt;br /&gt;
 legic            { LEGIC RFIDs... }&lt;br /&gt;
 iclass           { ICLASS RFIDs... }&lt;br /&gt;
 mf               { MIFARE RFIDs... }&lt;br /&gt;
 mfu              { MIFARE Ultralight RFIDs... }&lt;br /&gt;
 mfp              { MIFARE Plus RFIDs... }&lt;br /&gt;
 topaz            { TOPAZ (NFC Type 1) RFIDs... }&lt;br /&gt;
 fido             { FIDO and FIDO2 authenticators... }&lt;br /&gt;
 tune             Continuously measure HF antenna tuning&lt;br /&gt;
 list             List protocol data in trace buffer&lt;br /&gt;
 plot             Plot signal&lt;br /&gt;
 search           Search for known HF tags [preliminary]&lt;br /&gt;
 snoop            &amp;lt;samples to skip (10000)&amp;gt; &amp;lt;triggers to skip (1)&amp;gt; Generic HF Snoop&lt;br /&gt;
&lt;br /&gt;
Most of these command-options are for specific cards from specific manufacturers (e.g. legic, iclass, mf). On the other hand, 14a is an NFC card standard that describes low-level communication of smart cards. Not all follow the same standard and some implement proprietary protocols. The Mifare cards are built upon the 14a standard and have additional commands which can be found in their specific directory.&lt;br /&gt;
&lt;br /&gt;
You usually start with the &#039;&#039;&#039;hf search&#039;&#039;&#039; command, which sends the card some data and analyses the return messages of the card. With this information, the Proxmark3 can make assumptions on what kind of card it may be.&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf search&lt;br /&gt;
 UID : 01 02 03 04&lt;br /&gt;
 ATQA : 00 04&lt;br /&gt;
 SAK : 08 [2]&lt;br /&gt;
 TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1&lt;br /&gt;
 proprietary non iso14443-4 card found, RATS not supported&lt;br /&gt;
 Chinese magic backdoor commands (GEN 1a) detected&lt;br /&gt;
 Prng detection: WEAK&lt;br /&gt;
 Valid ISO14443A Tag Found - Quiting Search&lt;br /&gt;
&lt;br /&gt;
Here we see that this card is classified as a Mifare Classic 1k. In particular, it also answers back to the Chinese magic backdoor command which tells us that this card is a fully cloneable card that allows us to change the UID block of the card. More on this can be found in the Documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
We can now issue the &#039;&#039;&#039;hf plot&#039;&#039;&#039; command which will display a waveform with the just sent and received data.&lt;br /&gt;
&lt;br /&gt;
[[File:Waveform.PNG|frameless]]&lt;br /&gt;
&lt;br /&gt;
Thankfully people wrote programs that will parse this data to a dedicated protocol (&#039;&#039;&#039;hf list&#039;&#039;&#039;). In this case, we want to parse it as a Mifare classic communication with &#039;&#039;&#039;hf list mf&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf list mf&lt;br /&gt;
 Recorded Activity (TraceLen = 156 bytes)&lt;br /&gt;
 Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer&lt;br /&gt;
 iso14443a - All times are in carrier periods (1/13.56Mhz)&lt;br /&gt;
 iClass    - Timings are not as accurate&lt;br /&gt;
      Start |        End | Src | Data (! denotes parity error, &#039; denotes short bytes)            | CRC | Annotation         |&lt;br /&gt;
 -----------|------------|-----|-----------------------------------------------------------------|-----|--------------------|&lt;br /&gt;
          0 |        992 | Rdr | 40&#039;                                                             |     | MAGIC WUPC1&lt;br /&gt;
       2484 |       3060 | Tag | 0a&#039;                                                             |     |&lt;br /&gt;
       7040 |       8352 | Rdr | 43                                                              |     | MAGIC WUPC2&lt;br /&gt;
       9524 |      10100 | Tag | 0a&#039;                                                             |     |&lt;br /&gt;
      14080 |      18848 | Rdr | 50  00  57  cd                                                  |  ok | HALT&lt;br /&gt;
          0 |        992 | Rdr | 52&#039;                                                             |     | WUPA&lt;br /&gt;
       2228 |       4596 | Tag | 04  00                                                          |     |&lt;br /&gt;
       7040 |       9504 | Rdr | 93  20                                                          |     | ANTICOLL&lt;br /&gt;
      10676 |      16564 | Tag | 01  02  03  04  04                                              |     |&lt;br /&gt;
      19328 |      29856 | Rdr | 93  70  01  02  03  04  04  8e  25                              |  ok | SELECT_UID&lt;br /&gt;
      31028 |      34548 | Tag | 08  b6  dd                                                      |     |&lt;br /&gt;
      47488 |      52192 | Rdr | 60  00  f5  7b                                                  |  ok | AUTH-A(0)&lt;br /&gt;
      54196 |      58932 | Tag | 01  20  01  45                                                  |     | AUTH: nt&lt;br /&gt;
&lt;br /&gt;
More on what is happening here can be found in the documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are many more commands. For example, &#039;&#039;&#039;hf data&#039;&#039;&#039; to manipulate the raw data, or &#039;&#039;&#039;hf mf&#039;&#039;&#039; to interact with Mifare Classic cards. Since this is only a short introduction to commands of the Proxmark3 we won&#039;t go deeper. If one is interested and wants to find out more about the Proxmark you we highly recommend the documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]] - where not only the essentials are covered, but also an in-depth explanation about the technology used, the Proxmark itself, the Mifare Classic Standard and a validation of the FH-Campus card system.&lt;br /&gt;
&lt;br /&gt;
It is definitely worth checking out the paper since it also shows which vulnerabilities were found in the school card system.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=Proxmark_3 Proxmark3]&lt;br /&gt;
&lt;br /&gt;
== Additional Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Proxmark3: Installation]]&lt;br /&gt;
* [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Proxmark/proxmark3&lt;br /&gt;
* https://github.com/iceman1001/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Princeton_IoT_Inspector:_Tutorial&amp;diff=2652</id>
		<title>Princeton IoT Inspector: Tutorial</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Princeton_IoT_Inspector:_Tutorial&amp;diff=2652"/>
		<updated>2020-01-30T10:10:28Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Princeton IoT Inspector is an open-source desktop tool to automatically discovers IoT devices and analyzes their network traffic.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Linux (or Mac OS)&lt;br /&gt;
&lt;br /&gt;
== IoT Inspector ==&lt;br /&gt;
&lt;br /&gt;
The official installation guide can be found on the [https://iot-inspector.princeton.edu/blog/post/getting-started/ official web-page]&lt;br /&gt;
&lt;br /&gt;
Here a tutorial on how to install the IoT-Inspector on the Raspberry Pi: [[Princeton IoT Inspector: Installation on the Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Start IoT Inspector ===&lt;br /&gt;
&lt;br /&gt;
Launch the IoT Inspector:&lt;br /&gt;
 cd ~/princeton-iot-inspector/&lt;br /&gt;
 ./linux-start-inspector.sh &lt;br /&gt;
&lt;br /&gt;
You should be greeted with following screen:&lt;br /&gt;
&lt;br /&gt;
        ===========================&lt;br /&gt;
          Princeton IoT Inspector&lt;br /&gt;
        ===========================&lt;br /&gt;
        View the IoT Inspector report at:&lt;br /&gt;
        https://inspector.cs.princeton.edu/persistent/xxxx-xxxx-xxxx-xxxx&lt;br /&gt;
        This is your private link. Open it only on trusted computers.&lt;br /&gt;
        Hit Control + C to terminate this process and stop data collection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
visit the website from the previous output from any device&lt;br /&gt;
&lt;br /&gt;
[[File:Iot inspector startpage.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== View devices ===&lt;br /&gt;
&lt;br /&gt;
Under &amp;quot;My Devices&amp;quot; you will find all connected devices on your network&lt;br /&gt;
&lt;br /&gt;
You can now click on the device you want to monitor with the checkbox,&lt;br /&gt;
&lt;br /&gt;
Or if you want to monitor all devices you can select &amp;quot;monitor all devices&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Iot inspector devices.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Network activities ===&lt;br /&gt;
&lt;br /&gt;
Now it will get the network data&lt;br /&gt;
&lt;br /&gt;
you can view it under &amp;quot;network activities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Iot inspector activies.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
== Analyze [[ABUS PPIC32020 smart security WiFi camera]] ==&lt;br /&gt;
&lt;br /&gt;
Connect the camera to the network, click &amp;quot;monitor device&amp;quot; in the iot-inspector dashboard.&lt;br /&gt;
&lt;br /&gt;
Now it will arp spoof the connection and log the network traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-inspector ABUS CAMERA.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can analyze the connected IPs more closely when clicking on &amp;quot;communication endpoints&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Iot-inspector ABUS CAMERA endpoints.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
== Analyze [[Technaxx WiFi smart alarm system starter kit TX-84]] ==&lt;br /&gt;
&lt;br /&gt;
[[File:Alarm tx86 IotInspector.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;We can observe, that the alarm base station is very talkative.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Alarm tx87 connections.png|border|800px]]]&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Raspberry Pi 3, Model B+, WLAN, BT]]&lt;br /&gt;
&lt;br /&gt;
[[ABUS PPIC32020 smart security WiFi camera]]&lt;br /&gt;
&lt;br /&gt;
[[Technaxx WiFi smart alarm system starter kit TX-84]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
https://iot-inspector.princeton.edu/&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OpenWRT:_Installation&amp;diff=2651</id>
		<title>OpenWRT: Installation</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OpenWRT:_Installation&amp;diff=2651"/>
		<updated>2020-01-30T10:09:15Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This is a tutorial on how to install OpenWRT.&lt;br /&gt;
For this example the Router [[Zyxel Armor Z2 AC 2600 MU-MIMO dualband wireless router]] is used.&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on [https://openwrt.org/docs/guide-quick-start/factory_installation First-time install from OpenWRT]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Router supporting OpenWRT (visit [https://openwrt.org/toh/start OpenWRT])&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Find the openWRT installation image ===&lt;br /&gt;
&lt;br /&gt;
# Filter for your router on the [https://openwrt.org/toh/start official openWRT page]&lt;br /&gt;
# Go to &amp;quot;Device Page&amp;quot; or &amp;quot;Device Techdata&amp;quot;&lt;br /&gt;
# Check &amp;quot;Firmware OpenWrt Install URL&amp;quot;&lt;br /&gt;
#: If you can not find &#039;&#039;&#039;“factory.bin”&#039;&#039;&#039; firmware file (true for 70% of all supported devices), a device-specific custom installation procedure is required (Assuming your device does not already have an older LEDE or OpenWrt version installed). You can find custom installation instructions at the following locations&lt;br /&gt;
# In the case of the Zyxel Router we only have &#039;&#039;&#039;&amp;quot;kernel.bin&amp;quot;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;quot;rootfs.bin&amp;quot;&#039;&#039;&#039; file.&lt;br /&gt;
#: &#039;&#039;&#039;So we have to proceed with a custom installation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have a factory.bin please follow these instructions: [https://openwrt.org/docs/guide-quick-start/factory_installation OpenWRT factory install]&lt;br /&gt;
&lt;br /&gt;
=== Custom installation for the Zyxel Router ===&lt;br /&gt;
&lt;br /&gt;
Following the custom installation steps: [https://openwrt.org/toh/zyxel/nbg6817]&lt;br /&gt;
&lt;br /&gt;
; OEM easy installation&lt;br /&gt;
: Telnet (or ssh, if you allowed ssh on the router webpage) to the router&lt;br /&gt;
:: &amp;lt;code&amp;gt;login:root&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;password:1234&amp;lt;/code&amp;gt;(or the set password)&lt;br /&gt;
:: [[File:Zyxel sshLogin.png]]&lt;br /&gt;
:: Interestingly OpenWRT is already is already installed by default, but limited and modified by Zyxel&lt;br /&gt;
: copy the kernel.bin and rootfs.bin to the /tmp/ folder&lt;br /&gt;
:: &amp;lt;code&amp;gt;scp j@192.168.1.67:/home/j/Desktop/openwrt-18.06.4-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p4-kernel.bin /tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;scp j@192.168.1.67:/home/j/Desktop/openwrt-18.06.4-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p5-rootfs.bin /tmp/&amp;lt;/code&amp;gt;&lt;br /&gt;
: copy to local folders:&lt;br /&gt;
:: &amp;lt;code&amp;gt;printf &amp;quot;\xff&amp;quot; &amp;gt;/dev/mtdblock6&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;cat /tmp/openwrt-ipq806x-NBG6817-squashfs-mmcblk0p4-kernel.bin &amp;gt;/dev/mmcblk0p4&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;cat /tmp/openwrt-ipq806x-NBG6817-squashfs-mmcblk0p5-rootfs.bin &amp;gt;/dev/mmcblk0p5&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sync&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;reboot -f&amp;lt;/code&amp;gt;&lt;br /&gt;
; Update openWRT&lt;br /&gt;
: Browse to http://192.168.1.1/cgi-bin/luci/mini/system/upgrade/ LuCI Upgrade URL&lt;br /&gt;
: Upload image file for sysupgrade to LuCI&lt;br /&gt;
: Wait for reboot&lt;br /&gt;
&lt;br /&gt;
=== Enjoy ===&lt;br /&gt;
&lt;br /&gt;
[[File:OpenWRT StatusScreen.png|border|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Remote capture with tcpdump and Wireshark ===&lt;br /&gt;
&lt;br /&gt;
;Installing tcpdump on the OpenWRT system&lt;br /&gt;
# Allow SSH&lt;br /&gt;
#: Go to &amp;quot;System&amp;quot; -&amp;gt; &amp;quot;Administration&amp;quot; and allow SSH&lt;br /&gt;
# Connect to SSH via terminal&lt;br /&gt;
#: &amp;lt;code&amp;gt;ssh root@192.168.1.1&amp;lt;/code&amp;gt;&lt;br /&gt;
# Update system&lt;br /&gt;
#: &amp;lt;code&amp;gt;opkg update&amp;lt;/code&amp;gt;&lt;br /&gt;
# Install tcpdump&lt;br /&gt;
#: &amp;lt;code&amp;gt;opkg install tcpdump&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pipe tcpdump to remote Wireshark session [https://wiki.wireshark.org/CaptureSetup/Pipes Wireshark Wiki]:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Remote Capture&lt;br /&gt;
&lt;br /&gt;
In bash syntax, remote capture is possible with the following command:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;wireshark -k -i &amp;lt;(ssh -l root remote-host &amp;quot;dumpcap -P -w - -f &#039;not tcp port 22&#039;&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The main problem is that you have to exclude the traffic generated by the ssh session from capturing. Several patches are available to do this, but excluding port 22 is probably the easiest solution for now.&lt;br /&gt;
&lt;br /&gt;
The second problem is that ssh cannot ask for a password on stdin. You should either set up ssh-agent, so that you don&#039;t need a password, or you should configure x-askpass to open a window for the password.&lt;br /&gt;
&lt;br /&gt;
This can be worked around by combining SSH with a FIFO.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;mkfifo /tmp/sharkfin&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;wireshark -k -i /tmp/sharkfin&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;ssh user@remote-host &amp;quot;dumpcap -P -w - -f &#039;not tcp port 22&#039;&amp;quot; &amp;gt; /tmp/sharkfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;for openWRT this would look like:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;mkfifo /tmp/sharkfin&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;wireshark -k -i /tmp/sharkfin&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;ssh root@192.168.1.1 &amp;quot;tcpdump -i any -w - -f &#039;not tcp port 22&#039;&amp;quot; &amp;gt; /tmp/sharkfin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As soon as Wireshark starts &amp;quot;listening&amp;quot; on the pipe, SSH will prompt for the password and allow you to continue. Wireshark can also be switched out for tshark and tcpdump can be used in place of dumpcap with slight variations on the above commands. &lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Zyxel Armor Z2 AC 2600 MU-MIMO dualband wireless router]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://openwrt.org/&lt;br /&gt;
* https://openwrt.org/toh/zyxel/nbg6817&lt;br /&gt;
* https://wiki.wireshark.org/CaptureSetup/Pipes&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=JTAGulator:_Introduction&amp;diff=2650</id>
		<title>JTAGulator: Introduction</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=JTAGulator:_Introduction&amp;diff=2650"/>
		<updated>2020-01-30T10:06:32Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== JTAG explained == &lt;br /&gt;
&lt;br /&gt;
The JTAGulator is a tool to assist in identifying JTAG and USART pins.&lt;br /&gt;
&lt;br /&gt;
[[File:JTAGulator.png|right]]&lt;br /&gt;
&lt;br /&gt;
JTAG (named after the Joint Test Action Group) is an industry-standard for verifying designs and testing printed circuit boards after manufacture. &lt;br /&gt;
&lt;br /&gt;
; JTAG allows for many applications:&lt;br /&gt;
:* Boundary Scan (read and set values of a pin)&lt;br /&gt;
:* Debugging of hardware/software&lt;br /&gt;
:* Program / Modify memory&lt;br /&gt;
:* Chips can be daisy-chained, so you can access multiple chips through one interface&lt;br /&gt;
&lt;br /&gt;
; JTAG consist of 4 essential signals:&lt;br /&gt;
:* &#039;&#039;&#039;TCK&#039;&#039;&#039; ... Test Clock&lt;br /&gt;
:* &#039;&#039;&#039;TMS&#039;&#039;&#039; ... Test Mode Select (Steuerung)&lt;br /&gt;
:* &#039;&#039;&#039;TDI&#039;&#039;&#039; ... Test Data In&lt;br /&gt;
:* &#039;&#039;&#039;TDO&#039;&#039;&#039; ... Test Data Out&lt;br /&gt;
&lt;br /&gt;
; additional signals:&lt;br /&gt;
:* &#039;&#039;&#039;Vcc&#039;&#039;&#039; ... 3.3V&lt;br /&gt;
:* &#039;&#039;&#039;GND&#039;&#039;&#039; ... ground&lt;br /&gt;
:* &#039;&#039;&#039;TRST&#039;&#039;&#039; .. test reset (low active)&lt;br /&gt;
:* &#039;&#039;&#039;RST&#039;&#039;&#039; ... system reset (low active)&lt;br /&gt;
&lt;br /&gt;
Good video about the JTAG interface: [https://www.youtube.com/watch?v=TlWlLeC5BUs EEVblog #499 - What is JTAG and Boundary Scan?]&lt;br /&gt;
&lt;br /&gt;
Manufactures have &#039;&#039;&#039;different&#039;&#039;&#039; Pin Layout, for Cortex Connectors, it looks like this:&lt;br /&gt;
&lt;br /&gt;
[[File:JTAG connections.png|source:http://www.keil.com/support/man/docs/ulink2/ulink2_connector_20_16_14_10pin.png|500px]]&lt;br /&gt;
&lt;br /&gt;
== JTAGulator Overview ==&lt;br /&gt;
&lt;br /&gt;
Since JTAG pins are not always labeled, they can be hard to find. This is when the JTAGulator comes into play.&lt;br /&gt;
&lt;br /&gt;
You connect the channels of the JTAGulator to different test pins on the hardware you want to analyze.&lt;br /&gt;
&lt;br /&gt;
The JTAGulator test each individual pins and tries to find JTAG connections. If found it will output the correct JTAG pins.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
; Make sure you have the latest firmware: [[JTAGulator: Update firmware]]&lt;br /&gt;
&lt;br /&gt;
; Connect the JTAGulator via serial to the computer&lt;br /&gt;
: 115200 bps, 8  data bits, no parity, 1 stop bit&lt;br /&gt;
:* Linux: you can use minicom&lt;br /&gt;
:* Windows: you can use Putty&lt;br /&gt;
: You should see the following output:&lt;br /&gt;
: [[File:JTAGulator welcomeScreen.png|400px]]&lt;br /&gt;
&lt;br /&gt;
; Connect the JTAGulator to the test-device&lt;br /&gt;
# Connect the JTAGulator &#039;&#039;&#039;Ground (GND)&#039;&#039;&#039; to the GND of the hardware you want to analyze.&lt;br /&gt;
# Connect &#039;&#039;&#039;CHx&#039;&#039;&#039; from the JTAGulator to some pins &#039;&#039;&#039;(make sure via multimeter that the pins do not have a voltage level over 3.3V)&#039;&#039;&#039; on the hardware which may be JTAG pins (start from CH0). Do &#039;&#039;&#039;not&#039;&#039;&#039; use the &#039;&#039;&#039;VADJ&#039;&#039;&#039; pin on the JTAGualtor (VADJ is the output from the PWM/up-amp hardware on the JTAGulator that&#039;s used to create the target system voltage and drive the on-board level translators.)&lt;br /&gt;
&lt;br /&gt;
== JTAGulator commands ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on the firmware version 1.6&lt;br /&gt;
&lt;br /&gt;
* Display all commands: &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;&lt;br /&gt;
* Display firmware version: &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; First you need to set the voltage level&lt;br /&gt;
: Press &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; and set the voltage level accordingly (check via multimeter or hardware specification, usually 3.3)&lt;br /&gt;
&lt;br /&gt;
=== Finding JTAG ===&lt;br /&gt;
&lt;br /&gt;
* Type &amp;lt;code&amp;gt;J&amp;lt;/code&amp;gt; to get to the JTAG commands&lt;br /&gt;
* Then type &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; for useful help-information&lt;br /&gt;
; IDCODE scan &amp;lt;code&amp;gt;I&amp;lt;/code&amp;gt;&lt;br /&gt;
: This is a quick scan, which checks the output of every possible combination and presents possible combination + device IDs&lt;br /&gt;
: You can filter out incorrect JTAG identification by looking at the ID (device IDs are eye-catching, they are very non-uniform eg. (0x0D780237) and not like (0xFFFFFF7F) or (0x55555555) )&lt;br /&gt;
; BYPASS scan &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt;&lt;br /&gt;
: After you used the IDcode scan, you want to determine the TDI line&lt;br /&gt;
: Enter x for the unknown TDI line and the numbers of the possible JTAG combination&lt;br /&gt;
; Test BYPASS &amp;lt;code&amp;gt;T&amp;lt;/code&amp;gt;&lt;br /&gt;
: After the TDI pin was found, test the communication using the echo command of the JTAG interface. A random string gets sent to the TDI line of the JTAG interface and the JTAG controller should now send the same string back on the TDO line.&lt;br /&gt;
: With this you can make sure, that is really is a JTAG interface&lt;br /&gt;
: Go into the Test BYPASS menu, enter the number of the pins and see if the string matches&lt;br /&gt;
: If it does match it is very likely to be a JTAG interface, if not you will have to try out other pins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For a real-world example look into the post: [[JTAGulator: Find a Smartphone&#039;s JTAG interface]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Finding UART ===&lt;br /&gt;
&lt;br /&gt;
The JTAGulator can also find UART pins by brute-forcing the pinout configuration as well as the baud-rate&lt;br /&gt;
&lt;br /&gt;
; Find UART pins&lt;br /&gt;
* To enter the UART commands enter: &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
: (You can get help via &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Set the voltage level with &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt;&lt;br /&gt;
* Enter  the brute-force mode: &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt;&lt;br /&gt;
* Set parameters (make sure you do not ignore non-printable characters)&lt;br /&gt;
; Analyze output&lt;br /&gt;
: If the JTAGulator received a message it will output it to the screen&lt;br /&gt;
* The JTAGulator will display the TX and RX pin, the baud rate it was using and the message it received&lt;br /&gt;
: In the default configuration the JTAGualtor will send &amp;lt;CR&amp;gt; (0x0D) commands to the device&lt;br /&gt;
: Usually UART interfaces answer on &amp;lt;CR&amp;gt; commands with a response and append a &amp;lt;LF&amp;gt; (0x0A) or &amp;lt;CR&amp;gt; ( 0x0D) to it. Receiving such bytes are a good indicator that the correct baud rate was used.&lt;br /&gt;
; Connect to UART&lt;br /&gt;
: The JTAGualtor allows for passthrough of UART commands&lt;br /&gt;
* Enter &amp;lt;code&amp;gt;P&amp;lt;/code&amp;gt; for UART passthrough&lt;br /&gt;
: Set the RX, TX and the baud rate you found before.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For an example visit: [[JTAGulator: Find IoT-Device&#039;s UART interface]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[JTAGulator]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=JTAGulator:_Find_IoT-Device%27s_UART_interface&amp;diff=2649</id>
		<title>JTAGulator: Find IoT-Device&#039;s UART interface</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=JTAGulator:_Find_IoT-Device%27s_UART_interface&amp;diff=2649"/>
		<updated>2020-01-30T10:02:05Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description of how to find the UART interface of an IoT-Device. In this example the &amp;quot;smart&amp;quot; alarm system [[Technaxx WiFi smart alarm system starter kit TX-84]] will be used.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Read subsection &#039;Finding UART&#039; &#039;&#039;&#039; of [[JTAGulator: Introduction]] to understand the basic commands available.&lt;br /&gt;
* JTAGualtor&lt;br /&gt;
* [[Technaxx WiFi smart alarm system starter kit TX-84]] or some other device&lt;br /&gt;
&lt;br /&gt;
== UART explained ==&lt;br /&gt;
&lt;br /&gt;
UART stands for Universal Asynchronous Receiver/Transmitter and is a serialized asynchronous communication specification between two devices. The communication can be simplex, half-duplex or duplex.&lt;br /&gt;
&lt;br /&gt;
; UART consist out of:&lt;br /&gt;
* &#039;&#039;&#039;TX&#039;&#039;&#039; .. Transmit&lt;br /&gt;
* &#039;&#039;&#039;RX&#039;&#039;&#039; .. Receive&lt;br /&gt;
* Vcc .. Supply Voltage (optional)&lt;br /&gt;
* Gnd .. Ground 0V (optional)&lt;br /&gt;
&lt;br /&gt;
whereas the RX from one device is connected to the TX from the other device&lt;br /&gt;
&lt;br /&gt;
http://www.circuitbasics.com/wp-content/uploads/2016/01/Introduction-to-UART-Basic-Connection-Diagram-300x147.png&lt;br /&gt;
&lt;br /&gt;
The two devices should have the same ground and same Vcc&lt;br /&gt;
&lt;br /&gt;
=== Data transmission ===&lt;br /&gt;
&lt;br /&gt;
http://www.circuitbasics.com/wp-content/uploads/2016/01/Introduction-to-UART-Packet-Frame-and-Bits-2.png&lt;br /&gt;
&lt;br /&gt;
; UART packet are defined as followed:&lt;br /&gt;
: - Start Bit: A connected not-sending data-line is kept at the Vcc voltage (idle, but can also be the reverse). When one party wants to send data it indicates it by pulling the data-line to ground.&lt;br /&gt;
: - Data Frame: The actual data section allows to send 5 to 9 bits per packet.&lt;br /&gt;
: - Parity: To detect transmission errors a checksum is appended to the packet. There are different modes: total of all even bits, total of all uneven bits.&lt;br /&gt;
: - Stop Bit: To end the packet the data-line is set to Vcc for 1 or 2 bit duration.&lt;br /&gt;
&lt;br /&gt;
* The Data Frame can only send 9 bits when the Parity Bit is turned off. The Data Frame &amp;quot;borrows&amp;quot; the extra bit from the Parity Bit.&lt;br /&gt;
* Data is send using least significant bit first.&lt;br /&gt;
* The baud rate of the 2 devices should be within +-10%&lt;br /&gt;
&lt;br /&gt;
[[File:UART.png|400px|border]]&lt;br /&gt;
&lt;br /&gt;
Source and Images:&lt;br /&gt;
* https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter&lt;br /&gt;
* http://www.circuitbasics.com/basics-uart-communication/&lt;br /&gt;
&lt;br /&gt;
== Find UART interface ==&lt;br /&gt;
&lt;br /&gt;
As explained in the section before the UART interface consists out of two pins: RX and TX. Usually also the pins Gnd and Vcc are laid out together. Therefore these 4 pins are usually right next to each other in a line.&lt;br /&gt;
&lt;br /&gt;
We look at this mainboard we can see 4 pins next to each other.&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t find them it helps to look at the datasheet of the microprocessor. It is good practice to remove the UART interface of the device since this should only be accessible for testing. (exceptions exist)&lt;br /&gt;
&lt;br /&gt;
== Connect to the possible pins ==&lt;br /&gt;
&lt;br /&gt;
Connect the JTAGulator Gnd Channel to the Gnd of the target device. Then connect the channels (start with 0 and proceed incrementally) to the possible pins of the UART.&lt;br /&gt;
&lt;br /&gt;
(Tip: you do not have to connect to the Gnd and Vcc of the target device since Gnd is already connected and Vcc has to be set in the software of the JTAGulator)&lt;br /&gt;
&lt;br /&gt;
== Connect to the JTAGualtor ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;This tutorial is based on the firmware version 1.6&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Make sure you connected the target device to power.&lt;br /&gt;
&lt;br /&gt;
; Connect the JTAGulator to the computer&lt;br /&gt;
: and open a serial connection using the following parameters: (eg. use Putty, minicom, ...)&lt;br /&gt;
:: 115200 bps, 8 data bits, no parity, 1 stop bit&lt;br /&gt;
; Go into the UART menu&lt;br /&gt;
: Type &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; for the UART menu&lt;br /&gt;
: Type &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; for help and all possible commands&lt;br /&gt;
; Find UART pin configuration&lt;br /&gt;
: Set the voltage level of the target device&lt;br /&gt;
:: &amp;lt;code&amp;gt;V&amp;lt;/code&amp;gt; and enter Vcc (if not known check with oscilloscope of multimeter)&lt;br /&gt;
: Type &amp;lt;code&amp;gt;U&amp;lt;/code&amp;gt; in the UART menu to start the brute force on the pin configuration of the UART pins.&lt;br /&gt;
: Enter the text string you want to output on the UART interface:&lt;br /&gt;
:: Usually you want to keep the &amp;lt;code&amp;gt;default configuration [CR]&amp;lt;/code&amp;gt; so &amp;lt;code&amp;gt;just press enter&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Usually when pressing &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt; into a UART interface it will great you with a response.&lt;br /&gt;
: Enter starting channel of the JTAGulator&lt;br /&gt;
: Enter ending channel of the JTAGulator&lt;br /&gt;
:: Now the JTAGulator will cycle through all pin configurations and possible baud rates and prints out the output character you specified&lt;br /&gt;
&lt;br /&gt;
 UART&amp;gt; u                                                                         &lt;br /&gt;
 UART pin naming is from the target&#039;s perspective.                               &lt;br /&gt;
 Enter text string to output (prefix with \x for hex) [CR]:                      &lt;br /&gt;
 Enter starting channel [0]:                                                     &lt;br /&gt;
 Enter ending channel [4]:                                                       &lt;br /&gt;
 Possible permutations: 20                                                       &lt;br /&gt;
                                                                                 &lt;br /&gt;
 Ignore non-printable characters? [y/N]: n                                       &lt;br /&gt;
 Press spacebar to begin (any other key to abort)...                             &lt;br /&gt;
 JTAGulating! Press any key to abort...                                          &lt;br /&gt;
 ----------                                                                      &lt;br /&gt;
 TXD: 2                                                                          &lt;br /&gt;
 RXD: 3                                                                          &lt;br /&gt;
 Baud: 19200                                                                     &lt;br /&gt;
 Data: ..(t0d^l.. ..... [ AF 85 28 74 30 64 5E 6C D9 0F 20 B7 E7 A5 F5 D4 ]      &lt;br /&gt;
                                                                                 &lt;br /&gt;
 TXD: 2                                                                          &lt;br /&gt;
 RXD: 3                                                                          &lt;br /&gt;
 Baud: 57600                                                                     &lt;br /&gt;
 Data: ...[32;40m00:16: [ 0D 0A 1B 5B 33 32 3B 34 30 6D 30 30 3A 31 36 3A ]      &lt;br /&gt;
                                                                                 &lt;br /&gt;
 TXD: 2                                                                          &lt;br /&gt;
 RXD: 3                                                                          &lt;br /&gt;
 Baud: 76800                                                                     &lt;br /&gt;
 Data: . [ 0C ]                                                                  &lt;br /&gt;
                                                                                 &lt;br /&gt;
 ...                                                                &lt;br /&gt;
                                                                                                                                               &lt;br /&gt;
 TXD: 2                                                                          &lt;br /&gt;
 RXD: 4                                                                          &lt;br /&gt;
 Baud: 115200                                                                    &lt;br /&gt;
 Data: ................ [ 9E CF 0F 98 06 9E 0F 0F 98 98 E0 CF F3 98 E6 98 ]      &lt;br /&gt;
 ---------                                                                       &lt;br /&gt;
 UART scan complete.  &lt;br /&gt;
&lt;br /&gt;
We can see that the JTAGulator received some input. Now you have to filter out the right combination by looking at the output. The UART interface will send back some ASCII characters. 0x0D / 0x0A are very good indicator signalling a carriage return / newline. So the second output (TX:2 RX:3 Baud:56700) looks very promising&lt;br /&gt;
&lt;br /&gt;
; Check the found UART pin configuration&lt;br /&gt;
: Now we will use the UART pass-through to send terminal input directly through the JTAGulator to the specific UART pin configuration&lt;br /&gt;
&lt;br /&gt;
Restarting the target device (alarmsystem) gives us the perfect example to disable the UART as a debugging interface&lt;br /&gt;
&lt;br /&gt;
 -Boot 1.1.3 (May 24 2016 - 11:52:40)&lt;br /&gt;
 &lt;br /&gt;
 Board: Dahua Tech Soc DRAM:  64 MB&lt;br /&gt;
 relocate_code Pointer at: 83fb8000&lt;br /&gt;
 ***********************&lt;br /&gt;
 Watchdog Reset Occurred&lt;br /&gt;
 ***********************&lt;br /&gt;
 flash manufacture id: ef, device id 40 18&lt;br /&gt;
 find flash: W25Q128BV&lt;br /&gt;
 env_relocate[232] malloced ENV at 83f78010&lt;br /&gt;
 ============================================ &lt;br /&gt;
 Ralink UBoot Version: 4.3.0.0&lt;br /&gt;
 -------------------------------------------- &lt;br /&gt;
 ASIC 7628_MP (Port5&amp;lt;-&amp;gt;None)&lt;br /&gt;
 DRAM component: 512 Mbits DDR, width 16&lt;br /&gt;
 DRAM bus: 16 bit&lt;br /&gt;
 Total memory: 64 MBytes&lt;br /&gt;
 Flash component: SPI Flash&lt;br /&gt;
 Date:May 24 2016  Time:11:52:40&lt;br /&gt;
 ============================================ &lt;br /&gt;
 icache: sets:512, ways:4, linesz:32 ,total:65536&lt;br /&gt;
 dcache: sets:256, ways:4, linesz:32 ,total:32768 &lt;br /&gt;
 &lt;br /&gt;
  ##### The CPU freq = 580 MHZ #### &lt;br /&gt;
  estimate memory size =64 Mbytes&lt;br /&gt;
 RESET MT7628 PHY!!!!!!&lt;br /&gt;
 &lt;br /&gt;
 Please choose the operation: &lt;br /&gt;
    1: Load system code to SDRAM via TFTP. &lt;br /&gt;
    2: Load system code then write to Flash via TFTP. &lt;br /&gt;
    3: Boot system code via Flash (default).&lt;br /&gt;
    *: Entr boot command line interface.&lt;br /&gt;
    5: Load img then write to Flash via TFTP. &lt;br /&gt;
    7: Load Boot Loader code then write to Flash via Serial. &lt;br /&gt;
    9: Load Boot Loader code then write to Flash via TFTP. &lt;br /&gt;
 default: 3&lt;br /&gt;
  0 &lt;br /&gt;
    &lt;br /&gt;
 3: System Boot system code via Flash.&lt;br /&gt;
 ## Booting image at bc050000 ...&lt;br /&gt;
    Image Name:   Linux Kernel Image&lt;br /&gt;
    Image Type:   MIPS Linux Kernel Image (lzma compressed)&lt;br /&gt;
    Data Size:    2621376 Bytes =  2.5 MB&lt;br /&gt;
    Load Address: 80000000&lt;br /&gt;
    Entry Point:  8000c150&lt;br /&gt;
    Verifying Checksum ... OK&lt;br /&gt;
    Uncompressing Kernel Image ... OK&lt;br /&gt;
 No initrd&lt;br /&gt;
 ## Transferring control to Linux (at address 8000c150) ...&lt;br /&gt;
 ## Giving linux memsize in MB, 64&lt;br /&gt;
 &lt;br /&gt;
 Starting kernel ...&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 LINUX started...&lt;br /&gt;
 Linux version 2.6.36+ (wu_zhongren@centos128) (gcc version 4.6.3 (Buildroot 2012.11.1) )  #1 Wed Nov 30 19:48:01 CST 2016 &lt;br /&gt;
 &lt;br /&gt;
  The CPU feqenuce set to 580 MHz&lt;br /&gt;
 &lt;br /&gt;
  MIPS CPU sleep mode enabled.&lt;br /&gt;
 prom_envp(0)=memsize=64  ace in production:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ohh look it started Linux :)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
further down in the output we can see following:&lt;br /&gt;
&lt;br /&gt;
 00:00:17|[NetApp-364975] debug tid:344 tid:344, P2P current config:[&lt;br /&gt;
    {&lt;br /&gt;
       &amp;quot;Address&amp;quot; : &amp;quot;www.easy4ipcloud.com&amp;quot;,&lt;br /&gt;
       &amp;quot;Enable&amp;quot; : true,&lt;br /&gt;
       &amp;quot;Key&amp;quot; : &amp;quot;YXQ3Maxxxxxxxxx&amp;quot;,&lt;br /&gt;
       &amp;quot;Port&amp;quot; : 8800,&lt;br /&gt;
       &amp;quot;RecvBufferSize&amp;quot; : 524288,&lt;br /&gt;
       &amp;quot;RegisterPort&amp;quot; : 12366,&lt;br /&gt;
       &amp;quot;RegisterServer&amp;quot; : &amp;quot;www.easy4ip.com&amp;quot;,&lt;br /&gt;
       &amp;quot;ThreadNum&amp;quot; : 1,&lt;br /&gt;
       &amp;quot;Type&amp;quot; : &amp;quot;dhp2p&amp;quot;,&lt;br /&gt;
       &amp;quot;UUID&amp;quot; : &amp;quot;3F0073EPAN00338&amp;quot;,&lt;br /&gt;
       &amp;quot;WebVersion&amp;quot; : &amp;quot;2.211.0&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
 ]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Oh look it also printed out some password! &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(I replaced the last characters of the password with x)&lt;br /&gt;
&lt;br /&gt;
Let&#039;s see what happens if I press enter:&lt;br /&gt;
&lt;br /&gt;
 user name:&lt;br /&gt;
 password:&lt;br /&gt;
 23:50:23|[Manager] info tid:360 CLocalClient::CLocalClient(0x0x1c28f90)&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 23:50:23|[libInfra] warn tid:360 [Src/Component/Client.cpp:67] this:0x1c28f90 tid:360,  userName of client is a null string! &lt;br /&gt;
 23:50:23|[libInfra] warn tid:360 [Sr c/Component/Client.cpp:67] this:0x1c28f90 tid:360,  userName of client is a null string! &lt;br /&gt;
 23:50:23|[Manager] info tid:360 si.l oginType=0, si.clientAddress=, si.clientType=Consol e  si.authorityInfo= si.authorityType=  si.passwordType=Plain &lt;br /&gt;
 23:50:23|[Manager] error tid:360 CLo calClient::login() fa iled with:268632070!&lt;br /&gt;
 23:50:23|[Manager] info tid:360 CLocalClient::~CLocalClie nt(0x0x1c28f90)&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;br /&gt;
 User not valid!&lt;br /&gt;
 user name:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh look it asks for a username and password&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Let&#039;s test admin:admin&lt;br /&gt;
&lt;br /&gt;
 23:50:27|[Manager] debug tid:360 CLocalClient::login() successful! username = admin&lt;br /&gt;
&lt;br /&gt;
... well that was easy 😅 &lt;br /&gt;
&lt;br /&gt;
and the best part is: &#039;&#039;&#039;I am logged into root&#039;&#039;&#039; :)&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[JTAGulator]]&lt;br /&gt;
[[Technaxx WiFi smart alarm system starter kit TX-84]]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=JTAGulator:_Find_a_Smartphone%27s_JTAG_interface&amp;diff=2648</id>
		<title>JTAGulator: Find a Smartphone&#039;s JTAG interface</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=JTAGulator:_Find_a_Smartphone%27s_JTAG_interface&amp;diff=2648"/>
		<updated>2020-01-30T09:55:21Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This will show how to find a JTAG interface on a Smartphone (HTC One M7 801n).&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* JTAGulator&lt;br /&gt;
* Smartphone (HTC M7)&lt;br /&gt;
&lt;br /&gt;
For an overview of the JTAGulator: [[JTAGulator: Introduction]]&lt;br /&gt;
&lt;br /&gt;
== Finding the JTAG interface ==&lt;br /&gt;
&lt;br /&gt;
Browsing the web for the JTAG pinout is the best place to start. Some people might have already tried this and will leave some hints where the JTAG interface can be found.&lt;br /&gt;
&lt;br /&gt;
Open the smartphone and remove the mainboard:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:HTC open.jpg|thumb|none|300px|HTC M7 without back cover]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:HTC mainboard.jpg|thumb|none|300px|Mainboard removed]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:HTC mainboardBack.jpg|thumb|none|300px|Backside of mainboard]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
People on the internet hinted that the JTAG interface is on the back on the mainboard. So I connected the JTAGulator to them. First I tried to use a temporary approach using needles and clay. But that did not work very well, since the needles were not in tight contact with the pcb. (Later I found out that the copper wire I used was isolated.. so that explains why it did not work that well)  That is why I soldered wires to the pins.&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:HTC needleProbes.jpg|thumb|none|300px|Needle approach]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:HTC probes.jpg|thumb|none|300px|Better solution: soldering]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After I connected the pins to the JTAGulator and the mainboard to power, I scanned via the &#039;&#039;&#039;IDcode Scan&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 JTAG&amp;gt; i                                                                         &lt;br /&gt;
 Enter starting channel [0]:                                                     &lt;br /&gt;
 Enter ending channel [7]:                                                       &lt;br /&gt;
 Possible permutations: 336                                                      &lt;br /&gt;
                                                                                 &lt;br /&gt;
 Bring channels LOW between each permutation? [Y/n]:                             &lt;br /&gt;
 Enter length of time for channels to remain LOW (in ms, 1 - 1000) [100]: 10     &lt;br /&gt;
 Enter length of time after channels return HIGH before proceeding (in ms, 1 - 1 &lt;br /&gt;
 Press spacebar to begin (any other key to abort)...                             &lt;br /&gt;
 JTAGulating! Press any key to abort...                                          &lt;br /&gt;
 ----------------------------------------------                                                                                                    &lt;br /&gt;
 TDI: N/A                                                                        &lt;br /&gt;
 TDO: 1                                                                          &lt;br /&gt;
 TCK: 4                                                                          &lt;br /&gt;
 TMS: 6                                                                          &lt;br /&gt;
 Device ID #7: 1111 1111111011111111 11111111111 1 (0xFFEFFFFF)                  &lt;br /&gt;
 Device ID #10: 1111 1111111111111111 01111111111 1 (0xFFFFF7FF)                                                                                   &lt;br /&gt;
                                                                                 &lt;br /&gt;
 --                                                                              &lt;br /&gt;
 TDI: N/A                                                                        &lt;br /&gt;
 TDO: 2                                                                          &lt;br /&gt;
 TCK: 0                                                                          &lt;br /&gt;
 TMS: 6                                                                          &lt;br /&gt;
 TRST#: 4                                                                        &lt;br /&gt;
                                                                                 &lt;br /&gt;
 --                                                                              &lt;br /&gt;
 TDI: N/A                                                                        &lt;br /&gt;
 TDO: 2                                                                          &lt;br /&gt;
 TCK: 1                                                                          &lt;br /&gt;
 TMS: 0                                                                          &lt;br /&gt;
 Device ID #5: 1011 1111111111111111 11111111111 1 (0xBFFFFFFF)                  &lt;br /&gt;
 Device ID #6: 1010 1010101011111111 11111111111 1 (0xAAAFFFFF)                  &lt;br /&gt;
 Device ID #7: 0101 0101010101010101 01010101010 1 (0x55555555)                  &lt;br /&gt;
 Device ID #9: 0101 0101010101010101 01010101010 1 (0x55555555)                  &lt;br /&gt;
 Device ID #11: 0101 0101010101010101 01010101010 1 (0x55555555)                 &lt;br /&gt;
 Device ID #13: 0101 0101010101010101 01010101010 1 (0x55555555)                 &lt;br /&gt;
 Device ID #15: 0101 0101010101010101 01010101010 1 (0x55555555)                 &lt;br /&gt;
 TRST#: 4                                                                        &lt;br /&gt;
 TRST#: 6                                                                        &lt;br /&gt;
                                                                                 &lt;br /&gt;
 --                                                                              &lt;br /&gt;
 TDI: N/A                                                                        &lt;br /&gt;
 TDO: 2                                                                          &lt;br /&gt;
 TCK: 1                                                                          &lt;br /&gt;
 TMS: 4                                                                          &lt;br /&gt;
 Device ID #16: 1111 1111111111111111 11101111111 1 (0xFFFFFEFF)                 &lt;br /&gt;
 TRST#: 3                                                                        &lt;br /&gt;
 TRST#: 5                                                                        &lt;br /&gt;
  --- &lt;br /&gt;
 &lt;br /&gt;
 TDI: N/A                                                                        &lt;br /&gt;
 TDO: 3                                                                          &lt;br /&gt;
 TCK: 4                                                                          &lt;br /&gt;
 TMS: 1                                                                          &lt;br /&gt;
 Device ID #1: 0000 1101011110000000 00100011011 1 (0x0D780237)                  &lt;br /&gt;
 TRST#: 2                                                                        &lt;br /&gt;
 TRST#: 5                                                                        &lt;br /&gt;
 TRST#: 6                                                                        &lt;br /&gt;
 TRST#: 7    &lt;br /&gt;
 .&lt;br /&gt;
 .&lt;br /&gt;
 . &lt;br /&gt;
&lt;br /&gt;
The JTAGulator list all potential JTAG pinouts. Via the device ID you can easily spot real JTAG interfaces. Device IDs are usually very distinct and &amp;quot;random&amp;quot;, not like (0xFFEFFFFF), (0xBFFFFFFF) or (0x55555555). The last entry looks very promising (0x0D780237).&lt;br /&gt;
&lt;br /&gt;
Then I started a &#039;&#039;&#039;BYPASS scan&#039;&#039;&#039; on that specific pin configuration to find out the TDI line.&lt;br /&gt;
&lt;br /&gt;
 JTAG&amp;gt; b                                                                         &lt;br /&gt;
 Enter starting channel [0]: 0                                                   &lt;br /&gt;
 Enter ending channel [7]: 7                                                     &lt;br /&gt;
 Are any pins already known? [Y/n]:                                              &lt;br /&gt;
 Enter X for any unknown pin.                                                    &lt;br /&gt;
 Enter TDI pin [0]: x                                                            &lt;br /&gt;
 Enter TDO pin [6]: 3                                                            &lt;br /&gt;
 Enter TCK pin [5]: 4                                                            &lt;br /&gt;
 Enter TMS pin [3]: 1                                                            &lt;br /&gt;
 Possible permutations: 5                                                        &lt;br /&gt;
                                                                                 &lt;br /&gt;
 Bring channels LOW between each permutation? [Y/n]:                             &lt;br /&gt;
 Enter length of time for channels to remain LOW (in ms, 1 - 1000) [10]:         &lt;br /&gt;
 Enter length of time after channels return HIGH before proceeding (in ms, 1 - 1 &lt;br /&gt;
 Press spacebar to begin (any other key to abort)...                             &lt;br /&gt;
 JTAGulating! Press any key to abort...                                          &lt;br /&gt;
 -                                                                               &lt;br /&gt;
 TDI: 2                                                                          &lt;br /&gt;
 TDO: 3                                                                          &lt;br /&gt;
 TCK: 4                                                                          &lt;br /&gt;
 TMS: 1                                                                          &lt;br /&gt;
 TRST#: 5                                                                        &lt;br /&gt;
 TRST#: 6                                                                        &lt;br /&gt;
 Number of devices detected: 2                                                   &lt;br /&gt;
 ----                                                                            &lt;br /&gt;
 BYPASS scan complete.        &lt;br /&gt;
&lt;br /&gt;
Let&#039;s test the JTAG interface using the JTAG echo command. The JTAGulator will send a random string on the TDI line and will receive the same string on the TDO line if it is a valid JTAG device.&lt;br /&gt;
&lt;br /&gt;
 JTAG&amp;gt; t                                                                         &lt;br /&gt;
 Enter TDI pin [2]:                                                              &lt;br /&gt;
 Enter TDO pin [3]:                                                              &lt;br /&gt;
 Enter TCK pin [4]:                                                              &lt;br /&gt;
 Enter TMS pin [1]:                                                              &lt;br /&gt;
 Number of devices detected: 2                                                   &lt;br /&gt;
 Pattern in to TDI:    10000110100110111110011010011000                          &lt;br /&gt;
 Pattern out from TDO: 10000110100110111110011010011000                          &lt;br /&gt;
 Match!  &lt;br /&gt;
&lt;br /&gt;
We found the JTAG pinout! :)&lt;br /&gt;
&lt;br /&gt;
[[File:HTC JTAGpinout.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
Which closely relates to the image found on the internet:&lt;br /&gt;
&lt;br /&gt;
https://i.pinimg.com/474x/ef/f3/d3/eff3d3586a82da36bd20c8e4088cdc37--html.jpg&lt;br /&gt;
&lt;br /&gt;
* RTCK&lt;br /&gt;
* TMS&lt;br /&gt;
* TDI&lt;br /&gt;
* TDO&lt;br /&gt;
* TCK&lt;br /&gt;
* TRST&lt;br /&gt;
* RST&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[JTAGulator]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Bus_Pirate:_OpenOCD&amp;diff=2647</id>
		<title>Bus Pirate: OpenOCD</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Bus_Pirate:_OpenOCD&amp;diff=2647"/>
		<updated>2020-01-30T09:47:02Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Open On-Chip Debugger (OpenOCD) software was created by Dominic Rath at the University of Applied Sciences Augsburg. The goal of this software is to provide debugging tools for a lot of different debugging adapters and platforms. It has a scripting language that allows creating configuration files for e.g. custom JTAG adapters or target platform.&lt;br /&gt;
&lt;br /&gt;
This tutorial is an updated version to [https://research.kudelskisecurity.com/2014/05/01/jtag-debugging-made-easy-with-bus-pirate-and-openocd/]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* OS: Linux&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order to complete these steps, you must have followed [[Bus Pirate: First steps]] before.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In order to use OpenOCD on the Bus Pirate you need a firmware version of &#039;&#039;&#039;6+&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
; Download OpenOCD:&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/arduino/OpenOCD.git&amp;lt;/code&amp;gt;&lt;br /&gt;
: Install dependencies for the OpenOCD build:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo apt-get install autotools-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo apt-get install automake&amp;lt;/code&amp;gt;&lt;br /&gt;
; Compile code&lt;br /&gt;
: &amp;lt;code&amp;gt;cd OpenOCD&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;./bootsrap&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;./configure --enable-maintainer-mode --disable-werror --enable-buspirate&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt;&lt;br /&gt;
; Configure OpenOCD&#039;s buspirate.cfg&lt;br /&gt;
: &amp;lt;code&amp;gt;nano tcl/interface/buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # Buspirate with OpenOCD support&lt;br /&gt;
 #&lt;br /&gt;
 # http://dangerousprototypes.com/bus-pirate-manual/&lt;br /&gt;
 #&lt;br /&gt;
 interface buspirate&lt;br /&gt;
 # you need to specify port on which BP lives&lt;br /&gt;
 buspirate_port /dev/ttyUSB0                     (select the correct PORT!!!)&lt;br /&gt;
 # communication speed setting&lt;br /&gt;
 buspirate_speed normal ;# or fast&lt;br /&gt;
 # voltage regulator Enabled = 1 Disabled = 0&lt;br /&gt;
 buspirate_vreg 0&lt;br /&gt;
 # pin mode normal or open-drain&lt;br /&gt;
 buspirate_mode open-drain&lt;br /&gt;
 # pullup state Enabled = 1 Disabled = 0&lt;br /&gt;
 buspirate_pullup 1&lt;br /&gt;
 # this depends on the cable, you are safe with this option&lt;br /&gt;
 reset_config srst_only&lt;br /&gt;
&lt;br /&gt;
; Connect Bus Pirate and OpenOCD&lt;br /&gt;
: Connect the Bus Pirate to the computer&lt;br /&gt;
: Start OpenOCD&lt;br /&gt;
: &amp;lt;code&amp;gt;cd OpenOCD&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo openocd -f tcl/interface/buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
: (Errors might appear)&lt;br /&gt;
&lt;br /&gt;
 $ sudo openocd -f tcl/interface/buspirate.cfg              &lt;br /&gt;
 Open On-Chip Debugger 0.10.0-rc1-dev-gc404ff5d-dirty (2019-11-11-15:43)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
 	http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Warn : Adapter driver &#039;buspirate&#039; did not declare which transports it allows; assuming legacy JTAG-only&lt;br /&gt;
 Info : only one transport option; autoselect &#039;jtag&#039;&lt;br /&gt;
 srst_only separate srst_gates_jtag srst_open_drain connect_deassert_srst&lt;br /&gt;
 Info : Buspirate Interface ready!&lt;br /&gt;
 Info : This adapter doesn&#039;t support configurable speed&lt;br /&gt;
 Warn : There are no enabled taps.  AUTO PROBING MIGHT NOT WORK!!&lt;br /&gt;
 Error: JTAG scan chain interrogation failed: all ones&lt;br /&gt;
 Error: Check JTAG interface, timings, target power, etc.&lt;br /&gt;
 Error: Trying to use configured scan chain anyway...&lt;br /&gt;
 Warn : Bypassing JTAG setup events due to errors&lt;br /&gt;
 Warn : gdb services need one or more targets defined&lt;br /&gt;
&lt;br /&gt;
; Start OpenOCD session&lt;br /&gt;
: Open a new terminal tab&lt;br /&gt;
: type: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
: The OpenOCD terminal should open&lt;br /&gt;
: Type &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; for all possible operations&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Bus Pirate v3.6 Universal serial interface]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://research.kudelskisecurity.com/2014/05/01/jtag-debugging-made-easy-with-bus-pirate-and-openocd/&lt;br /&gt;
* https://github.com/arduino/OpenOCD&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2646</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2646"/>
		<updated>2020-01-30T09:44:20Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
[[File:Prox no case size.jpg|thumb|500px|Proxmark3 RDV4]]&lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low-level interactions with the vast majority of RFID/NFC tags and systems worldwide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open-source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, Bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
This write-up concentrates on the improvements of the RDV4 over the RDV2 and will not cover the basic operations. For more, please visit [[Proxmark3: Useful commands]] or [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the Bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Smart Card ==&lt;br /&gt;
&lt;br /&gt;
Hidden under the lid of the Proxmark RDV4 you can find a smart card reader. You can directly insert a smartcard directly into to the slot or insert it into the optional smartcard extender, which allows for card size formats. &lt;br /&gt;
&lt;br /&gt;
[[File:Prox smartcard.jpg|800px|Proxmark with the smartcard extender]]&lt;br /&gt;
&lt;br /&gt;
For more information on reading and writing to smartcards please visit the follow-up post [[Proxmark3 RDV4: SmartCard]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox open case.jpg|thumb|none|x300px|1. Remove the antenna cover and use the plastic prying tool to open the case.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox remove antenna.jpg|thumb|none|x300px|2. Remove the six screws of the antenna.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable.jpg|thumb|none|x300px|3. Connect the Bluetooth cable to the Proxmark by first opening the black hinge of the ribbon cable.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable2.jpg|thumb|none|x300px|4. Insert the ribbon cable into the connector and close the hinge again.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt.jpg|thumb|none|x300px|5. Remove the blue tape on the Bluetooth module.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt2.jpg|thumb|none|x300px|6. Push the module onto the Proxmark.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt3.jpg|thumb|none|x300px|7. Connect the antenna to the Proxmark and add the cover of the antenna.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the Bluetooth setting in the makefile: the instructions are based on [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
=== Linux installation === &lt;br /&gt;
&lt;br /&gt;
; Preperation&lt;br /&gt;
* Update system:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install requirements:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* On Linux you have to make shure you remove of disable the ModemManager (this is usally pre-installed to interact with (2G,3G,4G) devices.&lt;br /&gt;
* Remove ModemManager&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt remove modemmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download repostiory:&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/RfidResearchGroup/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* cd into repo&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
* Or update to the newest version:&lt;br /&gt;
: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
; Compile source code&lt;br /&gt;
* Enable Bluetooth module&lt;br /&gt;
: &amp;lt;code&amp;gt;cp  Makefile.platform.sample Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;nano Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: And uncomment the line &amp;lt;code&amp;gt;#PLATFORM_EXTRAS=BTADDON&amp;lt;/code&amp;gt; by removing the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; &amp;amp; save changes by pressing &amp;lt;code&amp;gt;ctrl+x&amp;lt;/code&amp;gt;&lt;br /&gt;
* Compile source code&lt;br /&gt;
: &amp;lt;code&amp;gt;make clean; make -j8&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add access rights&lt;br /&gt;
: &amp;lt;code&amp;gt;make accessrights&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now log off and log on again.&lt;br /&gt;
* Connect the Proxmark3 to the computer&lt;br /&gt;
* Flash the firmware&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-bootrom&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-all&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect wirelessly to the Proxmark&lt;br /&gt;
* Turn on the Bluetooth module (both switches to on)&lt;br /&gt;
* Find MAC address&lt;br /&gt;
 sudo hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
  aa:bb:cc:dd:ee:ff PM3_RDV4.0&lt;br /&gt;
* Bind your BT add-on MAC address to a serial port&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo rfcomm bind rfcomm0 aa:bb:cc:dd:ee:ff&amp;lt;/code&amp;gt;&lt;br /&gt;
* If connecting the first time:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
 [bluetooth]# pairable on&lt;br /&gt;
 [bluetooth]# scan on&lt;br /&gt;
 Discovery started&lt;br /&gt;
 ...&lt;br /&gt;
 [CHG] Device aa:bb:cc:dd:ee:ff Name: PM3_RDV4.0&lt;br /&gt;
 [bluetooth]# trust aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [bluetooth]# pair aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [agent] Enter PIN code: 1234&lt;br /&gt;
 [bluetooth]# quit&lt;br /&gt;
* Else, open the Proxmark client&lt;br /&gt;
: &amp;lt;code&amp;gt;proxmark3 /dev/rfcomm0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now the Proxmark LED should stop blinking and turn solid blue. THe Proxmark client should show the default interface.&lt;br /&gt;
&lt;br /&gt;
== Antennas ==&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 optionally ships with high-frequency (hf) and low-frequency (lf) antenna kits. They include a medium and long-range antenna. The following will show the differences between them.&lt;br /&gt;
&lt;br /&gt;
=== High-Frequecy Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
The hf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-long-range-hf-antenna-1 lab401] says the range of the default antenna is about 40-85mm, medium-range antenna about 90mm, and the long-range has a reach of 100-120mm. A small test of mine concludes that this statement is only partially true. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf normal.jpg|thumb|none|x300px|Default HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf med.jpg|thumb|none|x300px|Medium-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf long.jpg|thumb|none|x300px|Long-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tested the range of 4 different cards:&lt;br /&gt;
&lt;br /&gt;
* Card 1: HF-Card shipped with the RDV4: NXP MIFARE CLASSIC 1k Gen1A S50&lt;br /&gt;
* Card 2: Student-Card: NXP MIFARE DESFire 4k &lt;br /&gt;
* Card 3: Portugal, Proto MetroCard:  Ultralight EV1 48bytes (MF0UL1101)&lt;br /&gt;
* Card 4: SkiData Card: EM-Marin SA (Skidata); EM4233&lt;br /&gt;
&lt;br /&gt;
 (!)  denotes that the readings were inconsistent:&lt;br /&gt;
      The card only got recognized from time to time&lt;br /&gt;
 (!!) denotes that the readings were &#039;&#039;&#039;very&#039;&#039;&#039; inconsistent:&lt;br /&gt;
      Only if lucky the card got recognized&lt;br /&gt;
 /    denotes that the card got not read at all&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default-Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Medium-Range Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Long-Range Antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Shipped HF-Card&lt;br /&gt;
| 8 cm&lt;br /&gt;
| (!!) 0 cm&lt;br /&gt;
| (!!) 2 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Student-Card&lt;br /&gt;
| 5 cm &lt;br /&gt;
| (!) 0 cm &lt;br /&gt;
| (!) 7 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Metro-Card&lt;br /&gt;
| 8 cm &lt;br /&gt;
| /&lt;br /&gt;
| (!) 11 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | SkiData-Card&lt;br /&gt;
| 7 cm &lt;br /&gt;
| 7 cm &lt;br /&gt;
| 11 cm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The results show that the antenna reach depends heavily on the card trying to read. The most consistent results came from the default-antenna that ships with the RDV4. As shown, the optional antennas did cope with the NXP Mifare cards very poorly but show improvements for the SkiData card.&lt;br /&gt;
&lt;br /&gt;
=== Low-Frequency Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
Sadly I do not have any lf-cards on hand and could not test the range of the given antennas.&lt;br /&gt;
&lt;br /&gt;
The lf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401] says the range of the default antenna is about 66 - 72mm, medium-range antenna about 90mm, and the long-range has a reach of 110 - 133mm. But as shown above, for the hf-antenna this depends heavily on the lf-card itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf med.jpg|thumb|none|x300px|Medium-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf long.jpg|thumb|none|x300px|Long-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf switch.jpg|thumb|none|300px|LF-Antenna Switch]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional antennas come with 2 switches: (source: [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401])&lt;br /&gt;
&lt;br /&gt;
; Q-Switch&lt;br /&gt;
: The Q-Switch has two settings: 14 (Extended Range) and 7 (Extended Accuracy).&lt;br /&gt;
:: Q-Switch setting of 14 will give up to 30% further read range (on lf search / lf hid read etc commands).&lt;br /&gt;
:: Q-Switch setting of 7 will give better writing performance on T55XX and EM410XX tags.&lt;br /&gt;
&lt;br /&gt;
; Frequency Switch&lt;br /&gt;
: The frequency switch allows for tuning to specific tag types: 125KHz or 134KHz.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.proxmark.com&lt;br /&gt;
* https://www.hackerwarehouse.com&lt;br /&gt;
* https://www.lab401.com&lt;br /&gt;
* https://github.com/RfidResearchGroup/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2645</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2645"/>
		<updated>2020-01-30T09:43:38Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
[[File:Prox no case size.jpg|thumb|500px|Proxmark3 RDV4]]&lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low-level interactions with the vast majority of RFID/NFC tags and systems worldwide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open-source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, Bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
This write-up concentrates on the improvements of the RDV4 over the RDV2 and will not cover the basic operations. For more, please visit [[Proxmark3: Useful commands]] or [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the Bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Smart Card ==&lt;br /&gt;
&lt;br /&gt;
Hidden under the lid of the Proxmark RDV4 you can find a smart card reader. You can directly insert a smartcard directly into to the slot or insert it into the optional smartcard extender, which allows for card size formats. &lt;br /&gt;
&lt;br /&gt;
[[File:Prox smartcard.jpg|800px|Proxmark with the smartcard extender]]&lt;br /&gt;
&lt;br /&gt;
For more information on reading and writing to smartcards please visit the follow-up post [[Creating Proxmark3 RDV4: SmartCard]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox open case.jpg|thumb|none|x300px|1. Remove the antenna cover and use the plastic prying tool to open the case.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox remove antenna.jpg|thumb|none|x300px|2. Remove the six screws of the antenna.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable.jpg|thumb|none|x300px|3. Connect the Bluetooth cable to the Proxmark by first opening the black hinge of the ribbon cable.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable2.jpg|thumb|none|x300px|4. Insert the ribbon cable into the connector and close the hinge again.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt.jpg|thumb|none|x300px|5. Remove the blue tape on the Bluetooth module.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt2.jpg|thumb|none|x300px|6. Push the module onto the Proxmark.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt3.jpg|thumb|none|x300px|7. Connect the antenna to the Proxmark and add the cover of the antenna.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the Bluetooth setting in the makefile: the instructions are based on [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
=== Linux installation === &lt;br /&gt;
&lt;br /&gt;
; Preperation&lt;br /&gt;
* Update system:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install requirements:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* On Linux you have to make shure you remove of disable the ModemManager (this is usally pre-installed to interact with (2G,3G,4G) devices.&lt;br /&gt;
* Remove ModemManager&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt remove modemmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download repostiory:&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/RfidResearchGroup/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* cd into repo&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
* Or update to the newest version:&lt;br /&gt;
: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
; Compile source code&lt;br /&gt;
* Enable Bluetooth module&lt;br /&gt;
: &amp;lt;code&amp;gt;cp  Makefile.platform.sample Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;nano Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: And uncomment the line &amp;lt;code&amp;gt;#PLATFORM_EXTRAS=BTADDON&amp;lt;/code&amp;gt; by removing the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; &amp;amp; save changes by pressing &amp;lt;code&amp;gt;ctrl+x&amp;lt;/code&amp;gt;&lt;br /&gt;
* Compile source code&lt;br /&gt;
: &amp;lt;code&amp;gt;make clean; make -j8&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add access rights&lt;br /&gt;
: &amp;lt;code&amp;gt;make accessrights&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now log off and log on again.&lt;br /&gt;
* Connect the Proxmark3 to the computer&lt;br /&gt;
* Flash the firmware&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-bootrom&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-all&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect wirelessly to the Proxmark&lt;br /&gt;
* Turn on the Bluetooth module (both switches to on)&lt;br /&gt;
* Find MAC address&lt;br /&gt;
 sudo hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
  aa:bb:cc:dd:ee:ff PM3_RDV4.0&lt;br /&gt;
* Bind your BT add-on MAC address to a serial port&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo rfcomm bind rfcomm0 aa:bb:cc:dd:ee:ff&amp;lt;/code&amp;gt;&lt;br /&gt;
* If connecting the first time:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
 [bluetooth]# pairable on&lt;br /&gt;
 [bluetooth]# scan on&lt;br /&gt;
 Discovery started&lt;br /&gt;
 ...&lt;br /&gt;
 [CHG] Device aa:bb:cc:dd:ee:ff Name: PM3_RDV4.0&lt;br /&gt;
 [bluetooth]# trust aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [bluetooth]# pair aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [agent] Enter PIN code: 1234&lt;br /&gt;
 [bluetooth]# quit&lt;br /&gt;
* Else, open the Proxmark client&lt;br /&gt;
: &amp;lt;code&amp;gt;proxmark3 /dev/rfcomm0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now the Proxmark LED should stop blinking and turn solid blue. THe Proxmark client should show the default interface.&lt;br /&gt;
&lt;br /&gt;
== Antennas ==&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 optionally ships with high-frequency (hf) and low-frequency (lf) antenna kits. They include a medium and long-range antenna. The following will show the differences between them.&lt;br /&gt;
&lt;br /&gt;
=== High-Frequecy Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
The hf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-long-range-hf-antenna-1 lab401] says the range of the default antenna is about 40-85mm, medium-range antenna about 90mm, and the long-range has a reach of 100-120mm. A small test of mine concludes that this statement is only partially true. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf normal.jpg|thumb|none|x300px|Default HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf med.jpg|thumb|none|x300px|Medium-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf long.jpg|thumb|none|x300px|Long-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tested the range of 4 different cards:&lt;br /&gt;
&lt;br /&gt;
* Card 1: HF-Card shipped with the RDV4: NXP MIFARE CLASSIC 1k Gen1A S50&lt;br /&gt;
* Card 2: Student-Card: NXP MIFARE DESFire 4k &lt;br /&gt;
* Card 3: Portugal, Proto MetroCard:  Ultralight EV1 48bytes (MF0UL1101)&lt;br /&gt;
* Card 4: SkiData Card: EM-Marin SA (Skidata); EM4233&lt;br /&gt;
&lt;br /&gt;
 (!)  denotes that the readings were inconsistent:&lt;br /&gt;
      The card only got recognized from time to time&lt;br /&gt;
 (!!) denotes that the readings were &#039;&#039;&#039;very&#039;&#039;&#039; inconsistent:&lt;br /&gt;
      Only if lucky the card got recognized&lt;br /&gt;
 /    denotes that the card got not read at all&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default-Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Medium-Range Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Long-Range Antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Shipped HF-Card&lt;br /&gt;
| 8 cm&lt;br /&gt;
| (!!) 0 cm&lt;br /&gt;
| (!!) 2 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Student-Card&lt;br /&gt;
| 5 cm &lt;br /&gt;
| (!) 0 cm &lt;br /&gt;
| (!) 7 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Metro-Card&lt;br /&gt;
| 8 cm &lt;br /&gt;
| /&lt;br /&gt;
| (!) 11 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | SkiData-Card&lt;br /&gt;
| 7 cm &lt;br /&gt;
| 7 cm &lt;br /&gt;
| 11 cm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The results show that the antenna reach depends heavily on the card trying to read. The most consistent results came from the default-antenna that ships with the RDV4. As shown, the optional antennas did cope with the NXP Mifare cards very poorly but show improvements for the SkiData card.&lt;br /&gt;
&lt;br /&gt;
=== Low-Frequency Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
Sadly I do not have any lf-cards on hand and could not test the range of the given antennas.&lt;br /&gt;
&lt;br /&gt;
The lf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401] says the range of the default antenna is about 66 - 72mm, medium-range antenna about 90mm, and the long-range has a reach of 110 - 133mm. But as shown above, for the hf-antenna this depends heavily on the lf-card itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf med.jpg|thumb|none|x300px|Medium-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf long.jpg|thumb|none|x300px|Long-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf switch.jpg|thumb|none|300px|LF-Antenna Switch]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional antennas come with 2 switches: (source: [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401])&lt;br /&gt;
&lt;br /&gt;
; Q-Switch&lt;br /&gt;
: The Q-Switch has two settings: 14 (Extended Range) and 7 (Extended Accuracy).&lt;br /&gt;
:: Q-Switch setting of 14 will give up to 30% further read range (on lf search / lf hid read etc commands).&lt;br /&gt;
:: Q-Switch setting of 7 will give better writing performance on T55XX and EM410XX tags.&lt;br /&gt;
&lt;br /&gt;
; Frequency Switch&lt;br /&gt;
: The frequency switch allows for tuning to specific tag types: 125KHz or 134KHz.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.proxmark.com&lt;br /&gt;
* https://www.hackerwarehouse.com&lt;br /&gt;
* https://www.lab401.com&lt;br /&gt;
* https://github.com/RfidResearchGroup/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4:_SmartCard&amp;diff=2644</id>
		<title>Proxmark3 RDV4: SmartCard</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4:_SmartCard&amp;diff=2644"/>
		<updated>2020-01-30T09:43:31Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: Created page with &amp;quot;== Summary ==   The Proxmark3 RDV4 comes with a built-in smartcard reader allowing to read and send data to the smartcard. A smartcard is a small micro  == Requirements ==  *...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 comes with a built-in smartcard reader allowing to read and send data to the smartcard. A smartcard is a small micro&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
* Some Smartcards&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_smartcard.jpg&amp;diff=2643</id>
		<title>File:Prox smartcard.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_smartcard.jpg&amp;diff=2643"/>
		<updated>2020-01-30T09:34:38Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Useful_commands&amp;diff=2641</id>
		<title>Proxmark3: Useful commands</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Useful_commands&amp;diff=2641"/>
		<updated>2020-01-29T22:49:54Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
&amp;quot;NFC Hacking with Proxmark3&amp;quot; has been conducted during a school project, in which we analyzed the implementation of our NFC System. Which includes our on-campus cards, the printing system, snacks and drinks machines and the classroom doors. The additional output of this project was a (tested) guide on how to install the Proxmark3. For further details with regards to our project, concrete tests and more advanced commands please see our documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]].&lt;br /&gt;
&lt;br /&gt;
In this thread we show a short overview of the different commands the proxmark3 environment has to offer.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Please see the [[Proxmark3: Installation]] guide for a full overview of requirements.&lt;br /&gt;
However, the Operating systems on which we tested the installation on are: &lt;br /&gt;
*Ubuntu 16.04/18.03&lt;br /&gt;
*Windows 10&lt;br /&gt;
*MacOS 10.x&lt;br /&gt;
&lt;br /&gt;
In order to complete the &amp;quot;Introduction&amp;quot; described below, you have to complete the [[Proxmark3: Installation]] guide first.&lt;br /&gt;
&lt;br /&gt;
These overview is based on the proxmark3 client, published on Github on the 29. May 2019&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This introduction should only give you a glimpse of the available commands and possibilities of the Proxmark3. The official Proxmark3-Repository as well as the more advanced Ice-Man-Fork Repository (both linked in the reference section) provide lots of functions, though most of them are still in their alpha stage and therefore still need a bit of tinkering in order to work well. For further commands and our security analysis of our university feel free to have a look at our documentation!&lt;br /&gt;
&lt;br /&gt;
=== The Commands ===&lt;br /&gt;
&lt;br /&gt;
Connect via:&lt;br /&gt;
: Linux: &amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Windows &amp;lt;code&amp;gt;./client/proxmark3.exe COMx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have successfully completed the Install Proxmark3 guide, you should see a screen similar to this when connecting to your proxmark3:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can always (in whichever menu you are) type &#039;help&#039; in order to have a full list of available commands in that menu.&lt;br /&gt;
If you enter help in the start menu, you will get following output:&lt;br /&gt;
 help             This help. Use &#039;&amp;lt;command&amp;gt; help&#039; for details of a particular command.&lt;br /&gt;
 data             { Plot window / data buffer manipulation... }&lt;br /&gt;
 hf               { High Frequency commands... }&lt;br /&gt;
 hw               { Hardware commands... }&lt;br /&gt;
 lf               { Low Frequency commands... }&lt;br /&gt;
 emv              { EMV iso14443 and iso7816... }&lt;br /&gt;
 sc               { Smartcard commands... }&lt;br /&gt;
 script           { Scripting commands }&lt;br /&gt;
 quit             Exit program&lt;br /&gt;
 exit             Exit program&lt;br /&gt;
&lt;br /&gt;
==== command: hw ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hw&amp;quot; stands for hardware and lists a bunch of commands to get basic hardware information of the Proxmark3.&lt;br /&gt;
&lt;br /&gt;
 detectreader     [&#039;l&#039;|&#039;h&#039;] -- Detect external reader field (option &#039;l&#039; or &#039;h&#039; to limit to LF or HF)&lt;br /&gt;
 fpgaoff          Set FPGA off&lt;br /&gt;
 lcd              &amp;lt;HEX command&amp;gt; &amp;lt;count&amp;gt; -- Send command/data to LCD&lt;br /&gt;
 lcdreset         Hardware reset LCD&lt;br /&gt;
 readmem          [address] -- Read memory at decimal address from flash&lt;br /&gt;
 reset            Reset the Proxmark3&lt;br /&gt;
 setlfdivisor     &amp;lt;19 - 255&amp;gt; -- Drive LF antenna at 12Mhz/(divisor+1)&lt;br /&gt;
 setmux           &amp;lt;loraw|hiraw|lopkd|hipkd&amp;gt; -- Set the ADC mux to a specific value&lt;br /&gt;
 tune             [&#039;l&#039;|&#039;h&#039;] -- Measure antenna tuning (option &#039;l&#039; or &#039;h&#039; to limit to LF or HF)&lt;br /&gt;
 version          Show version information about the connected Proxmark&lt;br /&gt;
 status           Show runtime status information about the connected Proxmark&lt;br /&gt;
 ping             Test if the pm3 is responsive&lt;br /&gt;
&lt;br /&gt;
We can check the version of the different builds of the Proxmark3 currently running on it:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw version&lt;br /&gt;
 Prox/RFID mark3 RFID instrument&lt;br /&gt;
 bootrom: master/v3.1.0-94-gd38bb3a-dirty-suspect 2019-06-01 14:36:05&lt;br /&gt;
 os: master/v3.1.0-94-gd38bb3a-dirty-suspect 2019-06-01 14:36:22&lt;br /&gt;
 fpga_lf.bit built for 2s30vq100 on 2015/03/06 at 07:38:04&lt;br /&gt;
 fpga_hf.bit built for 2s30vq100 on 2019/03/20 at 08:08:07&lt;br /&gt;
&lt;br /&gt;
We can now check the antenna strength of the attached antennas. If you have borrowed the proxmark3 of the Elvis IoT Lab you will get following output:&lt;br /&gt;
&lt;br /&gt;
(If no smart card is in proximity):&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw tune&lt;br /&gt;
 Measuring antenna characteristics, please wait.........&lt;br /&gt;
 # LF antenna: 43.86 V @   125.00 kHz&lt;br /&gt;
 # LF antenna: 21.04 V @   134.00 kHz&lt;br /&gt;
 # LF optimal: 44.14 V @   123.71 kHz&lt;br /&gt;
 # HF antenna: 30.41 V @    13.56 MHz&lt;br /&gt;
&lt;br /&gt;
If we now lay a NFC card on the antennas the voltages changes:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw tune&lt;br /&gt;
 Measuring antenna characteristics, please wait.........&lt;br /&gt;
 # LF antenna: 44.27 V @   125.00 kHz&lt;br /&gt;
 # LF antenna: 21.04 V @   134.00 kHz&lt;br /&gt;
 # LF optimal: 44.27 V @   123.71 kHz&lt;br /&gt;
 # HF antenna: *19.39 V* @    13.56 MHz&lt;br /&gt;
&lt;br /&gt;
We can see, that the voltage of the HF antenna dropped from 30 volts to about 19 volts. We can assume that the placed NFC card is a high frequency card.&lt;br /&gt;
&lt;br /&gt;
==== command: hf ====&lt;br /&gt;
&amp;quot;hf&amp;quot; stands for high frequency, which are specified at a carrier frequency of about 13.56 MHz.&lt;br /&gt;
Possible commands that can be issued are listed below:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf&lt;br /&gt;
 14a              { ISO14443A RFIDs... }&lt;br /&gt;
 14b              { ISO14443B RFIDs... }&lt;br /&gt;
 15               { ISO15693 RFIDs... }&lt;br /&gt;
 epa              { German Identification Card... }&lt;br /&gt;
 legic            { LEGIC RFIDs... }&lt;br /&gt;
 iclass           { ICLASS RFIDs... }&lt;br /&gt;
 mf               { MIFARE RFIDs... }&lt;br /&gt;
 mfu              { MIFARE Ultralight RFIDs... }&lt;br /&gt;
 mfp              { MIFARE Plus RFIDs... }&lt;br /&gt;
 topaz            { TOPAZ (NFC Type 1) RFIDs... }&lt;br /&gt;
 fido             { FIDO and FIDO2 authenticators... }&lt;br /&gt;
 tune             Continuously measure HF antenna tuning&lt;br /&gt;
 list             List protocol data in trace buffer&lt;br /&gt;
 plot             Plot signal&lt;br /&gt;
 search           Search for known HF tags [preliminary]&lt;br /&gt;
 snoop            &amp;lt;samples to skip (10000)&amp;gt; &amp;lt;triggers to skip (1)&amp;gt; Generic HF Snoop&lt;br /&gt;
&lt;br /&gt;
Most of these command-options are for specific cards from specific manufacturers (e.g. legic, iclass, mf). On the other hand 14a is a NFC card standard that describes low level communication of smart cards. Not all follow the same standard and some implement proprietary protocols. The Mifare cards are built upon the 14a standard and have additional commands which can be found in their specific directory.&lt;br /&gt;
&lt;br /&gt;
You usually start with the &#039;&#039;&#039;hf search&#039;&#039;&#039; command, which sends the card some data and analyses the return messages of the card. With this information the Proxmark3 can make assumptions on what kind of card it may be.&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf search&lt;br /&gt;
 UID : 01 02 03 04&lt;br /&gt;
 ATQA : 00 04&lt;br /&gt;
 SAK : 08 [2]&lt;br /&gt;
 TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1&lt;br /&gt;
 proprietary non iso14443-4 card found, RATS not supported&lt;br /&gt;
 Chinese magic backdoor commands (GEN 1a) detected&lt;br /&gt;
 Prng detection: WEAK&lt;br /&gt;
 Valid ISO14443A Tag Found - Quiting Search&lt;br /&gt;
&lt;br /&gt;
Here we see that this card is classified as a Mifare Classic 1k. In particularly it also answers back to the Chinese magic backdoor command which tells us that this card is a fully cloneable card which allows us to change the UID block of the card. More on this can be found in the Documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
We can now issue the &#039;&#039;&#039;hf plot&#039;&#039;&#039; command which will display a waveform with the just sent and received data.&lt;br /&gt;
&lt;br /&gt;
[[File:Waveform.PNG|frameless]]&lt;br /&gt;
&lt;br /&gt;
Thankfully people wrote programs that will parse this data to a dedicated protocol (&#039;&#039;&#039;hf list&#039;&#039;&#039;). In this case we want to parse it as a Mifare classic communication with &#039;&#039;&#039;hf list mf&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf list mf&lt;br /&gt;
 Recorded Activity (TraceLen = 156 bytes)&lt;br /&gt;
 Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer&lt;br /&gt;
 iso14443a - All times are in carrier periods (1/13.56Mhz)&lt;br /&gt;
 iClass    - Timings are not as accurate&lt;br /&gt;
      Start |        End | Src | Data (! denotes parity error, &#039; denotes short bytes)            | CRC | Annotation         |&lt;br /&gt;
 -----------|------------|-----|-----------------------------------------------------------------|-----|--------------------|&lt;br /&gt;
          0 |        992 | Rdr | 40&#039;                                                             |     | MAGIC WUPC1&lt;br /&gt;
       2484 |       3060 | Tag | 0a&#039;                                                             |     |&lt;br /&gt;
       7040 |       8352 | Rdr | 43                                                              |     | MAGIC WUPC2&lt;br /&gt;
       9524 |      10100 | Tag | 0a&#039;                                                             |     |&lt;br /&gt;
      14080 |      18848 | Rdr | 50  00  57  cd                                                  |  ok | HALT&lt;br /&gt;
          0 |        992 | Rdr | 52&#039;                                                             |     | WUPA&lt;br /&gt;
       2228 |       4596 | Tag | 04  00                                                          |     |&lt;br /&gt;
       7040 |       9504 | Rdr | 93  20                                                          |     | ANTICOLL&lt;br /&gt;
      10676 |      16564 | Tag | 01  02  03  04  04                                              |     |&lt;br /&gt;
      19328 |      29856 | Rdr | 93  70  01  02  03  04  04  8e  25                              |  ok | SELECT_UID&lt;br /&gt;
      31028 |      34548 | Tag | 08  b6  dd                                                      |     |&lt;br /&gt;
      47488 |      52192 | Rdr | 60  00  f5  7b                                                  |  ok | AUTH-A(0)&lt;br /&gt;
      54196 |      58932 | Tag | 01  20  01  45                                                  |     | AUTH: nt&lt;br /&gt;
&lt;br /&gt;
More on what is happening here can be found in the documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are many more commands. For example, &#039;&#039;&#039;hf data&#039;&#039;&#039; to manipulate the raw data, or &#039;&#039;&#039;hf mf&#039;&#039;&#039; to interact with Mifare Classic cards. Since this is only a short introduction to commands of the Proxmark3 we won&#039;t go deeper. If one is interested and wants to find out more about the Proxmark you we highly recommend the documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]] - where not only the essentials are covered, but also an in depth explanation about the technology used, the Proxmark itself, the Mifare Classic Standard and a validation of the FH-Campus card system.&lt;br /&gt;
&lt;br /&gt;
It is definitely worth checking out the paper, since it also shows which vulnerabilities where found in the school card system.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=Proxmark_3 Proxmark3]&lt;br /&gt;
&lt;br /&gt;
== Additional Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Proxmark3: Installation]]&lt;br /&gt;
* [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Proxmark/proxmark3&lt;br /&gt;
* https://github.com/iceman1001/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2627</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2627"/>
		<updated>2020-01-28T22:18:21Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
[[File:Prox no case size.jpg|thumb|500px|Proxmark3 RDV4]]&lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low-level interactions with the vast majority of RFID/NFC tags and systems worldwide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open-source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, Bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
This write-up concentrates on the improvements of the RDV4 over the RDV2 and will not cover the basic operations. For more, please visit [[Proxmark3: Useful commands]] or [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the Bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox open case.jpg|thumb|none|x300px|1. Remove the antenna cover and use the plastic prying tool to open the case.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox remove antenna.jpg|thumb|none|x300px|2. Remove the six screws of the antenna.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable.jpg|thumb|none|x300px|3. Connect the Bluetooth cable to the Proxmark by first opening the black hinge of the ribbon cable.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable2.jpg|thumb|none|x300px|4. Insert the ribbon cable into the connector and close the hinge again.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt.jpg|thumb|none|x300px|5. Remove the blue tape on the Bluetooth module.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt2.jpg|thumb|none|x300px|6. Push the module onto the Proxmark.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt3.jpg|thumb|none|x300px|7. Connect the antenna to the Proxmark and add the cover of the antenna.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the Bluetooth setting in the makefile: the instructions are based on [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
=== Linux installation === &lt;br /&gt;
&lt;br /&gt;
; Preperation&lt;br /&gt;
* Update system:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install requirements:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* On Linux you have to make shure you remove of disable the ModemManager (this is usally pre-installed to interact with (2G,3G,4G) devices.&lt;br /&gt;
* Remove ModemManager&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt remove modemmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download repostiory:&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/RfidResearchGroup/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* cd into repo&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
* Or update to the newest version:&lt;br /&gt;
: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
; Compile source code&lt;br /&gt;
* Enable Bluetooth module&lt;br /&gt;
: &amp;lt;code&amp;gt;cp  Makefile.platform.sample Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;nano Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: And uncomment the line &amp;lt;code&amp;gt;#PLATFORM_EXTRAS=BTADDON&amp;lt;/code&amp;gt; by removing the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; &amp;amp; save changes by pressing &amp;lt;code&amp;gt;ctrl+x&amp;lt;/code&amp;gt;&lt;br /&gt;
* Compile source code&lt;br /&gt;
: &amp;lt;code&amp;gt;make clean; make -j8&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add access rights&lt;br /&gt;
: &amp;lt;code&amp;gt;make accessrights&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now log off and log on again.&lt;br /&gt;
* Connect the Proxmark3 to the computer&lt;br /&gt;
* Flash the firmware&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-bootrom&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-all&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect wirelessly to the Proxmark&lt;br /&gt;
* Turn on the Bluetooth module (both switches to on)&lt;br /&gt;
* Find MAC address&lt;br /&gt;
 sudo hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
  aa:bb:cc:dd:ee:ff PM3_RDV4.0&lt;br /&gt;
* Bind your BT add-on MAC address to a serial port&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo rfcomm bind rfcomm0 aa:bb:cc:dd:ee:ff&amp;lt;/code&amp;gt;&lt;br /&gt;
* If connecting the first time:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
 [bluetooth]# pairable on&lt;br /&gt;
 [bluetooth]# scan on&lt;br /&gt;
 Discovery started&lt;br /&gt;
 ...&lt;br /&gt;
 [CHG] Device aa:bb:cc:dd:ee:ff Name: PM3_RDV4.0&lt;br /&gt;
 [bluetooth]# trust aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [bluetooth]# pair aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [agent] Enter PIN code: 1234&lt;br /&gt;
 [bluetooth]# quit&lt;br /&gt;
* Else, open the Proxmark client&lt;br /&gt;
: &amp;lt;code&amp;gt;proxmark3 /dev/rfcomm0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now the Proxmark LED should stop blinking and turn solid blue. THe Proxmark client should show the default interface.&lt;br /&gt;
&lt;br /&gt;
== Smart Card ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Antennas ==&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 optionally ships with high-frequency (hf) and low-frequency (lf) antenna kits. They include a medium and long-range antenna. The following will show the differences between them.&lt;br /&gt;
&lt;br /&gt;
=== High-Frequecy Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
The hf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-long-range-hf-antenna-1 lab401] says the range of the default antenna is about 40-85mm, medium-range antenna about 90mm, and the long-range has a reach of 100-120mm. A small test of mine concludes that this statement is only partially true. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf normal.jpg|thumb|none|x300px|Default HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf med.jpg|thumb|none|x300px|Medium-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf long.jpg|thumb|none|x300px|Long-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tested the range of 4 different cards:&lt;br /&gt;
&lt;br /&gt;
* Card 1: HF-Card shipped with the RDV4: NXP MIFARE CLASSIC 1k Gen1A S50&lt;br /&gt;
* Card 2: Student-Card: NXP MIFARE DESFire 4k &lt;br /&gt;
* Card 3: Portugal, Proto MetroCard:  Ultralight EV1 48bytes (MF0UL1101)&lt;br /&gt;
* Card 4: SkiData Card: EM-Marin SA (Skidata); EM4233&lt;br /&gt;
&lt;br /&gt;
 (!)  denotes that the readings were inconsistent:&lt;br /&gt;
      The card only got recognized from time to time&lt;br /&gt;
 (!!) denotes that the readings were &#039;&#039;&#039;very&#039;&#039;&#039; inconsistent:&lt;br /&gt;
      Only if lucky the card got recognized&lt;br /&gt;
 /    denotes that the card got not read at all&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default-Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Medium-Range Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Long-Range Antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Shipped HF-Card&lt;br /&gt;
| 8 cm&lt;br /&gt;
| (!!) 0 cm&lt;br /&gt;
| (!!) 2 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Student-Card&lt;br /&gt;
| 5 cm &lt;br /&gt;
| (!) 0 cm &lt;br /&gt;
| (!) 7 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Metro-Card&lt;br /&gt;
| 8 cm &lt;br /&gt;
| /&lt;br /&gt;
| (!) 11 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | SkiData-Card&lt;br /&gt;
| 7 cm &lt;br /&gt;
| 7 cm &lt;br /&gt;
| 11 cm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The results show that the antenna reach depends heavily on the card trying to read. The most consistent results came from the default-antenna that ships with the RDV4. As shown, the optional antennas did cope with the NXP Mifare cards very poorly but show improvements for the SkiData card.&lt;br /&gt;
&lt;br /&gt;
=== Low-Frequency Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
Sadly I do not have any lf-cards on hand and could not test the range of the given antennas.&lt;br /&gt;
&lt;br /&gt;
The lf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401] says the range of the default antenna is about 66 - 72mm, medium-range antenna about 90mm, and the long-range has a reach of 110 - 133mm. But as shown above, for the hf-antenna this depends heavily on the lf-card itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf med.jpg|thumb|none|x300px|Medium-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf long.jpg|thumb|none|x300px|Long-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf switch.jpg|thumb|none|300px|LF-Antenna Switch]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional antennas come with 2 switches: (source: [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401])&lt;br /&gt;
&lt;br /&gt;
; Q-Switch&lt;br /&gt;
: The Q-Switch has two settings: 14 (Extended Range) and 7 (Extended Accuracy).&lt;br /&gt;
:: Q-Switch setting of 14 will give up to 30% further read range (on lf search / lf hid read etc commands).&lt;br /&gt;
:: Q-Switch setting of 7 will give better writing performance on T55XX and EM410XX tags.&lt;br /&gt;
&lt;br /&gt;
; Frequency Switch&lt;br /&gt;
: The frequency switch allows for tuning to specific tag types: 125KHz or 134KHz.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.proxmark.com&lt;br /&gt;
* https://www.hackerwarehouse.com&lt;br /&gt;
* https://www.lab401.com&lt;br /&gt;
* https://github.com/RfidResearchGroup/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2625</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2625"/>
		<updated>2020-01-28T22:13:30Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
[[File:Prox no case size.jpg|thumb|500px|Proxmark3 RDV4]]&lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low-level interactions with the vast majority of RFID/NFC tags and systems worldwide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open-source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, Bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
This write-up concentrates on the improvements of the RDV4 over the RDV2 and will not cover the basic operations. For more, please visit [[Proxmark3: Useful commands]] or [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the Bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox open case.jpg|thumb|none|x300px|1. Remove the antenna cover and use the plastic prying tool to open the case.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox remove antenna.jpg|thumb|none|x300px|2. Remove the six screws of the antenna.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable.jpg|thumb|none|x300px|3. Connect the Bluetooth cable to the Proxmark by first opening the black hinge of the ribbon cable.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt cable2.jpg|thumb|none|x300px|4. Insert the ribbon cable into the connector and close the hinge again.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt.jpg|thumb|none|x300px|5. Remove the blue tape on the Bluetooth module.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt2.jpg|thumb|none|x300px|6. Push the module onto the Proxmark.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox bt3.jpg|thumb|none|x300px|7. Connect the antenna to the Proxmark and add the cover of the antenna.]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the Bluetooth setting in the makefile: the instructions are based on [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
=== Linux installation === &lt;br /&gt;
&lt;br /&gt;
; Preperation&lt;br /&gt;
* Update system:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install requirements:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install --no-install-recommends git ca-certificates build-essential pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* On Linux you have to make shure you remove of disable the ModemManager (this is usally pre-installed to interact with (2G,3G,4G) devices.&lt;br /&gt;
* Remove ModemManager&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt remove modemmanager&amp;lt;/code&amp;gt;&lt;br /&gt;
* Download repostiory:&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/RfidResearchGroup/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
* cd into repo&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
* Or update to the newest version:&lt;br /&gt;
: &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;&lt;br /&gt;
; Compile source code&lt;br /&gt;
* Enable Bluetooth module&lt;br /&gt;
: &amp;lt;code&amp;gt;cp  Makefile.platform.sample Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;nano Makefile.platform&amp;lt;/code&amp;gt;&lt;br /&gt;
: And uncomment the line &amp;lt;code&amp;gt;#PLATFORM_EXTRAS=BTADDON&amp;lt;/code&amp;gt; by removing the &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; &amp;amp; save changes by pressing &amp;lt;code&amp;gt;ctrl+x&amp;lt;/code&amp;gt;&lt;br /&gt;
* Compile source code&lt;br /&gt;
: &amp;lt;code&amp;gt;make clean; make -j8&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo make install&amp;lt;/code&amp;gt;&lt;br /&gt;
* Add access rights&lt;br /&gt;
: &amp;lt;code&amp;gt;make accessrights&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now log off and log on again.&lt;br /&gt;
* Connect the Proxmark3 to the computer&lt;br /&gt;
* Flash the firmware&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-bootrom&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;./pm3-flash-all&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect wirelessly to the Proxmark&lt;br /&gt;
* Turn on the Bluetooth module (both switches to on)&lt;br /&gt;
* Find MAC address&lt;br /&gt;
 sudo hcitool scan&lt;br /&gt;
 Scanning ...&lt;br /&gt;
  aa:bb:cc:dd:ee:ff PM3_RDV4.0&lt;br /&gt;
* Bind your BT add-on MAC address to a serial port&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo rfcomm bind rfcomm0 aa:bb:cc:dd:ee:ff&amp;lt;/code&amp;gt;&lt;br /&gt;
* If connecting the first time:&lt;br /&gt;
 bluetoothctl&lt;br /&gt;
 [bluetooth]# pairable on&lt;br /&gt;
 [bluetooth]# scan on&lt;br /&gt;
 Discovery started&lt;br /&gt;
 ...&lt;br /&gt;
 [CHG] Device aa:bb:cc:dd:ee:ff Name: PM3_RDV4.0&lt;br /&gt;
 [bluetooth]# trust aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [bluetooth]# pair aa:bb:cc:dd:ee:ff&lt;br /&gt;
 [agent] Enter PIN code: 1234&lt;br /&gt;
 [bluetooth]# quit&lt;br /&gt;
* Else, open the Proxmark client&lt;br /&gt;
: &amp;lt;code&amp;gt;proxmark3 /dev/rfcomm0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Now the Proxmark LED should stop blinking and turn solid blue. THe Proxmark client should show the default interface.&lt;br /&gt;
&lt;br /&gt;
== Smart Card ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Antennas ==&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 optionally ships with high-frequency (hf) and low-frequency (lf) antenna kits. They include a medium and long-range antenna. The following will show the differences between them.&lt;br /&gt;
&lt;br /&gt;
=== High-Frequecy Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
The hf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-long-range-hf-antenna-1 lab401] says the range of the default antenna is about 40-85mm, medium-range antenna about 90mm, and the long-range has a reach of 100-120mm. A small test of mine concludes that this statement is only partially true. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf normal.jpg|thumb|none|x300px|Default HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf med.jpg|thumb|none|x300px|Medium-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf long.jpg|thumb|none|x300px|Long-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tested the range of 4 different cards:&lt;br /&gt;
&lt;br /&gt;
* Card 1: HF-Card shiped with the RDV4: NXP MIFARE CLASSIC 1k Gen1A S50&lt;br /&gt;
* Card 2: Student-Card: NXP MIFARE DESFire 4k &lt;br /&gt;
* Card 3: Portugal, Proto MetroCard:  Ultralight EV1 48bytes (MF0UL1101)&lt;br /&gt;
* Card 4: SkiData Card: EM-Marin SA (Skidata); EM4233&lt;br /&gt;
&lt;br /&gt;
 (!)  denotes that the readings were inconsistent:&lt;br /&gt;
      The card only got recognized from time to time&lt;br /&gt;
 (!!) denotes that the readings were &#039;&#039;&#039;very&#039;&#039;&#039; inconsistent:&lt;br /&gt;
      Only if lucky the card got recognized&lt;br /&gt;
 /    denotes that the card got not read at all&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default-Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Medium-Range Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Long-Range Antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Shipped HF-Card&lt;br /&gt;
| 8 cm&lt;br /&gt;
| (!!) 0 cm&lt;br /&gt;
| (!!) 2 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Student-Card&lt;br /&gt;
| 5 cm &lt;br /&gt;
| (!) 0 cm &lt;br /&gt;
| (!) 7 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Metro-Card&lt;br /&gt;
| 8 cm &lt;br /&gt;
| /&lt;br /&gt;
| (!) 11 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | SkiData-Card&lt;br /&gt;
| 7 cm &lt;br /&gt;
| 7 cm &lt;br /&gt;
| 11 cm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The results show that the antenna reach depends heavily on the card trying to read. The most consistent results came from the default-antenna that ships with the RDV4. As shown, the optional antennas did cope with the NXP Mifare cards very poorly but show improvements for the SkiData card.&lt;br /&gt;
&lt;br /&gt;
=== Low-Frequency Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
Sadly I do not have any lf-cards on hand and could not test the range of the given antennas.&lt;br /&gt;
&lt;br /&gt;
The lf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401] says the range of the default antenna is about 66 - 72mm, medium-range antenna about 90mm, and the long-range has a reach of 110 - 133mm. But as shown above for the hf-antenna this depends heavily on the lf-card itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf med.jpg|thumb|none|x300px|Medium-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf long.jpg|thumb|none|x300px|Long-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf switch.jpg|thumb|none|300px|LF-Antenna Switch]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional antennas come with 2 switches: (source: [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401])&lt;br /&gt;
&lt;br /&gt;
; Q-Switch&lt;br /&gt;
: The Q-Switch has two settings: 14 (Extended Range) and 7 (Extended Accuracy).&lt;br /&gt;
:: Q-Switch setting of 14 will give up to 30% further read range (on lf search / lf hid read etc commands).&lt;br /&gt;
:: Q-Switch setting of 7 will give better writing performance on T55XX and EM410XX tags.&lt;br /&gt;
&lt;br /&gt;
; Frequency Switch&lt;br /&gt;
: The frequency switch allows for tuning to specific tag types: 125KHz or 134KHz.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.proxmark.com&lt;br /&gt;
* https://www.hackerwarehouse.com&lt;br /&gt;
* https://www.lab401.com&lt;br /&gt;
* https://github.com/RfidResearchGroup/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt3.jpg&amp;diff=2622</id>
		<title>File:Prox bt3.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt3.jpg&amp;diff=2622"/>
		<updated>2020-01-28T21:37:55Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt2.jpg&amp;diff=2621</id>
		<title>File:Prox bt2.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt2.jpg&amp;diff=2621"/>
		<updated>2020-01-28T21:36:35Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt.jpg&amp;diff=2619</id>
		<title>File:Prox bt.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt.jpg&amp;diff=2619"/>
		<updated>2020-01-28T21:35:43Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt_cable2.jpg&amp;diff=2618</id>
		<title>File:Prox bt cable2.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt_cable2.jpg&amp;diff=2618"/>
		<updated>2020-01-28T21:35:00Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt_cable.jpg&amp;diff=2616</id>
		<title>File:Prox bt cable.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_bt_cable.jpg&amp;diff=2616"/>
		<updated>2020-01-28T21:34:09Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_remove_antenna.jpg&amp;diff=2615</id>
		<title>File:Prox remove antenna.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_remove_antenna.jpg&amp;diff=2615"/>
		<updated>2020-01-28T21:33:31Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_open_case.jpg&amp;diff=2610</id>
		<title>File:Prox open case.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_open_case.jpg&amp;diff=2610"/>
		<updated>2020-01-28T21:23:26Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2606</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2606"/>
		<updated>2020-01-28T21:05:59Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: Antennas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
[[File:Prox no case size.jpg|thumb|500px|Proxmark3 RDV4]]&lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low-level interactions with the vast majority of RFID/NFC tags and systems worldwide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open-source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, Bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
This write-up concentrates on the improvements of the RDV4 over the RDV2 and will not cover the basic operations. For more, please visit [[Proxmark3: Useful commands]] or [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the Bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the Bluetooth setting in the makefile: please follow the instructions at [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
== Smart Card ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Antennas ==&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 RDV4 optionally ships with high-frequency (hf) and low-frequency (lf) antenna kits. They include a medium and long-range antenna. The following will show the differences between them.&lt;br /&gt;
&lt;br /&gt;
=== High-Frequecy Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
The hf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-long-range-hf-antenna-1 lab401] says the range of the default antenna is about 40-85mm, medium-range antenna about 90mm, and the long-range has a reach of 100-120mm. A small test of mine concludes that this statement is only partially true. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf normal.jpg|thumb|none|x300px|Default HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf med.jpg|thumb|none|x300px|Medium-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox hf long.jpg|thumb|none|x300px|Long-Range HF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I tested the range of 4 different cards:&lt;br /&gt;
&lt;br /&gt;
* Card 1: HF-Card shiped with the RDV4: NXP MIFARE CLASSIC 1k Gen1A S50&lt;br /&gt;
* Card 2: Student-Card: NXP MIFARE DESFire 4k &lt;br /&gt;
* Card 3: Portugal, Proto MetroCard:  Ultralight EV1 48bytes (MF0UL1101)&lt;br /&gt;
* Card 4: SkiData Card: EM-Marin SA (Skidata); EM4233&lt;br /&gt;
&lt;br /&gt;
 (!)  denotes that the readings were inconsistent:&lt;br /&gt;
      The card only got recognized from time to time&lt;br /&gt;
 (!!) denotes that the readings were &#039;&#039;&#039;very&#039;&#039;&#039; inconsistent:&lt;br /&gt;
      Only if lucky the card got recognized&lt;br /&gt;
 /    denotes that the card got not read at all&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Card&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Default-Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Medium-Range Antenna&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Long-Range Antenna&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Shipped HF-Card&lt;br /&gt;
| 8 cm&lt;br /&gt;
| (!!) 0 cm&lt;br /&gt;
| (!!) 2 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Student-Card&lt;br /&gt;
| 5 cm &lt;br /&gt;
| (!) 0 cm &lt;br /&gt;
| (!) 7 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Metro-Card&lt;br /&gt;
| 8 cm &lt;br /&gt;
| /&lt;br /&gt;
| (!) 11 cm&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | SkiData-Card&lt;br /&gt;
| 7 cm &lt;br /&gt;
| 7 cm &lt;br /&gt;
| 11 cm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The results show that the antenna reach depends heavily on the card trying to read. The most consistent results came from the default-antenna that ships with the RDV4. As shown, the optional antennas did cope with the NXP Mifare cards very poorly but show improvements for the SkiData card.&lt;br /&gt;
&lt;br /&gt;
=== Low-Frequency Antenna Kit ===&lt;br /&gt;
&lt;br /&gt;
Sadly I do not have any lf-cards on hand and could not test the range of the given antennas.&lt;br /&gt;
&lt;br /&gt;
The lf-antenna kit comes with two antennas that are advertised as medium- and long-range antennas. The store [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401] says the range of the default antenna is about 66 - 72mm, medium-range antenna about 90mm, and the long-range has a reach of 110 - 133mm. But as shown above for the hf-antenna this depends heavily on the lf-card itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf med.jpg|thumb|none|x300px|Medium-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf long.jpg|thumb|none|x300px|Long-Range LF-Antenna]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:Prox lf switch.jpg|thumb|none|300px|LF-Antenna Switch]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The optional antennas come with 2 switches: (source: [https://lab401.com/products/proxmark-3-rdv4-01-long-range-lf-antenna-pack lab401])&lt;br /&gt;
&lt;br /&gt;
; Q-Switch&lt;br /&gt;
: The Q-Switch has two settings: 14 (Extended Range) and 7 (Extended Accuracy).&lt;br /&gt;
:: Q-Switch setting of 14 will give up to 30% further read range (on lf search / lf hid read etc commands).&lt;br /&gt;
:: Q-Switch setting of 7 will give better writing performance on T55XX and EM410XX tags.&lt;br /&gt;
&lt;br /&gt;
; Frequency Switch&lt;br /&gt;
: The frequency switch allows for tuning to specific tag types: 125KHz or 134KHz.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://www.proxmark.com&lt;br /&gt;
* https://www.hackerwarehouse.com&lt;br /&gt;
* https://www.lab401.com&lt;br /&gt;
* https://github.com/RfidResearchGroup/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_lf_switch.jpg&amp;diff=2605</id>
		<title>File:Prox lf switch.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_lf_switch.jpg&amp;diff=2605"/>
		<updated>2020-01-28T20:51:55Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_lf_long.jpg&amp;diff=2604</id>
		<title>File:Prox lf long.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_lf_long.jpg&amp;diff=2604"/>
		<updated>2020-01-28T20:51:46Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_lf_med.jpg&amp;diff=2603</id>
		<title>File:Prox lf med.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_lf_med.jpg&amp;diff=2603"/>
		<updated>2020-01-28T20:51:34Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_hf_long.jpg&amp;diff=2598</id>
		<title>File:Prox hf long.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_hf_long.jpg&amp;diff=2598"/>
		<updated>2020-01-28T20:08:47Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_hf_med.jpg&amp;diff=2597</id>
		<title>File:Prox hf med.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_hf_med.jpg&amp;diff=2597"/>
		<updated>2020-01-28T20:08:38Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_hf_normal.jpg&amp;diff=2594</id>
		<title>File:Prox hf normal.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_hf_normal.jpg&amp;diff=2594"/>
		<updated>2020-01-28T20:08:01Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_no_case_size.jpg&amp;diff=2593</id>
		<title>File:Prox no case size.jpg</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Prox_no_case_size.jpg&amp;diff=2593"/>
		<updated>2020-01-28T20:02:44Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2592</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2592"/>
		<updated>2020-01-28T19:57:46Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low-level interactions with the vast majority of RFID/NFC tags and systems worldwide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open-source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, Bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the Bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the Bluetooth setting in the makefile: please follow the instructions at [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
== Smart Card &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* proxmark.com&lt;br /&gt;
* hackerwarehouse.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2537</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2537"/>
		<updated>2020-01-27T21:49:58Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low level interactions with the vast majority of RFID/NFC tags and systems world-wide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
To use the bluetooth module &amp;amp; for new features of the RDV4 use the new [https://github.com/RfidResearchGroup/proxmark3.git new repository]&lt;br /&gt;
&lt;br /&gt;
Setting-up &amp;amp; compiling are explained in the [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md original documentation]&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bluetooth Module ==&lt;br /&gt;
&lt;br /&gt;
With the Blue-Shark Module it is now possible to wirelessly communicate with the Proxmark RDV4!&lt;br /&gt;
&lt;br /&gt;
To enable this feature you need to install the newest  RfidResearchGroup/proxmark3 repo and enable the bluetooth setting in the makefile: please follow the instructions at [https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/bt_manual_v10.md Blue Shark Installation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* proxmark.com&lt;br /&gt;
* hackerwarehouse.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Installation&amp;diff=2530</id>
		<title>Proxmark3: Installation</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Installation&amp;diff=2530"/>
		<updated>2020-01-27T20:44:50Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Installation of [[Proxmark3 RDV2 Kit|Proxmark3]] on macOS, Linux and Windows for RFID and NFC sniffing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt;&lt;br /&gt;
To use the Bluetooth Module of the Proxmark3 RDV4 you need to install the https://github.com/RfidResearchGroup/proxmark3.git repository&lt;br /&gt;
&lt;br /&gt;
For installing on Linux please visit https://github.com/RfidResearchGroup/proxmark3/blob/master/doc/md/Installation_Instructions/Linux-Installation-Instructions.md&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MacOS installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
Xcode (AppStore) is a must.&lt;br /&gt;
&lt;br /&gt;
In addition to make the installation easier have either HomeBrew or MacPorts ready.&lt;br /&gt;
A Tutorial for installing:&lt;br /&gt;
 A) HomeBrew: https://docs.brew.sh/Installation&lt;br /&gt;
 B) MacPorts: https://www.macports.org/install.php&lt;br /&gt;
&lt;br /&gt;
Because of their different architecture (HomeBrew/MacPorts), some parts of this tutorial are split into:&lt;br /&gt;
 A) Installation with HomeBrew&lt;br /&gt;
 B) Installation with MacPorts&lt;br /&gt;
Just choose the tutorial that suits your current setup.&lt;br /&gt;
&lt;br /&gt;
=== Installation with HomeBrew ===&lt;br /&gt;
&lt;br /&gt;
1. Download (&amp;quot;tap&amp;quot;) the proxmark repository:&lt;br /&gt;
&lt;br /&gt;
   brew tap proxmark/proxmark3&lt;br /&gt;
&lt;br /&gt;
2. Install proxmark3:&lt;br /&gt;
&lt;br /&gt;
   brew install proxmark3&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation ===&lt;br /&gt;
&lt;br /&gt;
Download the drivers and install them.&lt;br /&gt;
If you have MacPorts:&lt;br /&gt;
&lt;br /&gt;
   sudo port install p7zip readline libusb libusb-compat perl5 wget qt5\\ arm-none-eabi-gcc pkgconfig&lt;br /&gt;
&lt;br /&gt;
If you have HomeBrew:&lt;br /&gt;
&lt;br /&gt;
   brew tap nitsky/stm32&lt;br /&gt;
   brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig\\ arm-none-eabi-gcc&lt;br /&gt;
&lt;br /&gt;
Now you will need to add QT to the PKG_CONFIG_PATH so it find QT5 (replace YOUR_VERSION with your version number:&lt;br /&gt;
&lt;br /&gt;
   export\\ PKG_CONFIG_PATH=/usr/local/Cellar/qt5/&amp;lt;&amp;lt;YOUR_VERSION&amp;gt;&amp;gt;/lib/pkgconfig/&lt;br /&gt;
&lt;br /&gt;
3. And add moc_location in Qt5Core.pc file:&lt;br /&gt;
&lt;br /&gt;
   export QT_PKG_CONFIG_QT5CORE=$(find /usr -name Qt5Core.pc 2&amp;gt;/dev/null)&lt;br /&gt;
   chmod 666 $QT_PKG_CONFIG_QT5CORE&lt;br /&gt;
   echo &amp;quot;moc_location=\${prefix}/bin/moc&amp;quot; &amp;gt;&amp;gt; $QT_PKG_CONFIG_QT5CORE&lt;br /&gt;
   chmod 444 $QT_PKG_CONFIG_QT5CORE&lt;br /&gt;
&lt;br /&gt;
4. For link creation to avoid any errors of &amp;quot;readline&amp;quot; (may happen):&lt;br /&gt;
&lt;br /&gt;
   brew link --force readline&lt;br /&gt;
&lt;br /&gt;
5. Now either git clone or manually download the Proxmark project. Git clone:&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/Proxmark/proxmark3.git&lt;br /&gt;
&lt;br /&gt;
6. &amp;quot;cd&amp;quot; to the proxmark3 folder&lt;br /&gt;
&lt;br /&gt;
7. Now jump to the section &amp;quot;Connecting your Proxmark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connecting your Proxmark ===&lt;br /&gt;
&lt;br /&gt;
1. Insert your Proxmark and run&lt;br /&gt;
&lt;br /&gt;
   system_profiler SPUSBDataType&lt;br /&gt;
&lt;br /&gt;
2.a) If your Proxmark is CDC you should somewhere see in the output:&lt;br /&gt;
&lt;br /&gt;
   Product ID: 0x504d&lt;br /&gt;
   Vendor ID: 0x2d2d&lt;br /&gt;
&lt;br /&gt;
2.b) If your Proxmark is an HID device you should see:&lt;br /&gt;
&lt;br /&gt;
   Product ID: 0x4b8f&lt;br /&gt;
   Vendor ID: 0x9ac4&lt;br /&gt;
&lt;br /&gt;
If it is an HID Device you will need to upgrade it, then go to &amp;quot;Upgrading my Proxmark HID-&amp;gt;CDC&amp;quot;&lt;br /&gt;
If you have an CDC Proxmark you can jump to &amp;quot;Finish Line&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Upgrading my Proxmark HID-&amp;gt;CDC ===&lt;br /&gt;
&lt;br /&gt;
1. Compile the bootrom, OS and software:&lt;br /&gt;
&lt;br /&gt;
   make clean; make&lt;br /&gt;
&lt;br /&gt;
2. Also compile the HID compatible flash program:&lt;br /&gt;
&lt;br /&gt;
   cd client/hid-flasher;make&lt;br /&gt;
&lt;br /&gt;
3. Disconnect Apple&#039;s HID driver, by installing a dummy kernel driver:&lt;br /&gt;
&lt;br /&gt;
   sudo make install_kext&lt;br /&gt;
   sudo kextcache -system-caches&lt;br /&gt;
&lt;br /&gt;
4. Keep the Proxmark button pressed while reconnecting it to USB. Its yellow and red lights should light up (you can release the button after 5-ish seconds).&lt;br /&gt;
&lt;br /&gt;
5. Now upgrade the bootrom:&lt;br /&gt;
&lt;br /&gt;
   ./flasher -b ../../bootrom/obj/bootrom.elf&lt;br /&gt;
&lt;br /&gt;
6. cd ../..&lt;br /&gt;
&lt;br /&gt;
7. Disconnect your proxmark and keep the button pressed while reconnecting to USB.&lt;br /&gt;
&lt;br /&gt;
8. While keeping the button pressed run to get the device name:&lt;br /&gt;
&lt;br /&gt;
   ls /dev/cu*&lt;br /&gt;
&lt;br /&gt;
You should find a name like &amp;quot;/dev/cu.usbmodem####&amp;quot; (#### represents a number).&lt;br /&gt;
&lt;br /&gt;
9. While still KEEPING PRESSED the button update the FPGA and its OS:&lt;br /&gt;
&lt;br /&gt;
   ./client/flasher /dev/cu.usbmodem#### armsrc/obj/fullimage.elf&lt;br /&gt;
&lt;br /&gt;
10. Disconnect the proxmark and release the button.&lt;br /&gt;
&lt;br /&gt;
11. Now reconnect your proxmark to USB and run it:&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3/client&lt;br /&gt;
   ./proxmark3 /dev/cu.usbmodem####&lt;br /&gt;
&lt;br /&gt;
No need to go to &amp;quot;Finish Line&amp;quot;, you are already finished with setting up the Proxmark Environment&lt;br /&gt;
&lt;br /&gt;
=== Finish Line ===&lt;br /&gt;
&lt;br /&gt;
1. Compile the bootrom and OS:&lt;br /&gt;
&lt;br /&gt;
   make clean; make&lt;br /&gt;
&lt;br /&gt;
2. Disconnect your Proxmark from USB. Then keep the button pressed while reconnecting it back to USB. You can release the button when you see yellow/orange and red lights on your proxmark. (If you have an Elechouse v2 Proxmark3 or Elechouse v3 Proxmark3 Easy you do not need to press the button)&lt;br /&gt;
&lt;br /&gt;
3. Figure out your device name:&lt;br /&gt;
&lt;br /&gt;
   ls /dev/cu*&lt;br /&gt;
&lt;br /&gt;
It should be something with /dev/cu.usbmodem#### (#### represents a number).&lt;br /&gt;
&lt;br /&gt;
4. After you have found your device run the program:&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3/client&lt;br /&gt;
   ./proxmark3 /dev/cu.usbmodem####&lt;br /&gt;
&lt;br /&gt;
== Linux installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: Ubuntu 16.04 trusty amd64&lt;br /&gt;
&lt;br /&gt;
=== Step 1 Compile resources:===&lt;br /&gt;
&lt;br /&gt;
1. download and install some needed packages and libs&lt;br /&gt;
&lt;br /&gt;
   sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib&lt;br /&gt;
&lt;br /&gt;
2. clone proxmark3 git repository&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/proxmark/proxmark3.git&lt;br /&gt;
&lt;br /&gt;
3. enter repo&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3&lt;br /&gt;
&lt;br /&gt;
4. get newest version&lt;br /&gt;
&lt;br /&gt;
   git pull&lt;br /&gt;
&lt;br /&gt;
5. Install the blacklist rules&lt;br /&gt;
&lt;br /&gt;
   sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&lt;br /&gt;
   sudo udevadm control --reload-rules&lt;br /&gt;
&lt;br /&gt;
6. add current user to group&lt;br /&gt;
&lt;br /&gt;
   sudo adduser $USER dialout&lt;br /&gt;
&lt;br /&gt;
7. log out and log into your account&lt;br /&gt;
&lt;br /&gt;
8. compile proxmark3&lt;br /&gt;
&lt;br /&gt;
   make clean &amp;amp;&amp;amp; make all&lt;br /&gt;
&lt;br /&gt;
=== Step 2 Identify  proxmark3 device ===&lt;br /&gt;
&lt;br /&gt;
   dmesg | grep -i usb&lt;br /&gt;
   [ 9704.503904] usb 1-3: Manufacturer: proxmark.org&lt;br /&gt;
   [ 9704.539638] cdc_acm 1-3:1.0: ttyACM0: USB ACM device&lt;br /&gt;
&lt;br /&gt;
=== Step 3 Flash the firmware of the proxmark ===&lt;br /&gt;
&lt;br /&gt;
!!! Do &#039;&#039;&#039;NOT&#039;&#039;&#039; press enter during the flashing process !!!&lt;br /&gt;
&lt;br /&gt;
   ./client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf&lt;br /&gt;
&lt;br /&gt;
=== Step 4 Start the proxmark3 client ===&lt;br /&gt;
&lt;br /&gt;
   ./client/proxmark3 /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
== Windows installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
The tested Version for Windows was Windows 10, therefore the requirements for successfully completing our installation guide are:&lt;br /&gt;
* Windows 10&lt;br /&gt;
* [https://git-scm.com/download/win Git for Windows]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
In order to be able to connect to your Proxmark3 under Windows you need to emulate a Linux environment which is done through a tool called ProxSpace.&lt;br /&gt;
&lt;br /&gt;
1. First you need to download the download the ProxSpace Repository through git.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Caution!&#039;&#039;&#039; Your current working directory should contain no whitespaces!&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/Gator96100/ProxSpace.git&lt;br /&gt;
&lt;br /&gt;
2. Inside your ProxSpace Folder you should find &amp;quot;runme.bat&amp;quot;. Start it.&lt;br /&gt;
&lt;br /&gt;
3. This will create and install all necessary packets and folders. After you should see the pm3-console.&lt;br /&gt;
&lt;br /&gt;
4. From this console you should change the directory to ProxSpace and download the Proxmark3 Repository:&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/Proxmark/proxmark3.git&lt;br /&gt;
&lt;br /&gt;
5. After this process is complete, cd to the proxmark3 directory:&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3&lt;br /&gt;
&lt;br /&gt;
6. Compile the proxmark3 project:&lt;br /&gt;
&lt;br /&gt;
   make clean &amp;amp;&amp;amp; make all&lt;br /&gt;
&lt;br /&gt;
7. Install the proxmark3 driver&lt;br /&gt;
&lt;br /&gt;
==== Windows 10 ====&lt;br /&gt;
Since this driver is not officially signed by a trusted authority the installation is a bit tricky. You first have to start Windows in save-mode. This is done easiest, when pressing the shift-key while restarting your PC. On reboot you choose Startup-Settings followed by #7 Disable driver signature enforcement.&lt;br /&gt;
After the computer restarted you connect the proxmark3 and go to the device manager, right click on the non-identified device (which is the proxmark3) and go to the settings. Click on update driver and search locally for the proxmark3.inf. If you have trouble getting the proxmark3 driver to work, please visit this [[https://store.ryscc.com/blogs/news/how-to-install-a-proxmark3-driver-on-windows-10 picture-guided tutorial]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After, the installation should be complete and you can safely restart your PC to normal mode again. From there start the runme.bat and the pm3-console should appear.&lt;br /&gt;
&lt;br /&gt;
==== Windows 7 ====&lt;br /&gt;
[[File:Win7-disable-driversignature.png|520px|right]]&lt;br /&gt;
&lt;br /&gt;
* Start command prompt (cmd.exe) as &#039;&#039;&#039;administrator&#039;&#039;&#039; and execute:&lt;br /&gt;
&lt;br /&gt;
  bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS&lt;br /&gt;
  bcdedit.exe -set TESTSIGNING ON&lt;br /&gt;
&lt;br /&gt;
* Open the device manager, right-click on the unknow device &amp;quot;proxmark3&amp;quot; and select &amp;quot;update&amp;quot;&lt;br /&gt;
* Select the manual driver selection, and within your &#039;&#039;ProxSpace&#039;&#039; folder select the &#039;&#039;msys2\proxmark3\driver&#039;&#039; subfolder&lt;br /&gt;
&lt;br /&gt;
After the successful driver setup you may want to disable testsigning again, and restart windows&lt;br /&gt;
&lt;br /&gt;
  bcdedit.exe -set TESTSIGNING OFF&lt;br /&gt;
&lt;br /&gt;
=== Update your Proxmark3 ===&lt;br /&gt;
&lt;br /&gt;
To update the firmware of your Proxmark3 to the latest version, open cmd and type in (with x standing for the right number of your COM port, e.g. COM2):&lt;br /&gt;
&lt;br /&gt;
   ./proxmark/client/flasher COMx -b /bootrom/obj/bootrom.elf&lt;br /&gt;
   ./proxmark/client/flasher COMX ./armsrc/obj/fullimage.elf&lt;br /&gt;
&lt;br /&gt;
=== Connecting to your Proxmark3 ===&lt;br /&gt;
&lt;br /&gt;
After having done all the steps above you can safely connect to your Proxmark3 through (where x again stands for the right number of your COM port, e.g. COM2):&lt;br /&gt;
&lt;br /&gt;
   ./client/proxmark3.exe COMx&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
For using the Proxmark3 please visit our second documentation [[Proxmark3: Useful commands]] and feel free to have a look at the [https://github.com/Proxmark/proxmark3 Proxmark Repository!]&lt;br /&gt;
&lt;br /&gt;
== Resources and Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* Client commands: https://github.com/Proxmark/proxmark3/wiki/commands&lt;br /&gt;
* Usage example: https://www.youtube.com/watch?v=FODGYfhqb4Q&lt;br /&gt;
* Basic tutorial for RFID usage: https://blog.kchung.co/rfid-hacking-with-the-proxmark-3/&lt;br /&gt;
* Advanced tutorial: https://blog.kchung.co/rfid-hacking-with-the-proxmark-3/&lt;br /&gt;
* Capture NFC traffic of apple pay transaction: https://salmg.net/2017/12/29/analyzing-an-apple-pay-transaction-with-proxmark3/&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark 3]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Product page and infos: https://www.elechouse.com/elechouse/index.php?main_page=product_info&amp;amp;cPath=90_93&amp;amp;products_id=2264&amp;amp;zenid=kmvhiob7nq1orc4pfjtf53sbr7&lt;br /&gt;
* Manual: https://www.elechouse.com/elechouse/images/product/proxmark3_V2/Proxmark3%20V2%20User%20Guid.pdf&lt;br /&gt;
* MacOS 10.x client installation: https://github.com/Proxmark/proxmark3/wiki/MacOS&lt;br /&gt;
* Linux 16.04 client installation: https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux&lt;br /&gt;
* Windows 10 client installation: https://github.com/Proxmark/proxmark3/wiki/Windows&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Installation&amp;diff=2528</id>
		<title>Proxmark3: Installation</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Installation&amp;diff=2528"/>
		<updated>2020-01-27T19:09:28Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Installation of [[Proxmark3 RDV2 Kit|Proxmark3]] on macOS, Linux and Windows for RFID and NFC sniffing.&lt;br /&gt;
&lt;br /&gt;
== MacOS installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
Xcode (AppStore) is a must.&lt;br /&gt;
&lt;br /&gt;
In addition to make the installation easier have either HomeBrew or MacPorts ready.&lt;br /&gt;
A Tutorial for installing:&lt;br /&gt;
 A) HomeBrew: https://docs.brew.sh/Installation&lt;br /&gt;
 B) MacPorts: https://www.macports.org/install.php&lt;br /&gt;
&lt;br /&gt;
Because of their different architecture (HomeBrew/MacPorts), some parts of this tutorial are split into:&lt;br /&gt;
 A) Installation with HomeBrew&lt;br /&gt;
 B) Installation with MacPorts&lt;br /&gt;
Just choose the tutorial that suits your current setup.&lt;br /&gt;
&lt;br /&gt;
=== Installation with HomeBrew ===&lt;br /&gt;
&lt;br /&gt;
1. Download (&amp;quot;tap&amp;quot;) the proxmark repository:&lt;br /&gt;
&lt;br /&gt;
   brew tap proxmark/proxmark3&lt;br /&gt;
&lt;br /&gt;
2. Install proxmark3:&lt;br /&gt;
&lt;br /&gt;
   brew install proxmark3&lt;br /&gt;
&lt;br /&gt;
=== Manual Installation ===&lt;br /&gt;
&lt;br /&gt;
Download the drivers and install them.&lt;br /&gt;
If you have MacPorts:&lt;br /&gt;
&lt;br /&gt;
   sudo port install p7zip readline libusb libusb-compat perl5 wget qt5\\ arm-none-eabi-gcc pkgconfig&lt;br /&gt;
&lt;br /&gt;
If you have HomeBrew:&lt;br /&gt;
&lt;br /&gt;
   brew tap nitsky/stm32&lt;br /&gt;
   brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig\\ arm-none-eabi-gcc&lt;br /&gt;
&lt;br /&gt;
Now you will need to add QT to the PKG_CONFIG_PATH so it find QT5 (replace YOUR_VERSION with your version number:&lt;br /&gt;
&lt;br /&gt;
   export\\ PKG_CONFIG_PATH=/usr/local/Cellar/qt5/&amp;lt;&amp;lt;YOUR_VERSION&amp;gt;&amp;gt;/lib/pkgconfig/&lt;br /&gt;
&lt;br /&gt;
3. And add moc_location in Qt5Core.pc file:&lt;br /&gt;
&lt;br /&gt;
   export QT_PKG_CONFIG_QT5CORE=$(find /usr -name Qt5Core.pc 2&amp;gt;/dev/null)&lt;br /&gt;
   chmod 666 $QT_PKG_CONFIG_QT5CORE&lt;br /&gt;
   echo &amp;quot;moc_location=\${prefix}/bin/moc&amp;quot; &amp;gt;&amp;gt; $QT_PKG_CONFIG_QT5CORE&lt;br /&gt;
   chmod 444 $QT_PKG_CONFIG_QT5CORE&lt;br /&gt;
&lt;br /&gt;
4. For link creation to avoid any errors of &amp;quot;readline&amp;quot; (may happen):&lt;br /&gt;
&lt;br /&gt;
   brew link --force readline&lt;br /&gt;
&lt;br /&gt;
5. Now either git clone or manually download the Proxmark project. Git clone:&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/Proxmark/proxmark3.git&lt;br /&gt;
&lt;br /&gt;
6. &amp;quot;cd&amp;quot; to the proxmark3 folder&lt;br /&gt;
&lt;br /&gt;
7. Now jump to the section &amp;quot;Connecting your Proxmark&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connecting your Proxmark ===&lt;br /&gt;
&lt;br /&gt;
1. Insert your Proxmark and run&lt;br /&gt;
&lt;br /&gt;
   system_profiler SPUSBDataType&lt;br /&gt;
&lt;br /&gt;
2.a) If your Proxmark is CDC you should somewhere see in the output:&lt;br /&gt;
&lt;br /&gt;
   Product ID: 0x504d&lt;br /&gt;
   Vendor ID: 0x2d2d&lt;br /&gt;
&lt;br /&gt;
2.b) If your Proxmark is an HID device you should see:&lt;br /&gt;
&lt;br /&gt;
   Product ID: 0x4b8f&lt;br /&gt;
   Vendor ID: 0x9ac4&lt;br /&gt;
&lt;br /&gt;
If it is an HID Device you will need to upgrade it, then go to &amp;quot;Upgrading my Proxmark HID-&amp;gt;CDC&amp;quot;&lt;br /&gt;
If you have an CDC Proxmark you can jump to &amp;quot;Finish Line&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Upgrading my Proxmark HID-&amp;gt;CDC ===&lt;br /&gt;
&lt;br /&gt;
1. Compile the bootrom, OS and software:&lt;br /&gt;
&lt;br /&gt;
   make clean; make&lt;br /&gt;
&lt;br /&gt;
2. Also compile the HID compatible flash program:&lt;br /&gt;
&lt;br /&gt;
   cd client/hid-flasher;make&lt;br /&gt;
&lt;br /&gt;
3. Disconnect Apple&#039;s HID driver, by installing a dummy kernel driver:&lt;br /&gt;
&lt;br /&gt;
   sudo make install_kext&lt;br /&gt;
   sudo kextcache -system-caches&lt;br /&gt;
&lt;br /&gt;
4. Keep the Proxmark button pressed while reconnecting it to USB. Its yellow and red lights should light up (you can release the button after 5-ish seconds).&lt;br /&gt;
&lt;br /&gt;
5. Now upgrade the bootrom:&lt;br /&gt;
&lt;br /&gt;
   ./flasher -b ../../bootrom/obj/bootrom.elf&lt;br /&gt;
&lt;br /&gt;
6. cd ../..&lt;br /&gt;
&lt;br /&gt;
7. Disconnect your proxmark and keep the button pressed while reconnecting to USB.&lt;br /&gt;
&lt;br /&gt;
8. While keeping the button pressed run to get the device name:&lt;br /&gt;
&lt;br /&gt;
   ls /dev/cu*&lt;br /&gt;
&lt;br /&gt;
You should find a name like &amp;quot;/dev/cu.usbmodem####&amp;quot; (#### represents a number).&lt;br /&gt;
&lt;br /&gt;
9. While still KEEPING PRESSED the button update the FPGA and its OS:&lt;br /&gt;
&lt;br /&gt;
   ./client/flasher /dev/cu.usbmodem#### armsrc/obj/fullimage.elf&lt;br /&gt;
&lt;br /&gt;
10. Disconnect the proxmark and release the button.&lt;br /&gt;
&lt;br /&gt;
11. Now reconnect your proxmark to USB and run it:&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3/client&lt;br /&gt;
   ./proxmark3 /dev/cu.usbmodem####&lt;br /&gt;
&lt;br /&gt;
No need to go to &amp;quot;Finish Line&amp;quot;, you are already finished with setting up the Proxmark Environment&lt;br /&gt;
&lt;br /&gt;
=== Finish Line ===&lt;br /&gt;
&lt;br /&gt;
1. Compile the bootrom and OS:&lt;br /&gt;
&lt;br /&gt;
   make clean; make&lt;br /&gt;
&lt;br /&gt;
2. Disconnect your Proxmark from USB. Then keep the button pressed while reconnecting it back to USB. You can release the button when you see yellow/orange and red lights on your proxmark. (If you have an Elechouse v2 Proxmark3 or Elechouse v3 Proxmark3 Easy you do not need to press the button)&lt;br /&gt;
&lt;br /&gt;
3. Figure out your device name:&lt;br /&gt;
&lt;br /&gt;
   ls /dev/cu*&lt;br /&gt;
&lt;br /&gt;
It should be something with /dev/cu.usbmodem#### (#### represents a number).&lt;br /&gt;
&lt;br /&gt;
4. After you have found your device run the program:&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3/client&lt;br /&gt;
   ./proxmark3 /dev/cu.usbmodem####&lt;br /&gt;
&lt;br /&gt;
== Linux installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
* Operating system: Ubuntu 16.04 trusty amd64&lt;br /&gt;
&lt;br /&gt;
=== Step 1 Compile resources:===&lt;br /&gt;
&lt;br /&gt;
1. download and install some needed packages and libs&lt;br /&gt;
&lt;br /&gt;
   sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib&lt;br /&gt;
&lt;br /&gt;
2. clone proxmark3 git repository&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/proxmark/proxmark3.git&lt;br /&gt;
&lt;br /&gt;
3. enter repo&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3&lt;br /&gt;
&lt;br /&gt;
4. get newest version&lt;br /&gt;
&lt;br /&gt;
   git pull&lt;br /&gt;
&lt;br /&gt;
5. Install the blacklist rules&lt;br /&gt;
&lt;br /&gt;
   sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&lt;br /&gt;
   sudo udevadm control --reload-rules&lt;br /&gt;
&lt;br /&gt;
6. add current user to group&lt;br /&gt;
&lt;br /&gt;
   sudo adduser $USER dialout&lt;br /&gt;
&lt;br /&gt;
7. log out and log into your account&lt;br /&gt;
&lt;br /&gt;
8. compile proxmark3&lt;br /&gt;
&lt;br /&gt;
   make clean &amp;amp;&amp;amp; make all&lt;br /&gt;
&lt;br /&gt;
=== Step 2 Identify  proxmark3 device ===&lt;br /&gt;
&lt;br /&gt;
   dmesg | grep -i usb&lt;br /&gt;
   [ 9704.503904] usb 1-3: Manufacturer: proxmark.org&lt;br /&gt;
   [ 9704.539638] cdc_acm 1-3:1.0: ttyACM0: USB ACM device&lt;br /&gt;
&lt;br /&gt;
=== Step 3 Flash the firmware of the proxmark ===&lt;br /&gt;
&lt;br /&gt;
!!! Do &#039;&#039;&#039;NOT&#039;&#039;&#039; press enter during the flashing process !!!&lt;br /&gt;
&lt;br /&gt;
   ./client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf&lt;br /&gt;
&lt;br /&gt;
=== Step 4 Start the proxmark3 client ===&lt;br /&gt;
&lt;br /&gt;
   ./client/proxmark3 /dev/ttyACM0&lt;br /&gt;
&lt;br /&gt;
== Windows installation ==&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
The tested Version for Windows was Windows 10, therefore the requirements for successfully completing our installation guide are:&lt;br /&gt;
* Windows 10&lt;br /&gt;
* [https://git-scm.com/download/win Git for Windows]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
In order to be able to connect to your Proxmark3 under Windows you need to emulate a Linux environment which is done through a tool called ProxSpace.&lt;br /&gt;
&lt;br /&gt;
1. First you need to download the download the ProxSpace Repository through git.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Caution!&#039;&#039;&#039; Your current working directory should contain no whitespaces!&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/Gator96100/ProxSpace.git&lt;br /&gt;
&lt;br /&gt;
2. Inside your ProxSpace Folder you should find &amp;quot;runme.bat&amp;quot;. Start it.&lt;br /&gt;
&lt;br /&gt;
3. This will create and install all necessary packets and folders. After you should see the pm3-console.&lt;br /&gt;
&lt;br /&gt;
4. From this console you should change the directory to ProxSpace and download the Proxmark3 Repository:&lt;br /&gt;
&lt;br /&gt;
   git clone https://github.com/Proxmark/proxmark3.git&lt;br /&gt;
&lt;br /&gt;
5. After this process is complete, cd to the proxmark3 directory:&lt;br /&gt;
&lt;br /&gt;
   cd proxmark3&lt;br /&gt;
&lt;br /&gt;
6. Compile the proxmark3 project:&lt;br /&gt;
&lt;br /&gt;
   make clean &amp;amp;&amp;amp; make all&lt;br /&gt;
&lt;br /&gt;
7. Install the proxmark3 driver&lt;br /&gt;
&lt;br /&gt;
==== Windows 10 ====&lt;br /&gt;
Since this driver is not officially signed by a trusted authority the installation is a bit tricky. You first have to start Windows in save-mode. This is done easiest, when pressing the shift-key while restarting your PC. On reboot you choose Startup-Settings followed by #7 Disable driver signature enforcement.&lt;br /&gt;
After the computer restarted you connect the proxmark3 and go to the device manager, right click on the non-identified device (which is the proxmark3) and go to the settings. Click on update driver and search locally for the proxmark3.inf. If you have trouble getting the proxmark3 driver to work, please visit this [[https://store.ryscc.com/blogs/news/how-to-install-a-proxmark3-driver-on-windows-10 picture-guided tutorial]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After, the installation should be complete and you can safely restart your PC to normal mode again. From there start the runme.bat and the pm3-console should appear.&lt;br /&gt;
&lt;br /&gt;
==== Windows 7 ====&lt;br /&gt;
[[File:Win7-disable-driversignature.png|520px|right]]&lt;br /&gt;
&lt;br /&gt;
* Start command prompt (cmd.exe) as &#039;&#039;&#039;administrator&#039;&#039;&#039; and execute:&lt;br /&gt;
&lt;br /&gt;
  bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS&lt;br /&gt;
  bcdedit.exe -set TESTSIGNING ON&lt;br /&gt;
&lt;br /&gt;
* Open the device manager, right-click on the unknow device &amp;quot;proxmark3&amp;quot; and select &amp;quot;update&amp;quot;&lt;br /&gt;
* Select the manual driver selection, and within your &#039;&#039;ProxSpace&#039;&#039; folder select the &#039;&#039;msys2\proxmark3\driver&#039;&#039; subfolder&lt;br /&gt;
&lt;br /&gt;
After the successful driver setup you may want to disable testsigning again, and restart windows&lt;br /&gt;
&lt;br /&gt;
  bcdedit.exe -set TESTSIGNING OFF&lt;br /&gt;
&lt;br /&gt;
=== Update your Proxmark3 ===&lt;br /&gt;
&lt;br /&gt;
To update the firmware of your Proxmark3 to the latest version, open cmd and type in (with x standing for the right number of your COM port, e.g. COM2):&lt;br /&gt;
&lt;br /&gt;
   ./proxmark/client/flasher COMx -b /bootrom/obj/bootrom.elf&lt;br /&gt;
   ./proxmark/client/flasher COMX ./armsrc/obj/fullimage.elf&lt;br /&gt;
&lt;br /&gt;
=== Connecting to your Proxmark3 ===&lt;br /&gt;
&lt;br /&gt;
After having done all the steps above you can safely connect to your Proxmark3 through (where x again stands for the right number of your COM port, e.g. COM2):&lt;br /&gt;
&lt;br /&gt;
   ./client/proxmark3.exe COMx&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
For using the Proxmark3 please visit our second documentation [[Proxmark3: Useful commands]] and feel free to have a look at the [https://github.com/Proxmark/proxmark3 Proxmark Repository!]&lt;br /&gt;
&lt;br /&gt;
== Resources and Tutorials ==&lt;br /&gt;
&lt;br /&gt;
* Client commands: https://github.com/Proxmark/proxmark3/wiki/commands&lt;br /&gt;
* Usage example: https://www.youtube.com/watch?v=FODGYfhqb4Q&lt;br /&gt;
* Basic tutorial for RFID usage: https://blog.kchung.co/rfid-hacking-with-the-proxmark-3/&lt;br /&gt;
* Advanced tutorial: https://blog.kchung.co/rfid-hacking-with-the-proxmark-3/&lt;br /&gt;
* Capture NFC traffic of apple pay transaction: https://salmg.net/2017/12/29/analyzing-an-apple-pay-transaction-with-proxmark3/&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark 3]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* Product page and infos: https://www.elechouse.com/elechouse/index.php?main_page=product_info&amp;amp;cPath=90_93&amp;amp;products_id=2264&amp;amp;zenid=kmvhiob7nq1orc4pfjtf53sbr7&lt;br /&gt;
* Manual: https://www.elechouse.com/elechouse/images/product/proxmark3_V2/Proxmark3%20V2%20User%20Guid.pdf&lt;br /&gt;
* MacOS 10.x client installation: https://github.com/Proxmark/proxmark3/wiki/MacOS&lt;br /&gt;
* Linux 16.04 client installation: https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux&lt;br /&gt;
* Windows 10 client installation: https://github.com/Proxmark/proxmark3/wiki/Windows&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2527</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2527"/>
		<updated>2020-01-27T12:57:13Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
The Proxmark is an RFID swiss-army tool, allowing for both high and low level interactions with the vast majority of RFID/NFC tags and systems world-wide (proxmark.com).&lt;br /&gt;
&lt;br /&gt;
The Proxmark3 Dev Kit 4 (RDV4) is more compact and portable than the older versions and brings various improvements to the open source design. Antennas are highly customizable and there is a new multifunction multiplexing interface to support additional components such as external battery, external active high powered antenna, bluetooth interfaces and SIM/Smart card reader (hackerwarehouse.com).&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3 RDV4&lt;br /&gt;
&lt;br /&gt;
In order to complete these steps, you must have updated the Proxmark3 RDV4 to the latest repository before. At the moment of writing the Proxmark3 RDV2 and RDV4 share the same repository and the same source code.&lt;br /&gt;
&lt;br /&gt;
Therefore, follow [[Proxmark3: Installation]] to create a working proxmark environment.&lt;br /&gt;
&lt;br /&gt;
For a quick introduction to the default commands please visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4 Kit]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 BT &amp;amp; Battery Addon Blue Shark]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 HF Antennas]]&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV4.0 LF Antennas]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* proxmark.com&lt;br /&gt;
* hackerwarehouse.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2526</id>
		<title>Proxmark3 RDV4</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3_RDV4&amp;diff=2526"/>
		<updated>2020-01-27T12:39:34Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: Created page with &amp;quot;== Summary ==   Description what this documentation is about  == Requirements ==  * Operating system: Ubuntu 18.04 bionic amd64 * Packages: git emacs  In order to complete the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description what this documentation is about&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Operating system: Ubuntu 18.04 bionic amd64&lt;br /&gt;
* Packages: git emacs&lt;br /&gt;
&lt;br /&gt;
In order to complete these steps, you must have followed [[Some Other Documentation]] before.&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1 ===&lt;br /&gt;
&lt;br /&gt;
Enter these commands in the shell&lt;br /&gt;
&lt;br /&gt;
 echo foo&lt;br /&gt;
 echo bar&lt;br /&gt;
&lt;br /&gt;
=== Step 2 ===&lt;br /&gt;
&lt;br /&gt;
Make sure to read&lt;br /&gt;
&lt;br /&gt;
* War and Peace&lt;br /&gt;
* Lord of the Rings&lt;br /&gt;
* The Baroque Cycle&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Device to be used with this documentation]]&lt;br /&gt;
[[Maybe another device to be used with this documentation]]&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
* [[A course where this documentation was used]] (2017, 2018)&lt;br /&gt;
* [[Another one]] (2018)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://wikipedia.org&lt;br /&gt;
* https://google.com&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Useful_commands&amp;diff=2453</id>
		<title>Proxmark3: Useful commands</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Useful_commands&amp;diff=2453"/>
		<updated>2019-12-12T19:33:00Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authors ==&lt;br /&gt;
&lt;br /&gt;
*Ostrowski, John&lt;br /&gt;
*Arseven, Can&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
&amp;quot;NFC Hacking with Proxmark3&amp;quot; has been conducted during a school project, in which we analyzed the implementation of our NFC System. Which includes our on-campus cards, the printing system, snacks and drinks machines and the classroom doors. The additional output of this project was a (tested) guide on how to install the Proxmark3. For further details with regards to our project, concrete tests and more advanced commands please see our documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]].&lt;br /&gt;
&lt;br /&gt;
In this thread we show a short overview of the different commands the proxmark3 environment has to offer.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Please see the [[Proxmark3: Installation]] guide for a full overview of requirements.&lt;br /&gt;
However, the Operating systems on which we tested the installation on are: &lt;br /&gt;
*Ubuntu 16.04/18.03&lt;br /&gt;
*Windows 10&lt;br /&gt;
*MacOS 10.x&lt;br /&gt;
&lt;br /&gt;
In order to complete the &amp;quot;Introduction&amp;quot; described below, you have to complete the [[Proxmark3: Installation]] guide first.&lt;br /&gt;
&lt;br /&gt;
These overview is based on the proxmark3 client, published on Github on the 29. May 2019&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This introduction should only give you a glimpse of the available commands and possibilities of the Proxmark3. The official Proxmark3-Repository as well as the more advanced Ice-Man-Fork Repository (both linked in the reference section) provide lots of functions, though most of them are still in their alpha stage and therefore still need a bit of tinkering in order to work well. For further commands and our security analysis of our university feel free to have a look at our documentation!&lt;br /&gt;
&lt;br /&gt;
=== The Commands ===&lt;br /&gt;
&lt;br /&gt;
Connect via:&lt;br /&gt;
: Linux: &amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
: Windows &amp;lt;code&amp;gt;./client/proxmark3.exe COMx&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After you have successfully completed the Install Proxmark3 guide, you should see a screen similar to this when connecting to your proxmark3:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can always (in whichever menu you are) type &#039;help&#039; in order to have a full list of available commands in that menu.&lt;br /&gt;
If you enter help in the start menu, you will get following output:&lt;br /&gt;
 help             This help. Use &#039;&amp;lt;command&amp;gt; help&#039; for details of a particular command.&lt;br /&gt;
 data             { Plot window / data buffer manipulation... }&lt;br /&gt;
 hf               { High Frequency commands... }&lt;br /&gt;
 hw               { Hardware commands... }&lt;br /&gt;
 lf               { Low Frequency commands... }&lt;br /&gt;
 emv              { EMV iso14443 and iso7816... }&lt;br /&gt;
 sc               { Smartcard commands... }&lt;br /&gt;
 script           { Scripting commands }&lt;br /&gt;
 quit             Exit program&lt;br /&gt;
 exit             Exit program&lt;br /&gt;
&lt;br /&gt;
==== command: hw ====&lt;br /&gt;
&lt;br /&gt;
&amp;quot;hw&amp;quot; stands for hardware and lists a bunch of commands to get basic hardware information of the Proxmark3.&lt;br /&gt;
&lt;br /&gt;
 detectreader     [&#039;l&#039;|&#039;h&#039;] -- Detect external reader field (option &#039;l&#039; or &#039;h&#039; to limit to LF or HF)&lt;br /&gt;
 fpgaoff          Set FPGA off&lt;br /&gt;
 lcd              &amp;lt;HEX command&amp;gt; &amp;lt;count&amp;gt; -- Send command/data to LCD&lt;br /&gt;
 lcdreset         Hardware reset LCD&lt;br /&gt;
 readmem          [address] -- Read memory at decimal address from flash&lt;br /&gt;
 reset            Reset the Proxmark3&lt;br /&gt;
 setlfdivisor     &amp;lt;19 - 255&amp;gt; -- Drive LF antenna at 12Mhz/(divisor+1)&lt;br /&gt;
 setmux           &amp;lt;loraw|hiraw|lopkd|hipkd&amp;gt; -- Set the ADC mux to a specific value&lt;br /&gt;
 tune             [&#039;l&#039;|&#039;h&#039;] -- Measure antenna tuning (option &#039;l&#039; or &#039;h&#039; to limit to LF or HF)&lt;br /&gt;
 version          Show version information about the connected Proxmark&lt;br /&gt;
 status           Show runtime status information about the connected Proxmark&lt;br /&gt;
 ping             Test if the pm3 is responsive&lt;br /&gt;
&lt;br /&gt;
We can check the version of the different builds of the Proxmark3 currently running on it:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw version&lt;br /&gt;
 Prox/RFID mark3 RFID instrument&lt;br /&gt;
 bootrom: master/v3.1.0-94-gd38bb3a-dirty-suspect 2019-06-01 14:36:05&lt;br /&gt;
 os: master/v3.1.0-94-gd38bb3a-dirty-suspect 2019-06-01 14:36:22&lt;br /&gt;
 fpga_lf.bit built for 2s30vq100 on 2015/03/06 at 07:38:04&lt;br /&gt;
 fpga_hf.bit built for 2s30vq100 on 2019/03/20 at 08:08:07&lt;br /&gt;
&lt;br /&gt;
We can now check the antenna strength of the attached antennas. If you have borrowed the proxmark3 of the Elvis IoT Lab you will get following output:&lt;br /&gt;
&lt;br /&gt;
(If no smart card is in proximity):&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw tune&lt;br /&gt;
 Measuring antenna characteristics, please wait.........&lt;br /&gt;
 # LF antenna: 43.86 V @   125.00 kHz&lt;br /&gt;
 # LF antenna: 21.04 V @   134.00 kHz&lt;br /&gt;
 # LF optimal: 44.14 V @   123.71 kHz&lt;br /&gt;
 # HF antenna: 30.41 V @    13.56 MHz&lt;br /&gt;
&lt;br /&gt;
If we now lay a NFC card on the antennas the voltages changes:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hw tune&lt;br /&gt;
 Measuring antenna characteristics, please wait.........&lt;br /&gt;
 # LF antenna: 44.27 V @   125.00 kHz&lt;br /&gt;
 # LF antenna: 21.04 V @   134.00 kHz&lt;br /&gt;
 # LF optimal: 44.27 V @   123.71 kHz&lt;br /&gt;
 # HF antenna: *19.39 V* @    13.56 MHz&lt;br /&gt;
&lt;br /&gt;
We can see, that the voltage of the HF antenna dropped from 30 volts to about 19 volts. We can assume that the placed NFC card is a high frequency card.&lt;br /&gt;
&lt;br /&gt;
==== command: hf ====&lt;br /&gt;
&amp;quot;hf&amp;quot; stands for high frequency, which are specified at a carrier frequency of about 13.56 MHz.&lt;br /&gt;
Possible commands that can be issued are listed below:&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf&lt;br /&gt;
 14a              { ISO14443A RFIDs... }&lt;br /&gt;
 14b              { ISO14443B RFIDs... }&lt;br /&gt;
 15               { ISO15693 RFIDs... }&lt;br /&gt;
 epa              { German Identification Card... }&lt;br /&gt;
 legic            { LEGIC RFIDs... }&lt;br /&gt;
 iclass           { ICLASS RFIDs... }&lt;br /&gt;
 mf               { MIFARE RFIDs... }&lt;br /&gt;
 mfu              { MIFARE Ultralight RFIDs... }&lt;br /&gt;
 mfp              { MIFARE Plus RFIDs... }&lt;br /&gt;
 topaz            { TOPAZ (NFC Type 1) RFIDs... }&lt;br /&gt;
 fido             { FIDO and FIDO2 authenticators... }&lt;br /&gt;
 tune             Continuously measure HF antenna tuning&lt;br /&gt;
 list             List protocol data in trace buffer&lt;br /&gt;
 plot             Plot signal&lt;br /&gt;
 search           Search for known HF tags [preliminary]&lt;br /&gt;
 snoop            &amp;lt;samples to skip (10000)&amp;gt; &amp;lt;triggers to skip (1)&amp;gt; Generic HF Snoop&lt;br /&gt;
&lt;br /&gt;
Most of these command-options are for specific cards from specific manufacturers (e.g. legic, iclass, mf). On the other hand 14a is a NFC card standard that describes low level communication of smart cards. Not all follow the same standard and some implement proprietary protocols. The Mifare cards are built upon the 14a standard and have additional commands which can be found in their specific directory.&lt;br /&gt;
&lt;br /&gt;
You usually start with the &#039;&#039;&#039;hf search&#039;&#039;&#039; command, which sends the card some data and analyses the return messages of the card. With this information the Proxmark3 can make assumptions on what kind of card it may be.&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf search&lt;br /&gt;
 UID : 01 02 03 04&lt;br /&gt;
 ATQA : 00 04&lt;br /&gt;
 SAK : 08 [2]&lt;br /&gt;
 TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1&lt;br /&gt;
 proprietary non iso14443-4 card found, RATS not supported&lt;br /&gt;
 Chinese magic backdoor commands (GEN 1a) detected&lt;br /&gt;
 Prng detection: WEAK&lt;br /&gt;
 Valid ISO14443A Tag Found - Quiting Search&lt;br /&gt;
&lt;br /&gt;
Here we see that this card is classified as a Mifare Classic 1k. In particularly it also answers back to the Chinese magic backdoor command which tells us that this card is a fully cloneable card which allows us to change the UID block of the card. More on this can be found in the Documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
We can now issue the &#039;&#039;&#039;hf plot&#039;&#039;&#039; command which will display a waveform with the just sent and received data.&lt;br /&gt;
&lt;br /&gt;
[[File:Waveform.PNG|frameless]]&lt;br /&gt;
&lt;br /&gt;
Thankfully people wrote programs that will parse this data to a dedicated protocol (&#039;&#039;&#039;hf list&#039;&#039;&#039;). In this case we want to parse it as a Mifare classic communication with &#039;&#039;&#039;hf list mf&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 proxmark3&amp;gt; hf list mf&lt;br /&gt;
 Recorded Activity (TraceLen = 156 bytes)&lt;br /&gt;
 Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer&lt;br /&gt;
 iso14443a - All times are in carrier periods (1/13.56Mhz)&lt;br /&gt;
 iClass    - Timings are not as accurate&lt;br /&gt;
      Start |        End | Src | Data (! denotes parity error, &#039; denotes short bytes)            | CRC | Annotation         |&lt;br /&gt;
 -----------|------------|-----|-----------------------------------------------------------------|-----|--------------------|&lt;br /&gt;
          0 |        992 | Rdr | 40&#039;                                                             |     | MAGIC WUPC1&lt;br /&gt;
       2484 |       3060 | Tag | 0a&#039;                                                             |     |&lt;br /&gt;
       7040 |       8352 | Rdr | 43                                                              |     | MAGIC WUPC2&lt;br /&gt;
       9524 |      10100 | Tag | 0a&#039;                                                             |     |&lt;br /&gt;
      14080 |      18848 | Rdr | 50  00  57  cd                                                  |  ok | HALT&lt;br /&gt;
          0 |        992 | Rdr | 52&#039;                                                             |     | WUPA&lt;br /&gt;
       2228 |       4596 | Tag | 04  00                                                          |     |&lt;br /&gt;
       7040 |       9504 | Rdr | 93  20                                                          |     | ANTICOLL&lt;br /&gt;
      10676 |      16564 | Tag | 01  02  03  04  04                                              |     |&lt;br /&gt;
      19328 |      29856 | Rdr | 93  70  01  02  03  04  04  8e  25                              |  ok | SELECT_UID&lt;br /&gt;
      31028 |      34548 | Tag | 08  b6  dd                                                      |     |&lt;br /&gt;
      47488 |      52192 | Rdr | 60  00  f5  7b                                                  |  ok | AUTH-A(0)&lt;br /&gt;
      54196 |      58932 | Tag | 01  20  01  45                                                  |     | AUTH: nt&lt;br /&gt;
&lt;br /&gt;
More on what is happening here can be found in the documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are many more commands. For example, &#039;&#039;&#039;hf data&#039;&#039;&#039; to manipulate the raw data, or &#039;&#039;&#039;hf mf&#039;&#039;&#039; to interact with Mifare Classic cards. Since this is only a short introduction to commands of the Proxmark3 we won&#039;t go deeper. If one is interested and wants to find out more about the Proxmark you we highly recommend the documentation [[Proxmark3: FH-Campus Card NFC Security Valuation]] - where not only the essentials are covered, but also an in depth explanation about the technology used, the Proxmark itself, the Mifare Classic Standard and a validation of the FH-Campus card system.&lt;br /&gt;
&lt;br /&gt;
It is definitely worth checking out the paper, since it also shows which vulnerabilities where found in the school card system.&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=Proxmark_3 Proxmark3]&lt;br /&gt;
&lt;br /&gt;
== Additional Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[Proxmark3: Installation]]&lt;br /&gt;
* [[Proxmark3: FH-Campus Card NFC Security Valuation]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/Proxmark/proxmark3&lt;br /&gt;
* https://github.com/iceman1001/proxmark3&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=2452</id>
		<title>Proxmark3: Debricking</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=2452"/>
		<updated>2019-12-12T19:17:07Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to reset a Proxmark3 RDV2 via the JTAG interface.&lt;br /&gt;
&lt;br /&gt;
This is useful when the &#039;&#039;&#039;Proxmark3 RDV2&#039;&#039;&#039; is bricked and won&#039;t connect to the computer. This will solve any software failures like a corrupt firmware or bootloader.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.&#039;&#039;&#039; Debricking process via &#039;&#039;&#039;Raspberry Pi&#039;&#039;&#039; 3+ (version 2, 3 and 4 work exactly the same)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2.&#039;&#039;&#039; Debricking process via &#039;&#039;&#039;Bus Pirate&#039;&#039;&#039; 3.6&lt;br /&gt;
: Note: The method with the Bus Pirate did &#039;&#039;&#039;not work&#039;&#039;&#039; for me. Maybe you have better luck.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3&lt;br /&gt;
* Raspberry Pi 2, 3, or 4&lt;br /&gt;
* Bus Pirate v3 (or higher)&lt;br /&gt;
* Linux: Debian&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi.jpg|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
; This tutorial is based on:&lt;br /&gt;
: http://www.lucasoldi.com/2017/01/17/unbrick-proxmark3-with-a-raspberry-pi-and-openocd/&lt;br /&gt;
: https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle&lt;br /&gt;
: http://openocd.org/doc/html/OpenOCD-Project-Setup.html&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Compile Proxmark ===&lt;br /&gt;
&lt;br /&gt;
See [https://wiki.elvis.science/index.php?title=Proxmark3:_Installation Proxmark: Installation] or from the [https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux official website]&lt;br /&gt;
&lt;br /&gt;
=== Compile OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y autoconf libtool libftdi-dev textinfo pkg-config pkgconf git&lt;br /&gt;
git clone https://git.code.sf.net/p/openocd/code openocd&lt;br /&gt;
cd openocd&lt;br /&gt;
./bootstrap&lt;br /&gt;
./configure --enable-sysfsgpio --enable-bcm2835gpio&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo cp -r tcl/ /usr/share/openocd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will take about 15 minutes.&lt;br /&gt;
&lt;br /&gt;
=== Connect physically ===&lt;br /&gt;
&lt;br /&gt;
Connect the following pins from the Raspberry Pi to the Proxmark3&lt;br /&gt;
&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Raspberry Pi&lt;br /&gt;
! Cable colour&lt;br /&gt;
|-&lt;br /&gt;
| TMS || 22 || yellow&lt;br /&gt;
|-&lt;br /&gt;
| TDI || 19 || blue&lt;br /&gt;
|-&lt;br /&gt;
| TDO || 21 || green&lt;br /&gt;
|-&lt;br /&gt;
| TCK || 23 || orange&lt;br /&gt;
|-&lt;br /&gt;
| GND || 6  || purple&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 1 || grey&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the pin layout of the Raspberry Pi see [https://www.theengineeringprojects.com/wp-content/uploads/2018/07/introduction-to-raspberry-pi-3-b-plus-2.png link].&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi pin.jpg|border|600px]]&lt;br /&gt;
&lt;br /&gt;
The pin configuration can be changed in: &amp;lt;code&amp;gt;/usr/share/openocd/interface/raspberrypi2-native.cfg&amp;lt;/code&amp;gt;. (Not necessary for this tutorial)&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Connect via OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Power the Proxmark separately from the Raspberry Pi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; 1. Start OpenOCD&lt;br /&gt;
: switch to the Proxmark folder&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &#039;&#039;Note: the source code of the Proxmark should be already be complied.&#039;&#039;&lt;br /&gt;
; 2. Create OpenOCD configuration&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Past following code into the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ports&lt;br /&gt;
telnet_port 4444&lt;br /&gt;
gdb_port 3333&lt;br /&gt;
&lt;br /&gt;
# Interface&lt;br /&gt;
adapter_khz 1000&lt;br /&gt;
source [find interface/raspberrypi2-native.cfg]&lt;br /&gt;
&lt;br /&gt;
# use combined on interfaces or targets that can&#039;t set TRST/SRST separately&lt;br /&gt;
reset_config srst_only srst_pulls_trst&lt;br /&gt;
&lt;br /&gt;
jtag newtap sam7x cpu -irlen 4 -ircapture 0x1 -irmask 0xf&lt;br /&gt;
&lt;br /&gt;
target create sam7x.cpu arm7tdmi -endian little -chain-position sam7x.cpu &lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -event reset-init { &lt;br /&gt;
    soft_reset_halt&lt;br /&gt;
    mww 0xfffffd00 0xa5000004   # RSTC_CR: Reset peripherals&lt;br /&gt;
    mww 0xfffffd44 0x00008000   # WDT_MR: disable watchdog&lt;br /&gt;
    mww 0xfffffd08 0xa5000001   # RSTC_MR enable user reset&lt;br /&gt;
    mww 0xfffffc20 0x00005001   # CKGR_MOR : enable the main oscillator&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc2c 0x000b1c02   # CKGR_PLLR: 16MHz * 12/2 = 96MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc30 0x00000007   # PMC_MCKR : MCK = PLL / 2 = 48 MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xffffff60 0x00480100   # MC_FMR: flash mode (FWS=1,FMCN=72)&lt;br /&gt;
    sleep 100&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
gdb_memory_map enable&lt;br /&gt;
#gdb_breakpoint_override hard&lt;br /&gt;
#armv4_5 core_state arm&lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x10000 -work-area-backup 0&lt;br /&gt;
flash bank sam7x512.flash.0 at91sam7 0 0 0 0 sam7x.cpu 0 0 0 0 0 0 0 18432&lt;br /&gt;
flash bank sam7x512.flash.1 at91sam7 0 0 0 0 sam7x.cpu 1 0 0 0 0 0 0 18432&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; 3. Start OpenOCD with the configuration file just created&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now a openOCD session is started. Do &#039;&#039;&#039;not&#039;&#039;&#039; close it.&lt;br /&gt;
; 4. Connect to OpenOCD session&lt;br /&gt;
: Open a new terminal window and telnet to the port that was specified in the .cfg file&lt;br /&gt;
:: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
; 5. Flash via JTAG&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
; 6. Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
; 7. Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
; 8. Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disconnect the Raspberry Pi from the Proxmark&lt;br /&gt;
&lt;br /&gt;
Now you should be able to connect to the Proxmark as usual:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For useful commands visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bus Pirate ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Here the Bus Pirate 3.6 will be used&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This did not work for me, maybe it was faulty hardware or faulty firmware&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
; Update the Bus Pirate&lt;br /&gt;
: you can use following guide: [[Bus Pirate: First steps]]&lt;br /&gt;
; Get the latest Proxmark3 repository &amp;amp; build&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/Proxmark/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
: install needed components:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libpcsclite-dev pcscd&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; make clean &amp;amp;&amp;amp; make all&amp;lt;/code&amp;gt;&lt;br /&gt;
: Install proxmark3 driver:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo udevadm control --reload-rules&amp;lt;/code&amp;gt;&lt;br /&gt;
: Add user&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo adduser $USER dialout&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now logout and login in again&lt;br /&gt;
; Install OpenOCD&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install openocd&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect the Proxmark3 to the Bus Pirate&lt;br /&gt;
: use this pin configuration:&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Bus Pirate&lt;br /&gt;
|-&lt;br /&gt;
| TMS || CS&lt;br /&gt;
|-&lt;br /&gt;
| TDI || MOSI&lt;br /&gt;
|-&lt;br /&gt;
| TDO || MISO&lt;br /&gt;
|-&lt;br /&gt;
| TCK || CLK&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 3.3V&lt;br /&gt;
|}&lt;br /&gt;
; Flashing&lt;br /&gt;
: check on with Port the Bus Pirate is connected:&lt;br /&gt;
:: &amp;lt;code&amp;gt;ls /dev/tty*&amp;lt;/code&amp;gt;&lt;br /&gt;
:: OR&lt;br /&gt;
:: &amp;lt;code&amp;gt;dmesg -wH&amp;lt;/code&amp;gt; and plugout and connect the Bus Pirate again&lt;br /&gt;
: Set OpenOCD config&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
 # Interface&lt;br /&gt;
 interface buspirate&lt;br /&gt;
 buspirate_port /dev/ttyUSB0&lt;br /&gt;
 adapter_khz 1000&lt;br /&gt;
; Start OpenOCD&lt;br /&gt;
: Launch OpenOCD&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 :~/git/proxmark3$ sudo openocd -f tools/at91sam7s512-buspirate.cfg&lt;br /&gt;
 [sudo] password for j:               &lt;br /&gt;
 Open On-Chip Debugger 0.10.0-rc1-dev-gc404ff5d-dirty (2019-11-11-15:43)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
    http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Warn : Adapter driver &#039;buspirate&#039; did not declare which transports it allows; assuming  legacy JTAG-only &lt;br /&gt;
 Info : only one  transport option; autoselect &#039;jtag&#039; &lt;br /&gt;
 adapter speed: 1 000 kHz &lt;br /&gt;
 srst_only srst_p ulls_tr st srst_gates_jtag srst_open_drain connect_deassert_srst &lt;br /&gt;
 Info : Buspirate  Interf ace ready! &lt;br /&gt;
 Info : This adap ter doe sn&#039;t suppo rt configurable speed &lt;br /&gt;
 Info : JTAG tap:  sam7x. cpu tap/de vice found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part:  0xf0f0, ver: 0x3 ) &lt;br /&gt;
 Info : Embedded ICE version 1 &lt;br /&gt;
 Info : sam7x.cpu: hardware has 2 breakpoint/watchpoint units&lt;br /&gt;
 Info : accepting &#039;telnet&#039; connection on tcp/4444&lt;br /&gt;
&lt;br /&gt;
: Open a new terminal window&lt;br /&gt;
:: and type: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
: Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
: Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
: Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This will take a while (about 6 minutes)&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV2 Kit]]&lt;br /&gt;
[[Bus Pirate v3.6 Universal serial interface]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=2451</id>
		<title>Proxmark3: Debricking</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=2451"/>
		<updated>2019-12-12T19:03:08Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description on how to debrick the Proxmark3 RDV2 if the bootloader or firmware is corrupted and there is no connection between the Proxmark3 and the computer. &lt;br /&gt;
&lt;br /&gt;
Note: The method with the Bus Pirate did &#039;&#039;&#039;not work&#039;&#039;&#039; for me. Maybe you have better luck.&lt;br /&gt;
&lt;br /&gt;
In the first part the debricking process for the Raspberry Pi 3+ (version 2, 3 and 4 work exactly the same) will be showcased. In the second part the same will be shown using a Bus Pirate.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3&lt;br /&gt;
* Raspberry Pi 2, 3, or 4&lt;br /&gt;
* Bus Pirate v3 (or higher)&lt;br /&gt;
* Linux: Debian&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi.jpg|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
; This tutorial is based on:&lt;br /&gt;
: http://www.lucasoldi.com/2017/01/17/unbrick-proxmark3-with-a-raspberry-pi-and-openocd/&lt;br /&gt;
: https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle&lt;br /&gt;
: http://openocd.org/doc/html/OpenOCD-Project-Setup.html&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Compile Proxmark ===&lt;br /&gt;
&lt;br /&gt;
See [https://wiki.elvis.science/index.php?title=Proxmark3:_Installation Proxmark: Installation] or from the [https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux official website]&lt;br /&gt;
&lt;br /&gt;
=== Compiling OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y autoconf libtool libftdi-dev textinfo pkg-config pkgconf git&lt;br /&gt;
git clone https://git.code.sf.net/p/openocd/code openocd&lt;br /&gt;
cd openocd&lt;br /&gt;
./bootstrap&lt;br /&gt;
./configure --enable-sysfsgpio --enable-bcm2835gpio&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo cp -r tcl/ /usr/share/openocd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will take about 15 minutes.&lt;br /&gt;
&lt;br /&gt;
=== Connect physically ===&lt;br /&gt;
&lt;br /&gt;
Connect the following pins from the Raspberry Pi to the Proxmark3&lt;br /&gt;
&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Raspberry Pi&lt;br /&gt;
! Cable color&lt;br /&gt;
|-&lt;br /&gt;
| TMS || 22 || yellow&lt;br /&gt;
|-&lt;br /&gt;
| TDI || 19 || blue&lt;br /&gt;
|-&lt;br /&gt;
| TDO || 21 || green&lt;br /&gt;
|-&lt;br /&gt;
| TCK || 23 || orange&lt;br /&gt;
|-&lt;br /&gt;
| GND || 6  || purple&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 1 || grey&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the pin layout of the Raspberry Pi see [https://www.theengineeringprojects.com/wp-content/uploads/2018/07/introduction-to-raspberry-pi-3-b-plus-2.png link].&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi pin.jpg|border|600px]]&lt;br /&gt;
&lt;br /&gt;
The pin configuration can be changed in: &amp;lt;code&amp;gt;/usr/share/openocd/interface/raspberrypi2-native.cfg&amp;lt;/code&amp;gt;. (Not necessary for this tutorial)&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Connect via OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Power the Proxmark desperately from the Raspberry Pi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; 1. Start OpenOCD&lt;br /&gt;
: switch to the Proxmark folder&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &#039;&#039;Note: the source code of the proxmark should be already be complied.&#039;&#039;&lt;br /&gt;
; 2. Create OpenOCD configuration&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Past following code into the file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Ports&lt;br /&gt;
telnet_port 4444&lt;br /&gt;
gdb_port 3333&lt;br /&gt;
&lt;br /&gt;
# Interface&lt;br /&gt;
adapter_khz 1000&lt;br /&gt;
source [find interface/raspberrypi2-native.cfg]&lt;br /&gt;
&lt;br /&gt;
# use combined on interfaces or targets that can&#039;t set TRST/SRST separately&lt;br /&gt;
reset_config srst_only srst_pulls_trst&lt;br /&gt;
&lt;br /&gt;
jtag newtap sam7x cpu -irlen 4 -ircapture 0x1 -irmask 0xf&lt;br /&gt;
&lt;br /&gt;
target create sam7x.cpu arm7tdmi -endian little -chain-position sam7x.cpu &lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -event reset-init { &lt;br /&gt;
    soft_reset_halt&lt;br /&gt;
    mww 0xfffffd00 0xa5000004   # RSTC_CR: Reset peripherals&lt;br /&gt;
    mww 0xfffffd44 0x00008000   # WDT_MR: disable watchdog&lt;br /&gt;
    mww 0xfffffd08 0xa5000001   # RSTC_MR enable user reset&lt;br /&gt;
    mww 0xfffffc20 0x00005001   # CKGR_MOR : enable the main oscillator&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc2c 0x000b1c02   # CKGR_PLLR: 16MHz * 12/2 = 96MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xfffffc30 0x00000007   # PMC_MCKR : MCK = PLL / 2 = 48 MHz&lt;br /&gt;
    sleep 10&lt;br /&gt;
    mww 0xffffff60 0x00480100   # MC_FMR: flash mode (FWS=1,FMCN=72)&lt;br /&gt;
    sleep 100&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
gdb_memory_map enable&lt;br /&gt;
#gdb_breakpoint_override hard&lt;br /&gt;
#armv4_5 core_state arm&lt;br /&gt;
&lt;br /&gt;
sam7x.cpu configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x10000 -work-area-backup 0&lt;br /&gt;
flash bank sam7x512.flash.0 at91sam7 0 0 0 0 sam7x.cpu 0 0 0 0 0 0 0 18432&lt;br /&gt;
flash bank sam7x512.flash.1 at91sam7 0 0 0 0 sam7x.cpu 1 0 0 0 0 0 0 18432&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; 3. Start OpenOCD with the configuration file just created&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now a openOCD session is started. Do &#039;&#039;&#039;not&#039;&#039;&#039; close it.&lt;br /&gt;
; 4. Connect to OpenOCD session&lt;br /&gt;
: Open a new terminal window and telnet to the port that was specified in the .cfg file&lt;br /&gt;
:: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
; 5. Flash via JTAG&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
; 6. Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
; 7. Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
; 8. Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disconnect the Raspberry Pi from the Proxmark&lt;br /&gt;
&lt;br /&gt;
Now you should be able to connect to the Proxmark as usual:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For useful commands visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bus Pirate ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Here the Bus Pirate 3.6 will be used&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This did not work for me, maybe it was faulty hardware a faulty firmware&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
; Update the Bus Pirate&lt;br /&gt;
: you can use following guide: [[Bus Pirate: First steps]]&lt;br /&gt;
; Get the latest Proxmark3 repository &amp;amp; build&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/Proxmark/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
: install needed components:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libpcsclite-dev pcscd&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; make clean &amp;amp;&amp;amp; make all&amp;lt;/code&amp;gt;&lt;br /&gt;
: Install proxmark3 driver:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo udevadm control --reload-rules&amp;lt;/code&amp;gt;&lt;br /&gt;
: Add user&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo adduser $USER dialout&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now logout and login in again&lt;br /&gt;
; Install OpenOCD&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install openocd&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect the Proxmark3 to the Bus Pirate&lt;br /&gt;
: use this pin configuration:&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Bus Pirate&lt;br /&gt;
|-&lt;br /&gt;
| TMS || CS&lt;br /&gt;
|-&lt;br /&gt;
| TDI || MOSI&lt;br /&gt;
|-&lt;br /&gt;
| TDO || MISO&lt;br /&gt;
|-&lt;br /&gt;
| TCK || CLK&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 3.3V&lt;br /&gt;
|}&lt;br /&gt;
; Flashing&lt;br /&gt;
: check on with Port the Bus Pirate is connected:&lt;br /&gt;
:: &amp;lt;code&amp;gt;ls /dev/tty*&amp;lt;/code&amp;gt;&lt;br /&gt;
:: OR&lt;br /&gt;
:: &amp;lt;code&amp;gt;dmesg -wH&amp;lt;/code&amp;gt; and plugout and connect the Bus Pirate again&lt;br /&gt;
: Set OpenOCD config&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
 # Interface&lt;br /&gt;
 interface buspirate&lt;br /&gt;
 buspirate_port /dev/ttyUSB0&lt;br /&gt;
 adapter_khz 1000&lt;br /&gt;
; Start OpenOCD&lt;br /&gt;
: Launch OpenOCD&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 :~/git/proxmark3$ sudo openocd -f tools/at91sam7s512-buspirate.cfg&lt;br /&gt;
 [sudo] password for j:               &lt;br /&gt;
 Open On-Chip Debugger 0.10.0-rc1-dev-gc404ff5d-dirty (2019-11-11-15:43)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
    http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Warn : Adapter driver &#039;buspirate&#039; did not declare which transports it allows; assuming  legacy JTAG-only &lt;br /&gt;
 Info : only one  transport option; autoselect &#039;jtag&#039; &lt;br /&gt;
 adapter speed: 1 000 kHz &lt;br /&gt;
 srst_only srst_p ulls_tr st srst_gates_jtag srst_open_drain connect_deassert_srst &lt;br /&gt;
 Info : Buspirate  Interf ace ready! &lt;br /&gt;
 Info : This adap ter doe sn&#039;t suppo rt configurable speed &lt;br /&gt;
 Info : JTAG tap:  sam7x. cpu tap/de vice found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part:  0xf0f0, ver: 0x3 ) &lt;br /&gt;
 Info : Embedded ICE version 1 &lt;br /&gt;
 Info : sam7x.cpu: hardware has 2 breakpoint/watchpoint units&lt;br /&gt;
 Info : accepting &#039;telnet&#039; connection on tcp/4444&lt;br /&gt;
&lt;br /&gt;
: Open a new terminal window&lt;br /&gt;
:: and type: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
: Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
: Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
: Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This will take a while (about 6 minutes)&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV2 Kit]]&lt;br /&gt;
[[Bus Pirate v3.6 Universal serial interface]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=2450</id>
		<title>Proxmark3: Debricking</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Proxmark3:_Debricking&amp;diff=2450"/>
		<updated>2019-12-12T15:22:04Z</updated>

		<summary type="html">&lt;p&gt;Jostrowski: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary == &lt;br /&gt;
&lt;br /&gt;
Description on how to debrick the Proxmark3 RDV2 if the bootloader or firmware is corrupted and there is no connection between the Proxmark3 and the computer. &lt;br /&gt;
&lt;br /&gt;
Note: The method with the Bus Pirate did &#039;&#039;&#039;not work&#039;&#039;&#039; for me. Maybe you have better luck.&lt;br /&gt;
&lt;br /&gt;
In the first part the debricking process with an Raspberry Pi 3+ (version 2, 3 and 4 will work exactly the same) will be showcased. In the second part the same will be shown using a Bus Pirate.&lt;br /&gt;
using a Bus Pirate.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Proxmark3&lt;br /&gt;
* Raspberry Pi 2, 3, or 4&lt;br /&gt;
* Bus Pirate v3 (or higher)&lt;br /&gt;
* Linux: Debian&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi ==&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi.jpg|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
; This tutorial is based on:&lt;br /&gt;
: http://www.lucasoldi.com/2017/01/17/unbrick-proxmark3-with-a-raspberry-pi-and-openocd/&lt;br /&gt;
: https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle&lt;br /&gt;
: http://openocd.org/doc/html/OpenOCD-Project-Setup.html&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Compile Proxmark ===&lt;br /&gt;
&lt;br /&gt;
See [https://wiki.elvis.science/index.php?title=Proxmark3:_Installation Proxmark: Installation] or from the [https://github.com/Proxmark/proxmark3/wiki/Ubuntu-Linux official website]&lt;br /&gt;
&lt;br /&gt;
=== Compiling OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y autoconf libtool libftdi-dev textinfo pkg-config pkgconf git&lt;br /&gt;
git clone https://git.code.sf.net/p/openocd/code openocd&lt;br /&gt;
cd openocd&lt;br /&gt;
./bootstrap&lt;br /&gt;
./configure --enable-sysfsgpio --enable-bcm2835gpio&lt;br /&gt;
make&lt;br /&gt;
sudo make install&lt;br /&gt;
sudo cp -r tcl/ /usr/share/openocd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; will take about 15 minutes.&lt;br /&gt;
&lt;br /&gt;
=== Connect physically ===&lt;br /&gt;
&lt;br /&gt;
Connect the following pins from the Raspberry Pi to the Proxmark3&lt;br /&gt;
&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Raspberry Pi&lt;br /&gt;
! Cable color&lt;br /&gt;
|-&lt;br /&gt;
| TMS || 22 || yellow&lt;br /&gt;
|-&lt;br /&gt;
| TDI || 19 || blue&lt;br /&gt;
|-&lt;br /&gt;
| TDO || 21 || green&lt;br /&gt;
|-&lt;br /&gt;
| TCK || 23 || orange&lt;br /&gt;
|-&lt;br /&gt;
| GND || 6  || purple&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 1 || grey&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the pin layout of the Raspberry Pi see [https://www.theengineeringprojects.com/wp-content/uploads/2018/07/introduction-to-raspberry-pi-3-b-plus-2.png link].&lt;br /&gt;
&lt;br /&gt;
[[File:Proxmark raspi pin.jpg|border|600px]]&lt;br /&gt;
&lt;br /&gt;
The pin configuration can be changed in: &amp;lt;code&amp;gt;/usr/share/openocd/interface/raspberrypi2-native.cfg&amp;lt;/code&amp;gt;. (Not necessary for this tutorial)&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Connect via OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Power the Proxmark desperately from the Raspberry Pi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; 1. Start OpenOCD&lt;br /&gt;
: switch to the Proxmark folder&lt;br /&gt;
:: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &#039;&#039;Note: the source code of the proxmark should be already be complied.&#039;&#039;&lt;br /&gt;
; 2. Create OpenOCD configuration&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Past following code into the file&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TODO: Paste code here&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
; 3. Start OpenOCD with the configuration file just created&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/raspi.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now a openOCD session is started. Do &#039;&#039;&#039;not&#039;&#039;&#039; close it.&lt;br /&gt;
; 4. Connect to OpenOCD session&lt;br /&gt;
: Open a new terminal window and telnet to the port that was specified in the .cfg file&lt;br /&gt;
:: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
; 5. Flash via JTAG&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
; 6. Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
; 7. Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
; 8. Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Done!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Disconnect the Raspberry Pi from the Proxmark&lt;br /&gt;
&lt;br /&gt;
Now you should be able to connect to the Proxmark as usual:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;./client/proxmark3 /dev/ttyACM0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For useful commands visit: [[Proxmark3: Useful commands]]&lt;br /&gt;
&lt;br /&gt;
== Bus Pirate ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: Here the Bus Pirate 3.6 will be used&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This did not work for me, maybe it was faulty hardware a faulty firmware&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This tutorial is based on https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
; Update the Bus Pirate&lt;br /&gt;
: you can use following guide: [[Bus Pirate: First steps]]&lt;br /&gt;
; Get the latest Proxmark3 repository &amp;amp; build&lt;br /&gt;
: &amp;lt;code&amp;gt;git clone https://github.com/Proxmark/proxmark3.git&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;cd proxmark3&amp;lt;/code&amp;gt;&lt;br /&gt;
: install needed components:&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib libpcsclite-dev pcscd&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt; make clean &amp;amp;&amp;amp; make all&amp;lt;/code&amp;gt;&lt;br /&gt;
: Install proxmark3 driver:&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo udevadm control --reload-rules&amp;lt;/code&amp;gt;&lt;br /&gt;
: Add user&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo adduser $USER dialout&amp;lt;/code&amp;gt;&lt;br /&gt;
:: Now logout and login in again&lt;br /&gt;
; Install OpenOCD&lt;br /&gt;
: &amp;lt;code&amp;gt;sudo apt-get install openocd&amp;lt;/code&amp;gt;&lt;br /&gt;
; Connect the Proxmark3 to the Bus Pirate&lt;br /&gt;
: use this pin configuration:&lt;br /&gt;
: {| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Proxmark3&lt;br /&gt;
! Bus Pirate&lt;br /&gt;
|-&lt;br /&gt;
| TMS || CS&lt;br /&gt;
|-&lt;br /&gt;
| TDI || MOSI&lt;br /&gt;
|-&lt;br /&gt;
| TDO || MISO&lt;br /&gt;
|-&lt;br /&gt;
| TCK || CLK&lt;br /&gt;
|-&lt;br /&gt;
| GND || GND&lt;br /&gt;
|-&lt;br /&gt;
| 3.3V || 3.3V&lt;br /&gt;
|}&lt;br /&gt;
; Flashing&lt;br /&gt;
: check on with Port the Bus Pirate is connected:&lt;br /&gt;
:: &amp;lt;code&amp;gt;ls /dev/tty*&amp;lt;/code&amp;gt;&lt;br /&gt;
:: OR&lt;br /&gt;
:: &amp;lt;code&amp;gt;dmesg -wH&amp;lt;/code&amp;gt; and plugout and connect the Bus Pirate again&lt;br /&gt;
: Set OpenOCD config&lt;br /&gt;
:: &amp;lt;code&amp;gt;nano tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
 # Interface&lt;br /&gt;
 interface buspirate&lt;br /&gt;
 buspirate_port /dev/ttyUSB0&lt;br /&gt;
 adapter_khz 1000&lt;br /&gt;
; Start OpenOCD&lt;br /&gt;
: Launch OpenOCD&lt;br /&gt;
:: &amp;lt;code&amp;gt;sudo openocd -f tools/at91sam7s512-buspirate.cfg&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 :~/git/proxmark3$ sudo openocd -f tools/at91sam7s512-buspirate.cfg&lt;br /&gt;
 [sudo] password for j:               &lt;br /&gt;
 Open On-Chip Debugger 0.10.0-rc1-dev-gc404ff5d-dirty (2019-11-11-15:43)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
    http://openocd.org/doc/doxygen/bugs.html&lt;br /&gt;
 Warn : Adapter driver &#039;buspirate&#039; did not declare which transports it allows; assuming  legacy JTAG-only &lt;br /&gt;
 Info : only one  transport option; autoselect &#039;jtag&#039; &lt;br /&gt;
 adapter speed: 1 000 kHz &lt;br /&gt;
 srst_only srst_p ulls_tr st srst_gates_jtag srst_open_drain connect_deassert_srst &lt;br /&gt;
 Info : Buspirate  Interf ace ready! &lt;br /&gt;
 Info : This adap ter doe sn&#039;t suppo rt configurable speed &lt;br /&gt;
 Info : JTAG tap:  sam7x. cpu tap/de vice found: 0x3f0f0f0f (mfg: 0x787 (&amp;lt;unknown&amp;gt;), part:  0xf0f0, ver: 0x3 ) &lt;br /&gt;
 Info : Embedded ICE version 1 &lt;br /&gt;
 Info : sam7x.cpu: hardware has 2 breakpoint/watchpoint units&lt;br /&gt;
 Info : accepting &#039;telnet&#039; connection on tcp/4444&lt;br /&gt;
&lt;br /&gt;
: Open a new terminal window&lt;br /&gt;
:: and type: &amp;lt;code&amp;gt;telnet localhost 4444&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 j@laptop:~/git/proxmark3$ telnet localhost 4444&lt;br /&gt;
 Trying 127.0.0.1...&lt;br /&gt;
 Connected to localhost.&lt;br /&gt;
 Escape character is &#039;^]&#039;.&lt;br /&gt;
 Open On-Chip Debugger&lt;br /&gt;
 &amp;gt; &lt;br /&gt;
&lt;br /&gt;
: Halt the Proxmark3&lt;br /&gt;
:: &amp;lt;code&amp;gt;halt&amp;lt;/code&amp;gt;&lt;br /&gt;
: Erase the flash content:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 0 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash erase_sector 1 0 15&amp;lt;/code&amp;gt;&lt;br /&gt;
: Flash the new firmware:&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./armsrc/obj/fullimage.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This will take a while (about 6 minutes)&lt;br /&gt;
:: &amp;lt;code&amp;gt;flash write_image ./bootrom/obj/bootrom.elf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Used Hardware ==&lt;br /&gt;
&lt;br /&gt;
[[Proxmark3 RDV2 Kit]]&lt;br /&gt;
[[Bus Pirate v3.6 Universal serial interface]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>Jostrowski</name></author>
	</entry>
</feed>