]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
Merge branch 'master' into master
authorgrauerfuchs <42082416+grauerfuchs@users.noreply.github.com>
Fri, 14 Sep 2018 01:30:24 +0000 (21:30 -0400)
committerGitHub <noreply@github.com>
Fri, 14 Sep 2018 01:30:24 +0000 (21:30 -0400)
1  2 
CHANGELOG.md
armsrc/appmain.c
client/Makefile

diff --combined CHANGELOG.md
index 3b454f64f8c99b07cfc5780aa1b29f558e7082c0,ca13dc858c1683cf5cf48935e1f39a7fb933e528..f10ef4e24f6f79a824839ed8e58e165090fdecae
@@@ -18,7 -18,7 +18,8 @@@ This project uses the changelog in acco
  - Changed `hf 14a raw` - works with LED's and some exchange logic (Merlok)
  - Changed TLV parser messages to more convenient (Merlok)
  - Rewritten Legic Prime reader (`hf legic reader`, `write` and `fill`) - it is using xcorrelation now (AntiCat)
+ - `hf 14a` commands works via argtable3 commandline parsing library (Merlok)
 +- HID LF operations on firmware updated for complete native support of long (>37 bit) HID tags (grauerfuchs)
  
  ### Fixed
  - Changed start sequence in Qt mode (fix: short commands hangs main Qt thread) (Merlok)
@@@ -53,8 -53,6 +54,8 @@@
  - Added to `hf emv exec` SDA, DDA, fast DDA, CDA calculations for VISA and Mastercard and some other compatible EMV cards (Merlok)
  - Added `hf emv test` - crypto tests for DES, AES, SHA, RSA, SDA, DDA, CDA and some other crypto functions (Merlok)
  - Added `hf list mf` - deciphers crypto1 stream and works with first authentication and weak nested authentications (Merlok)
 +- Added `lf hid encode` and `lf hid decode` commands to translate printed HID card data to and from the packed data transmitted by a prox tag (grauerfuchs)
 +- Added `lf hid write` command, which operates as a macro for encode followed by clone operations (grauerfuchs)
  
  ## [3.0.1][2017-06-08]
  
  ### 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. 
 -
 -
diff --combined armsrc/appmain.c
index 5995df6472eaf24df509f6c03e459e8f7ea43ffe,f7bcd620348a0b5e90fc0ab1f3f19699d5cd2236..e6d40abceb7e580ec4453b0a45a1c9509967c6d6
@@@ -21,6 -21,7 +21,7 @@@
  #include "printf.h"
  #include "string.h"
  #include "legicrf.h"
+ #include "legicrfsim.h"
  #include "hitag2.h"
  #include "hitagS.h"
  #include "lfsampling.h"
@@@ -649,7 -650,7 +650,7 @@@ void SamyRun(
        StandAloneMode();
        FpgaDownloadAndGo(FPGA_BITSTREAM_LF);
  
 -      int high[OPTS], low[OPTS];
 +      int tops[OPTS], high[OPTS], low[OPTS];
        int selected = 0;
        int playing = 0;
        int cardRead = 0;
                        /* need this delay to prevent catching some weird data */
                        SpinDelay(500);
  
 -                      CmdHIDdemodFSK(1, &high[selected], &low[selected], 0);
 -                      Dbprintf("Recorded %x %x%08x", selected, high[selected], low[selected]);
 +                      CmdHIDdemodFSK(1, &tops[selected], &high[selected], &low[selected], 0);
 +                      if (tops[selected] > 0)
 +                              Dbprintf("Recorded %x %x%08x%08x", selected, tops[selected], high[selected], low[selected]);
 +                      else
 +                              Dbprintf("Recorded %x %x%08x", selected, high[selected], low[selected]);
  
                        LEDsoff();
                        LED(selected + 1, 0);
                                        LED(LED_ORANGE, 0);
  
                                        // record
 -                                      Dbprintf("Cloning %x %x%08x", selected, high[selected], low[selected]);
 +                                      if (tops[selected] > 0)
 +                                              Dbprintf("Cloning %x %x%08x%08x", selected, tops[selected], high[selected], low[selected]);
 +                                      else
 +                                              Dbprintf("Cloning %x %x%08x", selected, high[selected], low[selected]);
  
                                        // wait for button to be released
                                        while(BUTTON_PRESS())
                                        /* need this delay to prevent catching some weird data */
                                        SpinDelay(500);
  
 -                                      CopyHIDtoT55x7(0, high[selected], low[selected], 0);
 -                                      Dbprintf("Cloned %x %x%08x", selected, high[selected], low[selected]);
 +                                      CopyHIDtoT55x7(tops[selected] & 0x000FFFFF, high[selected], low[selected], (tops[selected] != 0 && ((high[selected]& 0xFFFFFFC0) != 0)));
 +                                      if (tops[selected] > 0)
 +                                              Dbprintf("Cloned %x %x%08x%08x", selected, tops[selected], high[selected], low[selected]);
 +                                      else
 +                                              Dbprintf("Cloned %x %x%08x", selected, high[selected], low[selected]);
  
                                        LEDsoff();
                                        LED(selected + 1, 0);
                                // wait for button to be released
                                while(BUTTON_PRESS())
                                        WDT_HIT();
 -                              Dbprintf("%x %x%08x", selected, high[selected], low[selected]);
 -                              CmdHIDsimTAG(high[selected], low[selected], 0);
 +                              if (tops[selected] > 0)
 +                                      Dbprintf("%x %x%08x%08x", selected, tops[selected], high[selected], low[selected]);
 +                              else
 +                                      Dbprintf("%x %x%08x", selected, high[selected], low[selected]);
 +                              
 +                              CmdHIDsimTAG(tops[selected], high[selected], low[selected], 0);
                                DbpString("Done playing");
                                if (BUTTON_HELD(1000) > 0)
                                        {
@@@ -960,10 -948,10 +961,10 @@@ void UsbPacketReceived(uint8_t *packet
                        cmd_send(CMD_ACK,SnoopLF(),0,0,0,0);
                        break;
                case CMD_HID_DEMOD_FSK:
 -                      CmdHIDdemodFSK(c->arg[0], 0, 0, 1);
 +                      CmdHIDdemodFSK(c->arg[0], 0, 0, 0, 1);
                        break;
                case CMD_HID_SIM_TAG:
 -                      CmdHIDsimTAG(c->arg[0], c->arg[1], 1);
 +                      CmdHIDsimTAG(c->arg[0], c->arg[1], c->arg[2], 1);
                        break;
                case CMD_FSK_SIM_TAG:
                        CmdFSKsimTAG(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes);
  
  #ifdef WITH_LEGICRF
                case CMD_SIMULATE_TAG_LEGIC_RF:
-                       LegicRfSimulate(c->arg[0], c->arg[1], c->arg[2]);
+                       LegicRfSimulate(c->arg[0]);
                        break;
  
                case CMD_WRITER_LEGIC_RF:
diff --combined client/Makefile
index 7c79b63b7053b554aefae2b2d246aedc46107365,54a77a847c26c1600abe2a92e63dad8120728393..e2f3e99219a92d0d41fb5f8304ef191bf54e7381
@@@ -106,6 -106,8 +106,8 @@@ CMDSRCS =  $(SRC_SMARTCARD) 
                        polarssl/bignum.c\
                        polarssl/rsa.c\
                        polarssl/sha1.c\
+                       cliparser/argtable3.c\
+                       cliparser/cliparser.c\
                        mfkey.c\
                        loclass/cipher.c \
                        loclass/cipherutils.c \
                        cmdlfem4x.c \
                        cmdlffdx.c \
                        cmdlfgproxii.c \
 +                      hidcardformatutils.c\
 +                      hidcardformats.c\
                        cmdlfhid.c \
                        cmdlfhitag.c \
                        cmdlfio.c \
Impressum, Datenschutz