Files
holycard-cracker/txttobin.py
2017-05-30 23:18:04 +02:00

29 lines
625 B
Python

import sys
data = file(sys.argv[1], 'rb').readlines()
uid = sys.argv[1].replace('.txt','')
def parity(x):
return ("{0:08b}".format(x).count('1') & 1)
uid=raw_input("uid> ")
fp = file(uid+'_generated.bin','wb')
fp.write(uid.decode('hex')+"\x00"*2)
bits = 0
pbits = 0
for l in data:
if bits == 8:
fp.write(chr(pbits))
bits = 0
pbits = 0
hexbytes = filter(None, l.strip().split(' '))
bits += 4
for x in hexbytes:
b = int(x.replace('!', ''), 16)
p = parity(b)
if '!' not in x:
p^=1
pbits <<= 1
pbits |= p
fp.write(chr(b))