mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
add: 'wiegand commands' - wiegand manipulation like encoding / decoding of credentials. From offical repo (@grauerfuchs)
Adapted and converted to fit this repo.
This commit is contained in:
parent
d3651cc075
commit
7abc10c63a
9 changed files with 1243 additions and 1 deletions
48
client/wiegand_formats.h
Normal file
48
client/wiegand_formats.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (C) 2018 grauerfuchs
|
||||
//
|
||||
// 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.
|
||||
//-----------------------------------------------------------------------------
|
||||
// Wiegand format packing/unpacking routines
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef WIEGAND_FORMATS_H__
|
||||
#define WIEGAND_FORMATS_H__
|
||||
|
||||
#include <strings.h> // memset
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include "cmddata.h"
|
||||
#include "wiegand_formatutils.h"
|
||||
#include "parity.h" // for parity
|
||||
#include "ui.h"
|
||||
|
||||
typedef struct {
|
||||
bool hasCardNumber;
|
||||
bool hasFacilityCode;
|
||||
bool hasIssueLevel;
|
||||
bool hasOEMCode;
|
||||
bool hasParity;
|
||||
} cardformatdescriptor_t;
|
||||
|
||||
// Structure for defined Wiegand card formats available for packing/unpacking
|
||||
typedef struct {
|
||||
const char* Name;
|
||||
bool (*Pack)(wiegand_card_t* card, wiegand_message_t* packed);
|
||||
bool (*Unpack)(wiegand_message_t* packed, wiegand_card_t* card);
|
||||
const char* Descrp;
|
||||
cardformatdescriptor_t Fields;
|
||||
} cardformat_t;
|
||||
|
||||
void HIDListFormats();
|
||||
int HIDFindCardFormat(const char *format);
|
||||
cardformat_t HIDGetCardFormat(int idx);
|
||||
bool HIDPack(int FormatIndex, wiegand_card_t* card, wiegand_message_t* packed);
|
||||
bool HIDTryUnpack(wiegand_message_t* packed, bool ignoreParity);
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue