mirror of
https://github.com/nfc-tools/mfcuk.git
synced 2026-03-10 17:43:50 +00:00
Compare commits
4 Commits
mfcuk-0.3.
...
mfcuk-0.3.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c5aff4a1b | ||
|
|
444dd2a765 | ||
|
|
445b281277 | ||
|
|
d43410c0cb |
@@ -1,4 +1,4 @@
|
|||||||
AC_INIT([mfcuk], [0.3.7], [zveriu@gmail.com])
|
AC_INIT([mfcuk], [0.3.8], [zveriu@gmail.com])
|
||||||
|
|
||||||
AC_CONFIG_MACRO_DIR([m4])
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
|
|||||||
@@ -311,7 +311,6 @@ continue2:
|
|||||||
|
|
||||||
uint8_t lfsr_rollback_bit(struct Crypto1State *s, uint32_t in, int fb);
|
uint8_t lfsr_rollback_bit(struct Crypto1State *s, uint32_t in, int fb);
|
||||||
uint8_t lfsr_rollback_byte(struct Crypto1State *s, uint32_t in, int fb);
|
uint8_t lfsr_rollback_byte(struct Crypto1State *s, uint32_t in, int fb);
|
||||||
uint32_t lfsr_rollback_word(struct Crypto1State *s, uint32_t in, int fb);
|
|
||||||
uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd);
|
uint32_t *lfsr_prefix_ks(uint8_t ks[8], int isodd);
|
||||||
|
|
||||||
/** lfsr_rollback_bit
|
/** lfsr_rollback_bit
|
||||||
@@ -450,8 +449,6 @@ check_pfx_parity(uint32_t prefix, uint32_t rresp, uint8_t parities[8][8],
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
struct Crypto1State *lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8]);
|
|
||||||
|
|
||||||
/** lfsr_common_prefix
|
/** lfsr_common_prefix
|
||||||
* Implentation of the common prefix attack.
|
* Implentation of the common prefix attack.
|
||||||
* Requires the 29 bit constant prefix used as reader nonce (pfx)
|
* Requires the 29 bit constant prefix used as reader nonce (pfx)
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ extern "C" {
|
|||||||
uint32_t crypto1_word(struct Crypto1State *, uint32_t, int);
|
uint32_t crypto1_word(struct Crypto1State *, uint32_t, int);
|
||||||
uint32_t prng_successor(uint32_t x, uint32_t n);
|
uint32_t prng_successor(uint32_t x, uint32_t n);
|
||||||
|
|
||||||
|
struct Crypto1State *lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8]);
|
||||||
struct Crypto1State *lfsr_recovery32(uint32_t ks2, uint32_t in);
|
struct Crypto1State *lfsr_recovery32(uint32_t ks2, uint32_t in);
|
||||||
struct Crypto1State *lfsr_recovery64(uint32_t ks2, uint32_t ks3);
|
struct Crypto1State *lfsr_recovery64(uint32_t ks2, uint32_t ks3);
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
/*-
|
/*-
|
||||||
* Public platform independent Near Field Communication (NFC) library examples
|
* Free/Libre Near Field Communication (NFC) library
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Roel Verdult
|
* Libnfc historical contributors:
|
||||||
* Copyright (C) 2010, 2011 Romain Tartière
|
* Copyright (C) 2009 Roel Verdult
|
||||||
* Copyright (C) 2009, 2010, 2011, 2012 Romuald Conty
|
* Copyright (C) 2009-2013 Romuald Conty
|
||||||
|
* Copyright (C) 2010-2012 Romain Tartière
|
||||||
|
* Copyright (C) 2010-2013 Philippe Teuwen
|
||||||
|
* Copyright (C) 2012-2013 Ludovic Rousseau
|
||||||
|
* Additional contributors of this file:
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@@ -115,10 +119,10 @@ print_hex_par(const uint8_t *pbtData, const size_t szBits, const uint8_t *pbtDat
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
print_nfc_target(const nfc_target nt, bool verbose)
|
print_nfc_target(const nfc_target *pnt, bool verbose)
|
||||||
{
|
{
|
||||||
char *s;
|
char *s;
|
||||||
str_nfc_target(&s, nt, verbose);
|
str_nfc_target(&s, pnt, verbose);
|
||||||
printf("%s", s);
|
printf("%s", s);
|
||||||
free(s);
|
nfc_free(s);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
/*-
|
/*-
|
||||||
* Public platform independent Near Field Communication (NFC) library examples
|
* Free/Libre Near Field Communication (NFC) library
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Roel Verdult
|
* Libnfc historical contributors:
|
||||||
* Copyright (C) 2010 Romain Tartière
|
* Copyright (C) 2009 Roel Verdult
|
||||||
* Copyright (C) 2010, 2011, 2012 Romuald Conty
|
* Copyright (C) 2009-2013 Romuald Conty
|
||||||
|
* Copyright (C) 2010-2012 Romain Tartière
|
||||||
|
* Copyright (C) 2010-2013 Philippe Teuwen
|
||||||
|
* Copyright (C) 2012-2013 Ludovic Rousseau
|
||||||
|
* Additional contributors of this file:
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
@@ -94,6 +98,6 @@ void print_hex(const uint8_t *pbtData, const size_t szLen);
|
|||||||
void print_hex_bits(const uint8_t *pbtData, const size_t szBits);
|
void print_hex_bits(const uint8_t *pbtData, const size_t szBits);
|
||||||
void print_hex_par(const uint8_t *pbtData, const size_t szBits, const uint8_t *pbtDataPar);
|
void print_hex_par(const uint8_t *pbtData, const size_t szBits, const uint8_t *pbtDataPar);
|
||||||
|
|
||||||
void print_nfc_target(const nfc_target nt, bool verbose);
|
void print_nfc_target(const nfc_target *pnt, bool verbose);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user