diff options
| author | Jordan Wiens <jordan@psifertex.com> | 2019-06-09 01:22:18 -0400 |
|---|---|---|
| committer | Jordan Wiens <jordan@psifertex.com> | 2019-06-09 01:22:18 -0400 |
| commit | 9ad896abce03fb20f02d34a17ff9babfdad38cab (patch) | |
| tree | cb00680a53283411774a1f3953c2bd60d53cfdba /python | |
| parent | 3c7a00172b3b86add668257ca35b873fc85a7017 (diff) | |
remove two breaking changes
Diffstat (limited to 'python')
| -rw-r--r-- | python/mediumlevelil.py | 54 | ||||
| -rw-r--r-- | python/types.py | 61 |
2 files changed, 51 insertions, 64 deletions
diff --git a/python/mediumlevelil.py b/python/mediumlevelil.py index 14481c30..f73609cc 100644 --- a/python/mediumlevelil.py +++ b/python/mediumlevelil.py @@ -303,7 +303,8 @@ class MediumLevelILInstruction(object): src_version = instr.operands[i + 2] i += 2 self._operands.append(SSAVariable(var, dest_version)) - self._dest = SSAVariable(var, dest_version) + #TODO: documentation for dest + self.dest = SSAVariable(var, dest_version) value = SSAVariable(var, src_version) elif operand_type == "int_list": count = ctypes.c_ulonglong() @@ -469,7 +470,7 @@ class MediumLevelILInstruction(object): MediumLevelILOperation.MLIL_SET_VAR_SSA, MediumLevelILOperation.MLIL_SET_VAR_SSA_FIELD, MediumLevelILOperation.MLIL_SET_VAR_ALIASED, MediumLevelILOperation.MLIL_SET_VAR_ALIASED_FIELD, MediumLevelILOperation.MLIL_VAR_PHI]: - return [self._dest] + return [self.dest] elif self._operation in [MediumLevelILOperation.MLIL_SET_VAR_SPLIT, MediumLevelILOperation.MLIL_SET_VAR_SPLIT_SSA]: return [self.high, self.low] elif self._operation in [MediumLevelILOperation.MLIL_CALL, MediumLevelILOperation.MLIL_SYSCALL, MediumLevelILOperation.MLIL_TAILCALL]: @@ -480,7 +481,7 @@ class MediumLevelILInstruction(object): MediumLevelILOperation.MLIL_TAILCALL_SSA, MediumLevelILOperation.MLIL_TAILCALL_UNTYPED_SSA]: return self.output.vars_written elif self._operation in [MediumLevelILOperation.MLIL_CALL_OUTPUT, MediumLevelILOperation.MLIL_CALL_OUTPUT_SSA]: - return self._dest + return self.dest return [] @property @@ -712,15 +713,6 @@ class MediumLevelILInstruction(object): def operands(self, value): self._operands = value - @property - def dest(self): - """ """ - return self._dest - - @dest.setter - def dest(self, value): - self._dest = value - class MediumLevelILExpr(object): """ @@ -1110,6 +1102,25 @@ class MediumLevelILFunction(object): settings_obj = None return binaryninja.flowgraph.CoreFlowGraph(core.BNCreateMediumLevelILFunctionGraph(self.handle, settings_obj)) + @property + def arch(self): + """ """ + return self._arch + + @arch.setter + def arch(self, value): + self._arch = value + + @property + def source_function(self): + """ """ + return self._source_function + + @source_function.setter + def source_function(self, value): + self._source_function = value + + class MediumLevelILBasicBlock(basicblock.BasicBlock): def __init__(self, view, handle, owner): @@ -1137,19 +1148,10 @@ class MediumLevelILBasicBlock(basicblock.BasicBlock): return hash((self.start, self.end, self.il_function)) @property - def arch(self): - """ """ - return self._arch - - @arch.setter - def arch(self, value): - self._arch = value - - @property - def source_function(self): + def il_function(self): """ """ - return self._source_function + return self._il_function - @source_function.setter - def source_function(self, value): - self._source_function = value + @il_function.setter + def il_function(self, value): + self._il_function = value
\ No newline at end of file diff --git a/python/types.py b/python/types.py index 03f56a7b..018eccd0 100644 --- a/python/types.py +++ b/python/types.py @@ -34,25 +34,26 @@ from binaryninja import pyNativeStr class QualifiedName(object): + #TODO: Resolve documentation on name, byte_name def __init__(self, name = []): if isinstance(name, str): - self._name = [name] - self._byte_name = [name.encode('charmap')] + self.name = [name] + self.byte_name = [name.encode('charmap')] elif isinstance(name, QualifiedName): - self._name = name.name - self._byte_name = [n.encode('charmap') for n in name.name] + self.name = name.name + self.byte_name = [n.encode('charmap') for n in name.name] else: - self._name = [pyNativeStr(i) for i in name] - self._byte_name = name + self.name = [pyNativeStr(i) for i in name] + self.byte_name = name def __str__(self): - return "::".join(self._name) + return "::".join(self.name) def __repr__(self): return repr(str(self)) def __len__(self): - return len(self._name) + return len(self.name) def __hash__(self): return hash(str(self)) @@ -61,9 +62,9 @@ class QualifiedName(object): if isinstance(other, str): return str(self) == other elif isinstance(other, list): - return self._name == other + return self.name == other elif isinstance(other, QualifiedName): - return self._name == other.name + return self.name == other.name return False def __ne__(self, other): @@ -71,22 +72,22 @@ class QualifiedName(object): def __lt__(self, other): if isinstance(other, QualifiedName): - return self._name < other.name + return self.name < other.name return False def __le__(self, other): if isinstance(other, QualifiedName): - return self._name <= other.name + return self.name <= other.name return False def __gt__(self, other): if isinstance(other, QualifiedName): - return self._name > other.name + return self.name > other.name return False def __ge__(self, other): if isinstance(other, QualifiedName): - return self._name >= other.name + return self.name >= other.name return False def __cmp__(self, other): @@ -97,18 +98,18 @@ class QualifiedName(object): return 1 def __getitem__(self, key): - return self._name[key] + return self.name[key] def __iter__(self): - return iter(self._name) + return iter(self.name) def _get_core_struct(self): result = core.BNQualifiedName() - name_list = (ctypes.c_char_p * len(self._name))() - for i in range(0, len(self._name)): - name_list[i] = self._name[i].encode('charmap') + name_list = (ctypes.c_char_p * len(self.name))() + for i in range(0, len(self.name)): + name_list[i] = self.name[i].encode('charmap') result.name = name_list - result.nameCount = len(self._name) + result.nameCount = len(self.name) return result @classmethod @@ -118,26 +119,9 @@ class QualifiedName(object): result.append(name.name[i]) return QualifiedName(result) - @property - def name(self): - """ """ - return self._name - - @name.setter - def name(self, value): - self._name = value - - @property - def byte_name(self): - """ """ - return self._byte_name - - @byte_name.setter - def byte_name(self, value): - self._byte_name = value - class NameSpace(QualifiedName): + #TODO: Resolve documentation on name and inheritence from QualifiedName def __str__(self): return ":".join(self.name) @@ -157,6 +141,7 @@ class NameSpace(QualifiedName): result.append(name.name[i]) return NameSpace(result) + class Symbol(object): """ Symbols are defined as one of the following types: |
