This commit is contained in:
Philippe Teuwen 2021-10-16 23:43:31 +02:00
commit 232843477c
37 changed files with 115 additions and 129 deletions

View file

@ -1,7 +1,7 @@
#!/bin/bash
# (Need bash because of Bash Arrays)
# These vars can be overriden by env variables
# These vars can be overridden by env variables
echo "Makefile flags: ${MKFLAGS:=-j8}"
echo "Destination: ${DEST:=firmware}"
echo "Produce stats?: ${STATS:=false}"

View file

@ -408,7 +408,7 @@ static inline uint32_t sm_right(const uint8_t *ks, uint8_t *mask, vector<uint64_
for (it = bincstates.begin(); it != bincstates.end(); ++it) {
pcrstates->push_back(it->second);
}
// Reverse the vector order (so the higest bin comes first)
// Reverse the vector order (so the highest bin comes first)
reverse(pcrstates->begin(), pcrstates->end());
return topbits;
@ -588,7 +588,7 @@ static inline void sm_left(const uint8_t *ks, uint8_t *mask, vector<cs_t> *pcsta
for (it = bincstates.begin(); it != bincstates.end(); ++it) {
pcstates->push_back(it->second);
}
// Reverse the vector order (so the higest bin comes first)
// Reverse the vector order (so the highest bin comes first)
reverse(pcstates->begin(), pcstates->end());
}
@ -733,8 +733,8 @@ int main(int argc, const char *argv[]) {
uint64_t nCi; // Card random
uint64_t nQ; // Reader random
uint64_t nCh; // Reader challange
uint64_t nCi_1; // Card anwser
uint64_t nCh; // Reader challenge
uint64_t nCi_1; // Card answer
if ((argc != 2) && (argc != 5)) {
printf("SecureMemory recovery - (c) Radboud University Nijmegen\n\n");

View file

@ -18,7 +18,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Modifed Iceman, 2020
* Modified Iceman, 2020
*/
#include <stdio.h>
@ -470,7 +470,7 @@ static uint32_t ice_sm_right(const uint8_t *ks, uint8_t *mask, vector<uint64_t>
pcrstates->push_back(it->second);
}
// Reverse the vector order (so the higest bin comes first)
// Reverse the vector order (so the highest bin comes first)
reverse(pcrstates->begin(), pcrstates->end());
return g_topbits;
@ -583,7 +583,7 @@ static void ice_sm_left(const uint8_t *ks, uint8_t *mask, vector<cs_t> *pcstates
for (it = bincstates.begin(); it != bincstates.end(); ++it) {
pcstates->push_back(it->second);
}
// Reverse the vector order (so the higest bin comes first)
// Reverse the vector order (so the highest bin comes first)
reverse(pcstates->begin(), pcstates->end());
}
@ -649,7 +649,7 @@ static inline uint32_t sm_right(const uint8_t *ks, uint8_t *mask, vector<uint64_
pcrstates->push_back(it->second);
}
// Reverse the vector order (so the higest bin comes first)
// Reverse the vector order (so the highest bin comes first)
reverse(pcrstates->begin(), pcrstates->end());
return topbits;
@ -825,7 +825,7 @@ static inline void sm_left(const uint8_t *ks, uint8_t *mask, vector<cs_t> *pcsta
for (it = bincstates.begin(); it != bincstates.end(); ++it) {
pcstates->push_back(it->second);
}
// Reverse the vector order (so the higest bin comes first)
// Reverse the vector order (so the highest bin comes first)
reverse(pcstates->begin(), pcstates->end());
}
@ -991,8 +991,8 @@ int main(int argc, const char *argv[]) {
uint64_t nCi; // Card random
uint64_t nQ; // Reader random
uint64_t nCh; // Reader challange
uint64_t nCi_1; // Card anwser
uint64_t nCh; // Reader challenge
uint64_t nCi_1; // Card answer
if ((argc != 2) && (argc != 5)) {
printf("SecureMemory recovery - (c) Radboud University Nijmegen\n\n");

View file

@ -19,7 +19,7 @@ paper and the fourth attack comes from the second paper.
_note_
There are no Proxmark3 client implemented commands for these attacks. Only seperate executables to be compiled and run on your own system.
There are no Proxmark3 client implemented commands for these attacks. Only separate executables to be compiled and run on your own system.
No guarantees of working binaries on all systems. Some work on linux only.
There is no easy way to extract the needed data from a live system and use with these tools.
You can use the `RFIdler` device but the Proxmark3 client needs some more love. Feel free to contribute.

View file

@ -388,7 +388,7 @@ void find_state(const uint candidate_index_base,
for (uint i = lid; i < 4; i+= lsize) checks[i] = _checks[i];
#endif
// threads syncronization
// threads synchronization
barrier (CLK_LOCAL_MEM_FENCE);
#else
#define keystream _keystream

View file

@ -1,14 +1,14 @@
mf_nonce_brute
==============
Nested authentificated sector key recovery tool
Nested auntenticated sector key recovery tool
-----------------------------------------------
Compatible tags:
* Mifare Classic 1k (4k)
* Mifare Plus in SL1 mode
To recover keys to nested authentificated sectors you need a reader-card communication log. To get it use
To recover keys to nested auntenticated sectors you need a reader-card communication log. To get it use
hardware tools that able to sniff communication (for example Proxmark3 or HydraNFC).
This enhanced version:

View file

@ -19,7 +19,7 @@ my $ctime;
# GIT status 0 = dirty, 1 = clean , 2 = undecided
my $clean = 2;
my $undecided = (defined $ARGV[0]) && ($ARGV[0] =~ '--undecided');
# Do we have acces to git command?
# Do we have access to git command?
#######
# solves some bug on macos i.e:
##

View file

@ -19,7 +19,7 @@ fullgitinfo="RRG/Iceman"
# GIT status 0 = dirty, 1 = clean , 2 = undecided
clean=2
# Do we have acces to git command?
# Do we have access to git command?
commandGIT=$(env git)
if [ "$commandGIT" != "" ]; then

View file

@ -242,7 +242,7 @@ nextttt00000:
; ---------------------------------------------------------------------------
; ---------------------------------------------------------------------------
; ---------------------------------------------------------------------------
cjne R7,#060h,nextttt00001 ;START+MY ADRESS
cjne R7,#060h,nextttt00001 ;START+MY ADDRESS
clr pin_led ;LED ON
clr bit_command_receive