diff --git a/.gitattributes b/.gitattributes index a74388f46..bae55fcce 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,4 +2,5 @@ # prevent binary files from CRLF handling, diff and merge: fpga/fpga.bit -crlf -diff *.bin -crlf -diff +*.z -crlf -diff \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8cc16c3c2..5cbdc581d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ # .gitignore # don't push these files to the repository -.idea .history *.log *.eml @@ -13,10 +12,10 @@ *.map *.bin !client/hardnested/*.bin -!client/hardnested/tables/*.bin *.dll *.moc.cpp *.z +!client/hardnested/tables/*.z usb_cmd.lua version.c client/ui/ui_overlays.h diff --git a/COMPILING.txt b/COMPILING.txt index e06da5bbd..08a8deaa4 100644 --- a/COMPILING.txt +++ b/COMPILING.txt @@ -82,24 +82,46 @@ Download the ProxSpace environment archive and extract it to C:\ = Mac OS X = ============ +Installing from HomeBrew tap +--------------------------- +This method is recommended and tested on macOS Sierra 10.12.3 + +1. Install homebrew if you haven't yet already done so: http://brew.sh/ + +2. Tap proxmark repo: + brew tap iceman1001/proxmark3 + +3. Install Proxmark3: + +Stable release + brew install proxmark3 + +Latest non-stable from GitHub (use this if previous command fails) + brew install --HEAD proxmark3 + +For more information go to https://github.com/iceman1001/homebrew-proxmark3 + + +Compilling from source manually (Legacy) +--------------------------- + Tested on OSX 10.10 Yosemite 1 - Install Xcode and Xcode Command Line Tools 2 - Install Homebrew and dependencies - brew install readline - brew instal libusb + brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig 3 - Download DevKitARM for OSX http://sourceforge.net/projects/devkitpro/files/devkitARM/devkitARM_r44/ Unpack devkitARM_r44-osx.tar.bz2 to proxmark3 directory. -4 - Edit proxmark3/client/Makefile adding path to readline +4 - Edit proxmark3/client/Makefile adding path to readline and qt5 - LDLIBS = -L/usr/local/Cellar/readline/6.3.8/lib/ -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm - CFLAGS = -std=c99 -I/usr/local/Cellar/readline/6.3.8/include/ -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 + LDLIBS = -L/usr/local/opt/readline/lib -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm + CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I/usr/local/opt/readline/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 - Replace path /usr/local/Cellar/readline/6.3.8 with your actuall readline path. See homebrew manuals. + If your old brew intallation use /usr/local/Cellar/ path replace /usr/local/opt/readline/lib with your actuall readline and qt5 path. See homebrew manuals. 5 - Set Environment diff --git a/client/lualibs/default_toys_di.lua b/client/lualibs/default_toys_di.lua index c8f2533a1..4d5d75020 100644 --- a/client/lualibs/default_toys_di.lua +++ b/client/lualibs/default_toys_di.lua @@ -1,9 +1,8 @@ -local _names = { --[[ - decimal, di version, model name + decimal, di edition, model name --]] -{ -"1000001","1","Mr. Incredible"}, +local _names = { +{"1000001","1","Mr. Incredible"}, {"1000002","1","Sully"}, {"1000003","1","Captain Jack Sparrow"}, {"1000004","1","Lone Ranger"}, @@ -320,6 +319,9 @@ local _names = { {"4000226","3","?? unknown ??"}, {"4000227","3","?? unknown ??"}, {"4000229","3","Quad Jumper"}, +--[[ + these below are Portals. Not to be used for tags. +--]] {"8032384","0","Infinity Base - 3DS"}, {"8032385","0","Infinity Base - Xbox"}, {"8032386","0","Infinity Base"}, @@ -327,18 +329,17 @@ local _names = { {"8039228","0","Infinity Base - Vita"}, {"8040889","0","Infinity Base - Bluetooth"}, } -local function find( main, sub) +local function find( main ) main = main:lower() - sub = sub:lower() for k, v in pairs(_names) do - if ( v[2]:lower() == main and v[3]:lower() == sub) then + if ( v[1]:lower() == main ) then return v end end return nil end local function list() - print ("Type\tVer\t Model name") + print ("Type\tEdition\t Model name") print (string.rep('=', 54)) for k, v in pairs(_names) do print(("%s\t%s\t%s"):format(v[1],v[2],v[3] )) diff --git a/client/lualibs/read14a.lua b/client/lualibs/read14a.lua index 5134fa941..18339f921 100644 --- a/client/lualibs/read14a.lua +++ b/client/lualibs/read14a.lua @@ -26,7 +26,7 @@ local ISO14A_COMMAND = { } local ISO14443a_TYPES = {} -ISO14443a_TYPES[0x00] = "NXP MIFARE Ultralight | Ultralight C" +ISO14443a_TYPES[0x00] = "NXP MIFARE Ultralight | Ultralight C | NTAG" ISO14443a_TYPES[0x01] = "NXP MIFARE TNP3xxx Activision Game Appliance" ISO14443a_TYPES[0x04] = "NXP MIFARE (various !DESFire !DESFire EV1)" ISO14443a_TYPES[0x08] = "NXP MIFARE CLASSIC 1k | Plus 2k" @@ -78,7 +78,7 @@ end -- nil, errormessage if unsuccessfull local function sendToDevice(command, ignoreresponse) - --core.clearCommandBuffer( + --core.clearCommandBuffer() local err = core.SendCommand(command:getBytes()) if err then print(err) diff --git a/client/lualibs/utils.lua b/client/lualibs/utils.lua index b86b016bd..00c67cccf 100644 --- a/client/lualibs/utils.lua +++ b/client/lualibs/utils.lua @@ -140,7 +140,7 @@ local Utils = ------------ CRC-64 ecma checksums - -- Takes a hex string and calculates a crc64 ecma + -- Takes a hex string and calculates a crc64 ecma hash Crc64 = function(s) if s == nil then return nil end if #s == 0 then return nil end @@ -152,6 +152,19 @@ local Utils = end return nil end, + ------------ CRC-64 ecma 182 checksums + -- Takes a hex string and calculates a crc64 ecma182 hash + Crc64_ecma182 = function(s) + if s == nil then return nil end + if #s == 0 then return nil end + if type(s) == 'string' then + local utils = require('utils') + local asc = utils.ConvertHexToAscii(s) + local hash = core.crc64_ecma182(asc) + return hash + end + return nil + end, ------------ SHA1 hash -- Takes a string and calculates a SHA1 hash