Added bin/txt converters
This commit is contained in:
16
bintotxt.py
Normal file
16
bintotxt.py
Normal file
@ -0,0 +1,16 @@
|
||||
import sys
|
||||
data = file(sys.argv[1], 'rb').read()
|
||||
uid = data[0:4]
|
||||
|
||||
def parity(x):
|
||||
return ("{0:08b}".format(x).count('1') & 1)
|
||||
|
||||
for idx in range(6, len(data), 9):
|
||||
n = data[idx:idx+8]
|
||||
p = data[idx+8]
|
||||
nonce_string = [ "%02x" % ord(n[i])
|
||||
+ (' ' if int(x)^parity(ord(n[i])) else '! ')
|
||||
for i, x in enumerate(("{0:08b}".format(ord(p))))
|
||||
]
|
||||
print ''.join(nonce_string[:4])
|
||||
print ''.join(nonce_string[4:])
|
28
txttobin.py
Normal file
28
txttobin.py
Normal file
@ -0,0 +1,28 @@
|
||||
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))
|
||||
|
Reference in New Issue
Block a user