mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-01-28 02:50:21 +08:00
ADD; added Marshmellow42 's fixes for indala and stuff.
CHG: updated the CHANGELOG.md
This commit is contained in:
parent
0db11b71ef
commit
eb891c385e
7 changed files with 68 additions and 55 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -20,7 +20,15 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
|
|||
- Started to add Peter Fillmore's EMV fork into Iceman fork. ref: https://github.com/peterfillmore/proxmark3 (peter fillmore, iceman)
|
||||
- Added Travis-CI automatic build integration with GitHub fork. (iceman)
|
||||
- Updated the Reveng 1.30 sourcecode to 1.31 from Reveng projecthomepage (iceman)
|
||||
|
||||
|
||||
- Added possibility to write direct to a Legic Prime Tag (MIM256/1024) without using values from the 'BigBuffer' -> 'hf legic writeRaw <addr> <value>' (icsom)
|
||||
- Added possibility to decrease DCF values at address 0x05 & 0x06 on a Legic Prime Tag
|
||||
DCF-value will be pulled from the BigBuffer (address 0x05 & 0x06) so you have to
|
||||
load the data into the BigBuffer before with 'hf legic load <path/to/legic.dump>' & then
|
||||
write the DCF-Values (both at once) with 'hf legic write 0x05 0x02' (icsom)
|
||||
- Added script `legic.lua` for display and edit Data of Legic-Prime Tags (icsom)
|
||||
- Added the experimental HITAG_S support (spenneb)
|
||||
|
||||
### Added
|
||||
- Added a LF ASK Sequence Terminator detection option to the standard ask demod - and applied it to `lf search u`, `lf t55xx detect`, and `data rawdemod am s` (marshmellow)
|
||||
- `lf awid bruteforce <facilitycode>` - Simple bruteforce attack against a AWID reader.
|
||||
|
|
|
@ -57,7 +57,8 @@ Among the stuff is
|
|||
* A Bruteforce for AWID 26, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a AWID Reader.
|
||||
* A Bruteforce for HID, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a HID Reader.
|
||||
* Blaposts Crapto1 v3.3
|
||||
|
||||
|
||||
* icsom's legic script and legic enhancements
|
||||
|
||||
Give me a hint, and I'll see if I can't merge in the stuff you have.
|
||||
|
||||
|
|
|
@ -110,11 +110,14 @@ CMDSRCS = nonce2key/crapto1.c\
|
|||
cmdlfem4x.c \
|
||||
cmdlfhitag.c \
|
||||
cmdlfti.c \
|
||||
cmdlfviking.c\
|
||||
cmdparser.c \
|
||||
cmdmain.c \
|
||||
cmdlft55xx.c \
|
||||
cmdlfpcf7931.c\
|
||||
cmdlfviking.c\
|
||||
cmdlfpresco.c\
|
||||
cmdlfpyramid.c\
|
||||
cmdlfguard.c\
|
||||
pm3_binlib.c\
|
||||
scripting.c\
|
||||
cmdscript.c\
|
||||
|
@ -133,11 +136,7 @@ CMDSRCS = nonce2key/crapto1.c\
|
|||
tea.c\
|
||||
prng.c\
|
||||
radixsort.c\
|
||||
bucketsort.c\
|
||||
cmdlfpresco.c\
|
||||
cmdlfpyramid.c\
|
||||
cmdlfguard.c
|
||||
|
||||
bucketsort.c
|
||||
ZLIBSRCS = deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c
|
||||
ZLIB_FLAGS = -DZ_SOLO -DZ_PREFIX -DNO_GZIP -DZLIB_PM3_TUNED
|
||||
#-DDEBUG -Dverbose=1
|
||||
|
|
|
@ -8,23 +8,22 @@
|
|||
// Data and Graph commands
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include "proxmark3.h"
|
||||
#include "data.h"
|
||||
#include "ui.h"
|
||||
#include "graph.h"
|
||||
#include "cmdparser.h"
|
||||
#include <stdio.h> // also included in util.h
|
||||
#include <string.h> // also included in util.h
|
||||
#include <limits.h> // for CmdNorm INT_MIN && INT_MAX
|
||||
#include "data.h" // also included in util.h
|
||||
#include "cmddata.h"
|
||||
#include "util.h"
|
||||
#include "cmdmain.h"
|
||||
#include "cmddata.h"
|
||||
#include "lfdemod.h"
|
||||
#include "usb_cmd.h"
|
||||
#include "crc.h"
|
||||
#include "crc16.h"
|
||||
#include "loclass/cipherutils.h"
|
||||
#include "proxmark3.h"
|
||||
#include "ui.h" // for show graph controls
|
||||
#include "graph.h" // for graph data
|
||||
#include "cmdparser.h"// already included in cmdmain.h
|
||||
#include "usb_cmd.h" // already included in cmdmain.h and proxmark3.h
|
||||
#include "lfdemod.h" // for demod code
|
||||
#include "crc.h" // for pyramid checksum maxim
|
||||
#include "crc16.h" // for FDXB demod checksum
|
||||
#include "loclass/cipherutils.h" // for decimating samples in getsamples
|
||||
|
||||
uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN];
|
||||
uint8_t g_debugMode=0;
|
||||
|
@ -1265,7 +1264,7 @@ int CmdFSKdemodAWID(const char *Cmd)
|
|||
//get binary from fsk wave
|
||||
int idx = AWIDdemodFSK(BitStream, &size);
|
||||
if (idx<=0){
|
||||
if (g_debugMode==1){
|
||||
if (g_debugMode){
|
||||
if (idx == -1)
|
||||
PrintAndLog("DEBUG: Error - not enough samples");
|
||||
else if (idx == -2)
|
||||
|
@ -1303,7 +1302,7 @@ int CmdFSKdemodAWID(const char *Cmd)
|
|||
|
||||
size = removeParity(BitStream, idx+8, 4, 1, 88);
|
||||
if (size != 66){
|
||||
if (g_debugMode==1) PrintAndLog("DEBUG: Error - at parity check-tag size does not match AWID format");
|
||||
if (g_debugMode) PrintAndLog("DEBUG: Error - at parity check-tag size does not match AWID format");
|
||||
return 0;
|
||||
}
|
||||
// ok valid card found!
|
||||
|
@ -1363,7 +1362,7 @@ int CmdFSKdemodPyramid(const char *Cmd)
|
|||
//get binary from fsk wave
|
||||
int idx = PyramiddemodFSK(BitStream, &size);
|
||||
if (idx < 0){
|
||||
if (g_debugMode==1){
|
||||
if (g_debugMode){
|
||||
if (idx == -5)
|
||||
PrintAndLog("DEBUG: Error - not enough samples");
|
||||
else if (idx == -1)
|
||||
|
@ -1419,7 +1418,7 @@ int CmdFSKdemodPyramid(const char *Cmd)
|
|||
|
||||
size = removeParity(BitStream, idx+8, 8, 1, 120);
|
||||
if (size != 105){
|
||||
if (g_debugMode==1)
|
||||
if (g_debugMode)
|
||||
PrintAndLog("DEBUG: Error at parity check - tag size does not match Pyramid format, SIZE: %d, IDX: %d, hi3: %x",size, idx, rawHi3);
|
||||
return 0;
|
||||
}
|
||||
|
@ -1637,21 +1636,21 @@ int CmdIndalaDecode(const char *Cmd)
|
|||
}
|
||||
|
||||
if (!ans){
|
||||
if (g_debugMode==1)
|
||||
if (g_debugMode)
|
||||
PrintAndLog("Error1: %d",ans);
|
||||
return 0;
|
||||
}
|
||||
uint8_t invert=0;
|
||||
size_t size = DemodBufferLen;
|
||||
size_t startIdx = indala26decode(DemodBuffer, &size, &invert);
|
||||
if (startIdx < 1 || size > 224) {
|
||||
if (g_debugMode==1)
|
||||
int startIdx = indala26decode(DemodBuffer, &size, &invert);
|
||||
if (startIdx < 0 || size > 224) {
|
||||
if (g_debugMode)
|
||||
PrintAndLog("Error2: %d",ans);
|
||||
return -1;
|
||||
}
|
||||
setDemodBuf(DemodBuffer, size, startIdx);
|
||||
setDemodBuf(DemodBuffer, size, (size_t)startIdx);
|
||||
if (invert)
|
||||
if (g_debugMode==1)
|
||||
if (g_debugMode)
|
||||
PrintAndLog("Had to invert bits");
|
||||
|
||||
PrintAndLog("BitLen: %d",DemodBufferLen);
|
||||
|
|
|
@ -11,6 +11,12 @@
|
|||
#ifndef CMDDATA_H__
|
||||
#define CMDDATA_H__
|
||||
|
||||
#include <stdlib.h> //size_t
|
||||
#include <stdint.h> //uint_32+
|
||||
#include <stdbool.h> //bool
|
||||
|
||||
#include "cmdparser.h" // for command_t
|
||||
|
||||
command_t * CmdDataCommands();
|
||||
|
||||
int CmdData(const char *Cmd);
|
||||
|
|
|
@ -15,26 +15,27 @@
|
|||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include "proxmark3.h"
|
||||
#include "data.h"
|
||||
#include "graph.h"
|
||||
#include "ui.h"
|
||||
#include "cmdparser.h"
|
||||
#include "cmdmain.h"
|
||||
#include "cmddata.h"
|
||||
#include "util.h"
|
||||
#include "cmdlfhid.h"
|
||||
#include "cmdlfawid.h"
|
||||
#include "cmdlfti.h"
|
||||
#include "cmdlfem4x.h"
|
||||
#include "cmdlfhitag.h"
|
||||
#include "cmdlft55xx.h"
|
||||
#include "cmdlfpcf7931.h"
|
||||
#include "cmdlfio.h"
|
||||
#include "lfdemod.h"
|
||||
#include "cmdlfviking.h"
|
||||
#include "cmdlfpresco.h"
|
||||
#include "cmdlfpyramid.h"
|
||||
#include "cmdlfguard.h"
|
||||
|
||||
#include "util.h" // for parsing cli command utils
|
||||
#include "ui.h" // for show graph controls
|
||||
#include "graph.h" // for graph data
|
||||
#include "cmdparser.h" // for getting cli commands included in cmdmain.h
|
||||
#include "cmdmain.h" // for sending cmds to device
|
||||
#include "data.h" // for GetFromBigBuf
|
||||
#include "cmddata.h" // for `lf search`
|
||||
#include "cmdlfawid.h" // for awid menu
|
||||
#include "cmdlfem4x.h" // for em4x menu
|
||||
#include "cmdlfhid.h" // for hid menu
|
||||
#include "cmdlfhitag.h" // for hitag menu
|
||||
#include "cmdlfio.h" // for ioprox menu
|
||||
#include "cmdlft55xx.h" // for t55xx menu
|
||||
#include "cmdlfti.h" // for ti menu
|
||||
#include "cmdlfpresco.h" // for presco menu
|
||||
#include "cmdlfpcf7931.h"// for pcf7931 menu
|
||||
#include "cmdlfpyramid.h"// for pyramid menu
|
||||
#include "cmdlfviking.h" // for viking menu
|
||||
#include "cmdlfguard.h" // for GuardAll menu
|
||||
|
||||
int CmdLF(const char *Cmd);
|
||||
|
||||
|
|
|
@ -9,13 +9,12 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h> //included in data.h
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <time.h>
|
||||
#include "data.h"
|
||||
#include "data.h" //for FILE_PATH_SIZE
|
||||
|
||||
#ifndef ROTR
|
||||
# define ROTR(x,n) (((uintmax_t)(x) >> (n)) | ((uintmax_t)(x) << ((sizeof(x) * 8) - (n))))
|
||||
|
|
Loading…
Reference in a new issue