-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathreadtest.py
More file actions
executable file
·73 lines (56 loc) · 2.04 KB
/
readtest.py
File metadata and controls
executable file
·73 lines (56 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python
import rkf.crypto
import binascii
import glob
from rfid.formats import mifare
import rkf.card
import sys
#XXX
from rkf.datatypes import *
from bitarray import bitarray
allfiles = glob.glob("dumps/*.mfd")
if sys.argv[1:]:
files = sys.argv[1:]
else:
files = allfiles
for f in files:
mifarecard = mifare.load(f) # mifare dump
print "Dumping %s:" % f
card = rkf.card.RKFCard(mifarecard)
print card
#print mifarecard.sector(15).block(1).encode("hex")
#print card.TCDBDynamic2
#continue
#for (index, b) in enumerate(mifarecard.blocks()):
# print index, InterpretedBlock(b,
# "Identifier", ByteString(8, reverse=False)
# ).Identifier
#bits = bitarray(endian="little")
#bits.fromstring(b)
#print
#for i in range(0, 16*8-24):
# databits = bits[ i : i+24]
# datetime = DateTime(24)
# datetime.frombits(databits)
#if datetime.datetime.year == 2012:
#if i == 56:
# print "bingo", index, i, datetime
#amount = MoneyAmount24(24)
#amount.frombits(databits)
##print amount.amount
#if amount.amount == 23423:
# print "bingo", index, i
#if amount.amount == 26209:
# print "banko", index, i
#print repr(mifarecard.block(0))
#print repr(mifarecard.sector(0).block(0))
print "Rejsehistorik:"
for t in sorted(card.TCEL, key=lambda x: (x.EventDateStamp.date, x.EventTimeStamp.time)):
if hasattr(t, "Location"):
print "{0} {1} {2:8} {3:35} {4:20}".format(
t.EventDateStamp.date, t.EventTimeStamp.time,
t.StatusBits.rejsekortstatus, t.Location.location, t.AID.PTA)
elif hasattr(t, "Value"):
print "{0} {1} {2} {3} {4:24} {5:20}".format(
t.EventDateStamp.date, t.EventTimeStamp.time,
t.StatusBits.rejsekortstatus, int(t.Value.money)/100.0, "", t.AID.PTA)