summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorBrian Potchik <brian@vector35.com>2022-02-07 13:40:03 -0500
committerBrian Potchik <brian@vector35.com>2022-02-07 13:40:03 -0500
commit8040830ef060f98801b797c58caba2848e36937c (patch)
tree275aa0e14e862821051b65d062cfd14a2d9394d4 /python
parenta9ecb3d5566f86eb4d690a0672e6d5cdcb6ecbe8 (diff)
Expose HLIL GenerateSSAForm via API and add python wrapper.
Diffstat (limited to 'python')
-rw-r--r--python/highlevelil.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/python/highlevelil.py b/python/highlevelil.py
index 1aafd316..cb0a0980 100644
--- a/python/highlevelil.py
+++ b/python/highlevelil.py
@@ -2372,6 +2372,20 @@ class HighLevelILFunction:
"""
core.BNFinalizeHighLevelILFunction(self.handle)
+ def generate_ssa_form(self, variables: Optional[List["variable.Variable"]] = None) -> None:
+ """
+ ``generate_ssa_form`` generate SSA form given the current HLIL
+
+ :param list(Variable) variables: optional list of aliased variables
+ :rtype: None
+ """
+ if variables is None:
+ variables = []
+ variable_list = (core.BNVariable * len(variables))()
+ for i in range(len(variables)):
+ variable_list[i] = variables[i].to_BNVariable()
+ core.BNGenerateHighLevelILSSAForm(self.handle, variable_list, len(variable_list))
+
def create_graph(self, settings: 'function.DisassemblySettings' = None) -> 'flowgraph.CoreFlowGraph':
if settings is not None:
settings_obj = settings.handle