]> cvs.zerfleddert.de Git - proxmark3-svn/commitdiff
ADD; added Marshmellow42 's fixes for indala and stuff.
authoriceman1001 <iceman@iuse.se>
Sun, 6 Mar 2016 06:56:44 +0000 (07:56 +0100)
committericeman1001 <iceman@iuse.se>
Sun, 6 Mar 2016 06:56:44 +0000 (07:56 +0100)
CHG: updated the CHANGELOG.md

CHANGELOG.md
README.md
client/Makefile
client/cmddata.c
client/cmddata.h
client/cmdlf.h
client/util.h

index b365dcf04c9898d267c090c1f04b12eb062753f2..1539360eebc10f0a4f73509998cad57c9a028e1e 100644 (file)
@@ -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.
index 4e6920c90a6ae120a0e8e635a44bf5dcd99cd104..2c02d0ef30f39d4104144d2ef7d2bc205f3a364b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -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. 
 
index 3345aa8b88a2750fe0ad57acc7097280c1da9136..135227e0de5f19ca0909a20f3fb6a54e7ff52e2d 100644 (file)
@@ -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
index 967fa28f2655e02aeb19b9994b81f730062cf42f..902a63633cf661a9ce5b4512a6f0e3c5600b2726 100644 (file)
@@ -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);
index 20bdbd2b193d5e4de45b94310a1f3b54cdddc6a1..9b9f2da92d2945879a74e483b5a4790bd8e212f0 100644 (file)
 #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);
index 21c79b424a22a6385c87e300df6884403b1bf584..1bb9416214e32dc0e1019f1cd87a02c6c160d98b 100644 (file)
 #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);
 
index 9c16ba5b1dfab4215ac205caeaab5ad60d8a4084..990a84445a0be37252667574b6ea924383ee9505 100644 (file)
@@ -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))))
Impressum, Datenschutz