From ea1c1ca6f88c4e9b1bcb75cd703f6be81df9b95c Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 3 Jan 2017 19:32:24 +0100 Subject: [PATCH] CHG: 'analyse hid' added @holiman 's permute functions to the output to verify --- client/cmdanalyse.c | 19 +++++++++++++++---- client/cmdanalyse.h | 1 + 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/client/cmdanalyse.c b/client/cmdanalyse.c index 3f967ac66..32309c1c2 100644 --- a/client/cmdanalyse.c +++ b/client/cmdanalyse.c @@ -445,6 +445,9 @@ static void generate(uint8_t *data, uint8_t len) { } int CmdAnalyseHid(const char *Cmd){ + uint8_t key[8] = {0}; + uint8_t key_std_format[8] = {0}; + uint8_t key_iclass_format[8] = {0}; uint8_t data[16] = {0}; bool isReverse = FALSE; int len = 0; @@ -457,12 +460,20 @@ int CmdAnalyseHid(const char *Cmd){ param_gethex_ex(Cmd, 1, data, &len); if ( len%2 ) return usage_analyse_hid(); - len >>= 1; - - if ( isReverse ) + len >>= 1; + + memcpy(key, data, 8); + + if ( isReverse ) { generate_rev(data, len); - else + permutekey_rev(key, key_std_format); + printf(" holiman iclass key | %s \n", sprint_hex(key_std_format, 8)); + } + else { generate(data, len); + permutekey(key, key_iclass_format); + printf(" holiman std key | %s \n", sprint_hex(key_iclass_format, 8)); + } return 0; } diff --git a/client/cmdanalyse.h b/client/cmdanalyse.h index e5bb227c4..70e472cdd 100644 --- a/client/cmdanalyse.h +++ b/client/cmdanalyse.h @@ -21,6 +21,7 @@ #include "../common/iso15693tools.h" #include "tea.h" #include "../include/legic_prng.h" +#include "loclass/elite_crack.h" int usage_analyse_lcr(void); int usage_analyse_checksum(void);