mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
add: missing two hard_nested files..
This commit is contained in:
parent
d08faa4e02
commit
8ce3e4b4e9
5 changed files with 1092 additions and 31 deletions
|
@ -1060,9 +1060,9 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol)
|
|||
* Q5 tags seems to have issues when these values changes.
|
||||
*/
|
||||
|
||||
#define START_GAP 50*8 // was 250 // SPEC: 1*8 to 50*8 - typ 15*8 (or 15fc)
|
||||
#define START_GAP 31*8 // was 250 // SPEC: 1*8 to 50*8 - typ 15*8 (or 15fc)
|
||||
#define WRITE_GAP 20*8 // was 160 // SPEC: 1*8 to 20*8 - typ 10*8 (or 10fc)
|
||||
#define WRITE_0 16*8 // was 144 // SPEC: 16*8 to 32*8 - typ 24*8 (or 24fc)
|
||||
#define WRITE_0 18*8 // was 144 // SPEC: 16*8 to 32*8 - typ 24*8 (or 24fc)
|
||||
#define WRITE_1 50*8 // was 400 // SPEC: 48*8 to 64*8 - typ 56*8 (or 56fc) 432 for T55x7; 448 for E5550
|
||||
#define READ_GAP 15*8
|
||||
|
||||
|
@ -1260,7 +1260,7 @@ void T55xxWakeUp(uint32_t Pwd){
|
|||
void WriteT55xx(uint32_t *blockdata, uint8_t startblock, uint8_t numblocks) {
|
||||
// write last block first and config block last (if included)
|
||||
for (uint8_t i = numblocks+startblock; i > startblock; i--)
|
||||
T55xxWriteBlockExt(blockdata[i-1],i-1,0,0);
|
||||
T55xxWriteBlockExt(blockdata[i-1], i-1, 0, 0);
|
||||
}
|
||||
|
||||
// Copy HID id to card and setup block 0 config
|
||||
|
@ -1429,11 +1429,11 @@ void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) {
|
|||
LED_D_ON();
|
||||
|
||||
// Write EM410x ID
|
||||
uint32_t data[] = {0, id>>32, id & 0xFFFFFFFF};
|
||||
uint32_t data[] = {0, (uint32_t)(id>>32), id & 0xFFFFFFFF};
|
||||
|
||||
clock = (card & 0xFF00) >> 8;
|
||||
clock = (clock == 0) ? 64 : clock;
|
||||
Dbprintf("Clock rate: %d", clock);
|
||||
clock = (card & 0xFF00) >> 8;
|
||||
clock = (clock == 0) ? 64 : clock;
|
||||
Dbprintf("Clock rate: %d", clock);
|
||||
if (card & 0xFF) { //t55x7
|
||||
clock = GetT55xxClockBit(clock);
|
||||
if (clock == 0) {
|
||||
|
@ -1449,8 +1449,10 @@ void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) {
|
|||
WriteT55xx(data, 0, 3);
|
||||
|
||||
LED_D_OFF();
|
||||
Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555",
|
||||
(uint32_t)(id >> 32), (uint32_t)id);
|
||||
Dbprintf("Tag %s written with 0x%08x%08x\n",
|
||||
card ? "T55x7":"T5555",
|
||||
(uint32_t)(id >> 32),
|
||||
(uint32_t)id);
|
||||
}
|
||||
|
||||
//-----------------------------------
|
||||
|
|
1058
client/cmdhfmfhard.c
Normal file
1058
client/cmdhfmfhard.c
Normal file
File diff suppressed because it is too large
Load diff
11
client/cmdhfmfhard.h
Normal file
11
client/cmdhfmfhard.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (C) 2015 piwi
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// hf mf hardnested command
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo, uint8_t trgKeyType, bool nonce_file_read, bool nonce_file_write, bool slow);
|
|
@ -173,7 +173,7 @@ int CmdEM410xWrite(const char *Cmd)
|
|||
{
|
||||
uint64_t id = 0xFFFFFFFFFFFFFFFF; // invalid id value
|
||||
int card = 0xFF; // invalid card value
|
||||
unsigned int clock = 0; // invalid clock value
|
||||
uint32_t clock = 0; // invalid clock value
|
||||
|
||||
sscanf(Cmd, "%" PRIx64 " %d %d", &id, &card, &clock);
|
||||
|
||||
|
@ -199,8 +199,8 @@ int CmdEM410xWrite(const char *Cmd)
|
|||
|
||||
// Check Clock
|
||||
// Default: 64
|
||||
if (clock == 0)
|
||||
clock = 64;
|
||||
if (clock == 0)
|
||||
clock = 64;
|
||||
|
||||
// Allowed clock rates: 16, 32, 40 and 64
|
||||
if ((clock != 16) && (clock != 32) && (clock != 64) && (clock != 40)) {
|
||||
|
@ -225,7 +225,6 @@ int CmdEM410xWrite(const char *Cmd)
|
|||
|
||||
UsbCommand c = {CMD_EM410X_WRITE_TAG, {card, (uint32_t)(id >> 32), (uint32_t)id}};
|
||||
SendCommand(&c);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,24 +7,15 @@
|
|||
// ATA55xx shared presets & routines
|
||||
uint32_t GetT55xxClockBit(uint32_t clock) {
|
||||
switch (clock) {
|
||||
case 128:
|
||||
return T55x7_BITRATE_RF_128;
|
||||
case 100:
|
||||
return T55x7_BITRATE_RF_100;
|
||||
case 64:
|
||||
return T55x7_BITRATE_RF_64;
|
||||
case 50:
|
||||
return T55x7_BITRATE_RF_50;
|
||||
case 40:
|
||||
return T55x7_BITRATE_RF_40;
|
||||
case 32:
|
||||
return T55x7_BITRATE_RF_32;
|
||||
case 16:
|
||||
return T55x7_BITRATE_RF_16;
|
||||
case 8:
|
||||
return T55x7_BITRATE_RF_8;
|
||||
default:
|
||||
return 0;
|
||||
case 128: return T55x7_BITRATE_RF_128;
|
||||
case 100: return T55x7_BITRATE_RF_100;
|
||||
case 64: return T55x7_BITRATE_RF_64;
|
||||
case 50: return T55x7_BITRATE_RF_50;
|
||||
case 40: return T55x7_BITRATE_RF_40;
|
||||
case 32: return T55x7_BITRATE_RF_32;
|
||||
case 16: return T55x7_BITRATE_RF_16;
|
||||
case 8: return T55x7_BITRATE_RF_8;
|
||||
default : return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue