X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/4962d41420e10c9e05238b97065236d50d7c624d..24d48e60fc5b29d317467cc260c40cad2bb6f695:/tools/xorcheck.py diff --git a/tools/xorcheck.py b/tools/xorcheck.py index ddfcf82a..3a7c8d66 100755 --- a/tools/xorcheck.py +++ b/tools/xorcheck.py @@ -1,6 +1,6 @@ #!/usr/bin/python -# xorcheck.py - find xor values for 8-bit CRC +# xorcheck.py - find xor values for 8-bit LRC # # Adam Laurie # http://rfidiot.org/ @@ -25,11 +25,12 @@ import os if(len(sys.argv) < 3): print - print sys.argv[0] + ' - generate final byte for XOR CRC' - print 'Usage: ' + sys.argv[0] + ' ... ' + print '\t'+sys.argv[0] + ' - Generate final byte for XOR LRC' print - print '\tSpecifying the bytes of a UID with a known CRC will generate the last byte value' - print '\tneeded to generate that CRC with a rolling XOR. All bytes should be specified in HEX.' + print 'Usage: ' + sys.argv[0] + ' ... ' + print + print '\tSpecifying the bytes of a UID with a known LRC will find the last byte value' + print '\tneeded to generate that LRC with a rolling XOR. All bytes should be specified in HEX.' print print 'Example:' print @@ -37,19 +38,15 @@ if(len(sys.argv) < 3): print print 'Should produce the output:' print - print '\tTarget matched with Byte value: 5A' + print '\tTarget (BA) requires final LRC XOR byte value: 5A' print os._exit(True) target= int(sys.argv[len(sys.argv) - 1],16) -for candidate in range(256): - crc= 0x00 - for i in range(len(sys.argv) - 2): - crc ^= int(sys.argv[i + 1],16) - crc ^= candidate - if (crc == target): - print - print 'Target matched with Byte value: %02X' % candidate - print - +lrc= 0x00 +for i in range(len(sys.argv) - 1): + lrc ^= int(sys.argv[i + 1],16) +print +print 'Target (%02X) requires final LRC XOR byte value: %02X' % (target,lrc) +print