summaryrefslogtreecommitdiff
path: root/decoders
diff options
context:
space:
mode:
Diffstat (limited to 'decoders')
-rw-r--r--decoders/atsha204a/pd.py39
1 files changed, 21 insertions, 18 deletions
diff --git a/decoders/atsha204a/pd.py b/decoders/atsha204a/pd.py
index 3b7ee53..a3250c6 100644
--- a/decoders/atsha204a/pd.py
+++ b/decoders/atsha204a/pd.py
@@ -163,40 +163,42 @@ class Decoder(srd.Decoder):
self.put(data[0], data[1], self.out_ann, [2, ['Opcode: %s' % OPCODES[data[2]]]])
def display_param1(self, data):
- if self.opcode in (OPCODE_CHECK_MAC, OPCODE_DEV_REV, OPCODE_HMAC, \
+ op = self.opcode
+ if op in (OPCODE_CHECK_MAC, OPCODE_DEV_REV, OPCODE_HMAC, \
OPCODE_MAC, OPCODE_NONCE, OPCODE_RANDOM, OPCODE_SHA):
self.put(data[0], data[1], self.out_ann, [3, ['Mode: %02X' % data[2]]])
- elif self.opcode == OPCODE_DERIVE_KEY:
+ elif op == OPCODE_DERIVE_KEY:
self.put(data[0], data[1], self.out_ann, [3, ['Random: %s' % data[2]]])
- elif self.opcode == OPCODE_GEN_DIG:
+ elif op == OPCODE_GEN_DIG:
self.put(data[0], data[1], self.out_ann, [3, ['Zone: %s' % ZONES[data[2]]]])
- elif self.opcode == OPCODE_LOCK:
+ elif op == OPCODE_LOCK:
self.put(data[0], data[1], self.out_ann, [3, ['Zone: {}, Summary: {}'.format(
'DATA/OTP' if data[2] else 'CONFIG',
'Ignored' if data[2] & 0x80 else 'Used')]])
- elif self.opcode == OPCODE_PAUSE:
+ elif op == OPCODE_PAUSE:
self.put(data[0], data[1], self.out_ann, [3, ['Selector: %02X' % data[2]]])
- elif self.opcode == OPCODE_READ:
+ elif op == OPCODE_READ:
self.put(data[0], data[1], self.out_ann, [3, ['Zone: {}, Length: {}'.format(ZONES[data[2] & 0x03],
'32 bytes' if data[2] & 0x90 else '4 bytes')]])
- elif self.opcode == OPCODE_WRITE:
+ elif op == OPCODE_WRITE:
self.put(data[0], data[1], self.out_ann, [3, ['Zone: {}, Encrypted: {}, Length: {}'.format(ZONES[data[2] & 0x03],
'Yes' if data[2] & 0x40 else 'No', '32 bytes' if data[2] & 0x90 else '4 bytes')]])
else:
self.put(data[0], data[1], self.out_ann, [3, ['Param1: %02X' % data[2]]])
def display_param2(self, data):
- if self.opcode == OPCODE_DERIVE_KEY:
+ op = self.opcode
+ if op == OPCODE_DERIVE_KEY:
self.put(data[0][0], data[1][1], self.out_ann, [4, ['TargetKey: {:02x} {:02x}'.format(data[1][2], data[0][2])]])
- elif self.opcode in (OPCODE_NONCE, OPCODE_PAUSE, OPCODE_RANDOM):
+ elif op in (OPCODE_NONCE, OPCODE_PAUSE, OPCODE_RANDOM):
self.put(data[0][0], data[1][1], self.out_ann, [4, ['Zero: {:02x} {:02x}'.format(data[1][2], data[0][2])]])
- elif self.opcode in (OPCODE_HMAC, OPCODE_MAC, OPCODE_CHECK_MAC, OPCODE_GEN_DIG):
+ elif op in (OPCODE_HMAC, OPCODE_MAC, OPCODE_CHECK_MAC, OPCODE_GEN_DIG):
self.put(data[0][0], data[1][1], self.out_ann, [4, ['SlotID: {:02x} {:02x}'.format(data[1][2], data[0][2])]])
- elif self.opcode == OPCODE_LOCK:
+ elif op == OPCODE_LOCK:
self.put(data[0][0], data[1][1], self.out_ann, [4, ['Summary: {:02x} {:02x}'.format(data[1][2], data[0][2])]])
- elif self.opcode in (OPCODE_READ, OPCODE_WRITE):
+ elif op in (OPCODE_READ, OPCODE_WRITE):
self.put(data[0][0], data[1][1], self.out_ann, [4, ['Address: {:02x} {:02x}'.format(data[1][2], data[0][2])]])
- elif self.opcode == OPCODE_UPDATE_EXTRA:
+ elif op == OPCODE_UPDATE_EXTRA:
self.put(data[0][0], data[1][1], self.out_ann, [4, ['NewValue: {:02x}'.format(data[0][2])]])
else:
self.put(data[0][0], data[1][1], self.out_ann, [4, ['-']])
@@ -204,17 +206,18 @@ class Decoder(srd.Decoder):
def display_data(self, data):
if len(data) == 0:
return
- if self.opcode == OPCODE_CHECK_MAC:
+ op = self.opcode
+ if op == OPCODE_CHECK_MAC:
self.put(data[0][0], data[31][1], self.out_ann, [5, ['ClientChal: %s' % ' '.join(format(i[2], '02x') for i in data[0:31])]])
self.put(data[32][0], data[63][1], self.out_ann, [5, ['ClientResp: %s' % ' '.join(format(i[2], '02x') for i in data[32:63])]])
self.put(data[64][0], data[76][1], self.out_ann, [5, ['OtherData: %s' % ' '.join(format(i[2], '02x') for i in data[64:76])]])
- elif self.opcode == OPCODE_DERIVE_KEY:
+ elif op == OPCODE_DERIVE_KEY:
self.put(data[0][0], data[31][1], self.out_ann, [5, ['MAC: %s' % ' '.join(format(i[2], '02x') for i in data)]])
- elif self.opcode == OPCODE_GEN_DIG:
+ elif op == OPCODE_GEN_DIG:
self.put(data[0][0], data[3][1], self.out_ann, [5, ['OtherData: %s' % ' '.join(format(i[2], '02x') for i in data)]])
- elif self.opcode == OPCODE_MAC:
+ elif op == OPCODE_MAC:
self.put(data[0][0], data[31][1], self.out_ann, [5, ['Challenge: %s' % ' '.join(format(i[2], '02x') for i in data)]])
- elif self.opcode == OPCODE_WRITE:
+ elif op == OPCODE_WRITE:
if len(data) > 32: # Value + MAC.
self.put(data[0][0], data[-31][1], self.out_ann, [5, ['Value: %s' % ' '.join(format(i[2], '02x') for i in data)]])
self.put(data[-32][0], data[-1][1], self.out_ann, [5, ['MAC: %s' % ' '.join(format(i[2], '02x') for i in data)]])