Merge pull request from TomHarkness/master

Updated update.sh - by joanbono from iceman1001/proxmark3
This commit is contained in:
RFID Research Group 2018-08-16 16:31:01 +02:00 committed by GitHub
commit ebbc49efde
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 124 additions and 63 deletions

View file

@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file.
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
## [unreleased][unreleased]
- Modified 'install.sh' script to work in macOS and Linux + added the 'update.sh' and 'proxmark3.sh' from joanbono (@TomHarkness)
- Fix 'hf emv' - some cards need to have Le=0x00, some need to not to have (@merlokk)
- Fix 'hf legic' enhancement of rx / tx in legic commands (@drandreas)
- Fix 'data buffclear' - now frees bigbuff also (@iceman)
@ -339,5 +340,3 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
### Added
- iClass functionality: full simulation of iclass tags, so tags can be simulated with data (not only CSN). Not yet support for write/update, but readers don't seem to enforce update. (holiman).
- iClass decryption. Proxmark can now decrypt data on an iclass tag, but requires you to have the HID decryption key locally on your computer, as this is not bundled with the sourcecode.

View file

@ -1,36 +1,62 @@
#!/bin/bash
set -x
# This is for linux ppl and it works on Ubuntu distros. Don't know about Kali.
echo "Updating your system..."
# install dependencies for Proxmark3 source code.
sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev gcc-arm-none-eabi
sudo apt-get install libusb-0.1-4 libusb-dev libqt4-dev libncurses5-dev perl pkg-config wget
#cleaning up
sudo apt-get install -f -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y
sudo apt-get clean -y
sudo apt-get update
function installProxmark_Linux {
# install dependencies for Proxmark3 source code.
sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev gcc-arm-none-eabi
sudo apt-get install libusb-0.1-4 libusb-dev libqt4-dev libncurses5-dev perl pkg-config wget
#cleaning up
sudo apt-get install -f -y
sudo apt-get autoremove -y
sudo apt-get autoclean -y
sudo apt-get clean -y
sudo apt-get update
# install RDV40 - proxmark3
git clone https://github.com/RfidResearchGroup/proxmark3.git
(
cd proxmark3 || exit 1
git reset --hard
git clean -dfx
make clean
make all
# Copy blacklist rules into /etc/udev/rules.d
# check the Makefile for details
sudo make udev
)
git clone https://github.com/RfidResearchGroup/proxmark3.git
(
cd proxmark3 || exit 1
git reset --hard
git clean -dfx
make clean
make all
# Copy blacklist rules into /etc/udev/rules.d
# check the Makefile for details
sudo make udev
)
}
function installProxmark_macOS {
# Install dependencies for Proxmark3 source code.
brew tap nitsky/stm32
brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig arm-none-eabi-gcc
brew link --force readline
# add moc_location in Qt5Core.pc file.
local qtDir=$(ls /usr/local/Cellar/qt/ 2>/dev/null | head -1)
local qt5Core=$(find /usr -name Qt5Core.pc 2>/dev/null)
(
export PKG_CONFIG_PATH=/usr/local/Cellar/qt/$qtDir/lib/pkgconfig/
export QT_PKG_CONFIG_QT5CORE=$qt5Core
chmod 666 $QT_PKG_CONFIG_QT5CORE
echo "moc_location=\${prefix}/bin/moc" >> $QT_PKG_CONFIG_QT5CORE
chmod 444 $QT_PKG_CONFIG_QT5CORE
)
# install RDV40 - proxmark3
git clone https://github.com/RfidResearchGroup/proxmark3.git
(
cd proxmark3 || exit 1
git reset --hard
git clean -dfx
make clean
make
)
}
# Where is my device?
#dmesg | tail -10
echo "Done."
# Detect OS and install libraries and proxmark3 client
if [[ $(uname | awk '{print toupper($0)}') == "LINUX" ]]; then
echo >&2 "Linux Detected - Updating your system..."
$(installProxmark_Linux)
elif [[ $(uname | awk '{print toupper($0)}') == "DARWIN" ]]; then
echo >&2 "MAC OS X Detected - Updating your system..."
$(installProxmark_macOS) 2>/dev/null
fi
echo >&2 "Done."

View file

@ -10,5 +10,23 @@ function wait4proxmark {
echo $PM3
}
function wait4proxmark_macOS {
echo >&2 "Waiting for Proxmark to appear..."
while true; do
PM3=$(ls /dev/pm3-* /dev/cu.usbmodem* 2>/dev/null | head -1)
if [[ $PM3 != "" ]]; then
#echo >&2 -e "Found proxmark on $(ls /dev/pm3-* /dev/cu.usbmodem* 2>/dev/null | head -1)\n"
break
fi
sleep .1
done
echo $PM3
}
# start proxmark with first detected interface
client/proxmark3 $(wait4proxmark)
if [[ $(uname | awk '{print toupper($0)}') == "LINUX" ]]; then
client/proxmark3 $(wait4proxmark_Linux)
elif [[ $(uname | awk '{print toupper($0)}') == "DARWIN" ]]; then
client/proxmark3 $(wait4proxmark_macOS)
fi

View file

@ -1,6 +1,6 @@
#!/bin/bash
function wait4proxmark {
function wait4proxmark_Linux {
echo >&2 "Waiting for Proxmark to appear..."
while [ ! -c /dev/ttyACM? -a ! -L /dev/pm3-? ]; do
sleep .1
@ -10,5 +10,23 @@ function wait4proxmark {
echo $PM3
}
# flash bootroom & system image
client/flasher $(wait4proxmark) -b bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
function wait4proxmark_macOS {
echo >&2 "Waiting for Proxmark to appear..."
while true; do
PM3=$(ls /dev/pm3-* /dev/cu.usbmodem* 2>/dev/null | head -1)
if [[ $PM3 != "" ]]; then
#echo >&2 -e "Found proxmark on $(ls /dev/pm3-* /dev/cu.usbmodem* 2>/dev/null | head -1)\n"
break
fi
sleep .1
done
echo $PM3
}
# Detect OS and flash bootroom & system image
if [[ $(uname | awk '{print toupper($0)}') == "LINUX" ]]; then
client/flasher $(wait4proxmark_Linux) -b bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
elif [[ $(uname | awk '{print toupper($0)}') == "DARWIN" ]]; then
client/flasher $(wait4proxmark_macOS) -b bootrom/obj/bootrom.elf armsrc/obj/fullimage.elf
fi