ADD: Holimans new changes in master.
This commit is contained in:
@@ -30,13 +30,9 @@
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with loclass. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*
|
||||
* along with IClassCipher. If not, see <http://www.gnu.org/licenses/>.
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#include "cipher.h"
|
||||
#include "cipherutils.h"
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -30,13 +30,9 @@
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with loclass. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*
|
||||
* along with IClassCipher. If not, see <http://www.gnu.org/licenses/>.
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifndef CIPHER_H
|
||||
#define CIPHER_H
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -30,10 +30,7 @@
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with loclass. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*
|
||||
* along with IClassCipher. If not, see <http://www.gnu.org/licenses/>.
|
||||
****************************************************************************/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -30,13 +30,9 @@
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with loclass. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*
|
||||
* along with IClassCipher. If not, see <http://www.gnu.org/licenses/>.
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#ifndef CIPHERUTILS_H
|
||||
#define CIPHERUTILS_H
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -79,6 +79,7 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si
|
||||
FILE *fh=fopen(fileName,"wb");
|
||||
if(!fh) {
|
||||
PrintAndLog("Failed to write to file '%s'", fileName);
|
||||
free(fh);
|
||||
return 1;
|
||||
}
|
||||
fwrite(data, 1, datalen, fh);
|
||||
@@ -94,10 +95,12 @@ int loadFile(const char *fileName, void* data, size_t datalen)
|
||||
FILE *filehandle = fopen(fileName, "rb");
|
||||
if(!filehandle) {
|
||||
PrintAndLog("Failed to read from file '%s'", fileName);
|
||||
free(filehandle);
|
||||
return 1;
|
||||
}
|
||||
fread(data,datalen,1,filehandle);
|
||||
fclose(filehandle);
|
||||
free(filehandle);
|
||||
return 0;
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -64,7 +64,7 @@ int loadFile(const char *fileName, void* data, size_t datalen);
|
||||
* Utility function to print to console. This is used consistently within the library instead
|
||||
* of printf, but it actually only calls printf. The reason to have this method is to
|
||||
*make it simple to plug this library into proxmark, which has this function already to
|
||||
* write also to a logfile. When doing so, just delete this function.
|
||||
* write also to a logfile. When doing so, just point this function to use PrintAndLog
|
||||
* @param fmt
|
||||
*/
|
||||
void prnlog(char *fmt, ...);
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
* Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and
|
||||
* Milosch Meriac in the paper "Dismantling IClass".
|
||||
*
|
||||
* This is a reference implementation of iclass key diversification. I'm sure it can be
|
||||
* optimized heavily. It is written for ease of understanding and correctness, please take it
|
||||
* and tweak it and make a super fast version instead, using this for testing and verification.
|
||||
|
||||
* Copyright (C) 2014 Martin Holst Swende
|
||||
*
|
||||
* This is free software: you can redistribute it and/or modify
|
||||
@@ -30,12 +34,8 @@
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with loclass. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*
|
||||
*
|
||||
* along with IClassCipher. If not, see <http://www.gnu.org/licenses/>.
|
||||
****************************************************************************/
|
||||
|
||||
/**
|
||||
|
||||
|
||||
@@ -403,7 +403,7 @@ void diversifyKey(uint8_t csn[8], uint8_t key[8], uint8_t div_key[8])
|
||||
|
||||
//Calculate HASH0(DES))
|
||||
uint64_t crypt_csn = x_bytes_to_num(crypted_csn, 8);
|
||||
uint64_t crypted_csn_swapped = swapZvalues(crypt_csn);
|
||||
//uint64_t crypted_csn_swapped = swapZvalues(crypt_csn);
|
||||
|
||||
hash0(crypt_csn,div_key);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user