2017-07-28 02:48:49 +08:00
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Merlok - June 2011
|
|
|
|
// Roel - Dec 2009
|
|
|
|
// Unknown author
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// MIFARE Darkside hack
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef MFKEY_H
|
|
|
|
#define MFKEY_H
|
|
|
|
|
2019-08-08 22:57:33 +08:00
|
|
|
#include "common.h"
|
2017-07-28 02:48:49 +08:00
|
|
|
#include "mifare.h"
|
|
|
|
|
2019-04-06 06:52:55 +08:00
|
|
|
uint32_t nonce2key(uint32_t uid, uint32_t nt, uint32_t nr, uint32_t ar, uint64_t par_info, uint64_t ks_info, uint64_t **keys);
|
|
|
|
bool mfkey32(nonces_t data, uint64_t *outputkey);
|
|
|
|
bool mfkey32_moebius(nonces_t data, uint64_t *outputkey);
|
|
|
|
int mfkey64(nonces_t data, uint64_t *outputkey);
|
2017-07-28 02:48:49 +08:00
|
|
|
|
2019-04-06 06:52:55 +08:00
|
|
|
int compare_uint64(const void *a, const void *b);
|
|
|
|
uint32_t intersection(uint64_t *listA, uint64_t *listB);
|
2017-12-07 00:15:24 +08:00
|
|
|
|
2017-07-28 02:48:49 +08:00
|
|
|
#endif
|