Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __init__(self):
TargetTemplate.__init__(self)
self.ser = SimpleSerial_ChipWhispererLite()
self.keylength = 16
self.textlength = 16
self.outputlength = 16
self.input = ""
self.key = ""
self._protver = 'auto'
self._read_timeout = 500
self.masklength = 18
self._fixedMask = True
self.initmask = '1F 70 D6 3C 23 EB 1A B8 6A D5 E2 0D 5F D9 58 A3 CA 9D'
self._mask = util.hexStrToByteArray(self.initmask)
self.protformat = 'hex'
self.last_key = bytearray(16)
# Preset lists are in the form
# {'Dropdown Name':['Init Command', 'Load Key Command', 'Load Input Command', 'Go Command', 'Output Format']}
# If a command is None, it's left unchanged and the text field is editable;
# Otherwise, it's loaded with the value and set to readonly
self.presets = {
'Custom':[None, None, None, None, None],
'SimpleSerial Encryption':['','k$KEY$\\n', '', 'p$TEXT$\\n', 'r$RESPONSE$\\n'],
'SimpleSerial Authentication':['','k$KEY$\\n', 't$EXPECTED$\\n', 'p$TEXT$\\n', 'r$RESPONSE$\\n'],
'Glitching':[None, None, None, None, '$GLITCH$\\n'],
}
self._preset = 'Custom'
self._linkedmaskgroup = (('maskgroup', 'cmdmask'), ('maskgroup', 'initmask'), ('maskgroup', 'masktype'),
def setInitialMask(self, initialMask, binaryMask=False):
if initialMask:
if binaryMask:
maskStr = ''
for s in initialMask:
maskStr += '%02x' % s
self._mask = bytearray(initialMask)
else:
maskStr = initialMask
self._mask = util.hexStrToByteArray(initialMask)
self.initmask = maskStr
def setInitialKey(self, initialKey, binaryKey=False):
if initialKey:
if binaryKey:
keyStr = ''
for s in initialKey:
keyStr += '%02x ' % s
self._key = bytearray(initialKey)
else:
keyStr = initialKey
self._key = util.hexStrToByteArray(initialKey)
self.initkey = keyStr
def __init__(self, target=None):
AcqKeyTextPattern_Base.__init__(self)
self.initmask = 'FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
self.initkey = '2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C'
self._key = util.hexStrToByteArray(self.initkey)
self._mask = util.hexStrToByteArray(self.initmask)
self.getParams().addChildren([
{'name':'Fixed Encryption Key', 'key':'initkey', 'type':'str', 'get':self.getInitialKey, 'set':self.setInitialKey, 'visible':True},
{'name':'Plaintext Mask', 'key':'initmask', 'type':'str', 'get':self.getInitialMask, 'set':self.setInitialMask, 'visible':True},
])
self.setTarget(target)
def setInitialMask(self, initialMask, binaryMask=False):
if initialMask:
if binaryMask:
maskStr = ''
for s in initialMask:
maskStr += '%02x ' % s
self._mask = bytearray(initialMask)
else:
maskStr = initialMask
self._mask = util.hexStrToByteArray(initialMask)
self.initmask = maskStr
def __init__(self, target=None):
AcqKeyTextPattern_Base.__init__(self)
self._fixedKey = True
self._fixedPlain = False
self.inittext = '00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F'
self.initkey = '2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C'
self._key = util.hexStrToByteArray(self.initkey)
self._textin = util.hexStrToByteArray(self.inittext)
self.types = {'Random': False, 'Fixed': True}
self.setTarget(target)
def setInitialKey(self, initialKey, binaryKey=False):
if initialKey:
if binaryKey:
keyStr = ''
for s in initialKey:
keyStr += '%02x ' % s
self._key = bytearray(initialKey)
else:
keyStr = initialKey
self._key = util.hexStrToByteArray(initialKey)
self.initkey = keyStr
def setInitialText(self, initialText, binaryText=False):
if initialText:
if binaryText:
textStr = ''
for s in initialText:
textStr += '%02x ' % s
self._textin = bytearray(initialText)
else:
textStr = initialText
self._textin = util.hexStrToByteArray(initialText)
self.inittext = textStr
def __init__(self, target=None):
AcqKeyTextPattern_Base.__init__(self)
self.initmask = 'FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
self.initkey = '2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C'
self._key = util.hexStrToByteArray(self.initkey)
self._mask = util.hexStrToByteArray(self.initmask)
self.getParams().addChildren([
{'name':'Fixed Encryption Key', 'key':'initkey', 'type':'str', 'get':self.getInitialKey, 'set':self.setInitialKey, 'visible':True},
{'name':'Plaintext Mask', 'key':'initmask', 'type':'str', 'get':self.getInitialMask, 'set':self.setInitialMask, 'visible':True},
])
self.setTarget(target)