3 Find rc632 keys encoded as 12 bytes for flash writing
4 Dobrica Pavlinusic <dpavlin@rot13.org> 2014-01-22
8 gcc -o mifare_rc632_find_key mifare_rc632_find_key.c
12 mifare_rc632_find_key some_binary_file_with_keys
20 int main ( int argc, char *argv[] ) {
26 fd = fopen(filename,"rb");
28 printf("error opening %s", filename);
32 fseek(fd, 0, SEEK_END);
33 long size = ftell(fd);
34 fseek(fd, 0, SEEK_SET);
36 char *str = malloc( size + 1 );
37 fread(str, size, 1, fd);
43 for( i = 0; i <= size; i++ ) {
49 for ( j = 0; j <= 11; j++ ) {
52 if ( ( ( ( c & 0xf0 ) ^ 0xf0 ) >> 4 ) != ( c & 0x0f ) ) {
60 for( j = 0; j <= 11; j++ ) {
61 printf("%01x", (unsigned char)key[j] & 0x0f);
63 printf(" %s\n", filename);