From 72d95afd2541fd8d463a853375f4f36993e7c099 Mon Sep 17 00:00:00 2001 From: Brian Potchik Date: Fri, 20 Aug 2021 16:28:39 -0400 Subject: Workflows basic blocks and IL function analysis setters. --- workflow.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'workflow.cpp') diff --git a/workflow.cpp b/workflow.cpp index 63137ebc..70cd1ced 100644 --- a/workflow.cpp +++ b/workflow.cpp @@ -48,12 +48,42 @@ Ref AnalysisContext::GetMediumLevelILFunction() } +void AnalysisContext::SetBasicBlockList(vector> basicBlocks) +{ + BNBasicBlock** blocks = new BNBasicBlock*[basicBlocks.size()]; + size_t i = 0; + for (auto& j : basicBlocks) + blocks[i++] = j->GetObject(); + + BNSetBasicBlockList(m_object, blocks, basicBlocks.size()); + delete[] blocks; +} + + +void AnalysisContext::SetLiftedILFunction(Ref liftedIL) +{ + BNSetLiftedILFunction(m_object, liftedIL->m_object); +} + + void AnalysisContext::SetLowLevelILFunction(Ref lowLevelIL) { BNSetLowLevelILFunction(m_object, lowLevelIL->m_object); } +void AnalysisContext::SetMediumLevelILFunction(Ref mediumLevelIL) +{ + BNSetMediumLevelILFunction(m_object, mediumLevelIL->m_object); +} + + +void AnalysisContext::SetHighLevelILFunction(Ref highLevelIL) +{ + BNSetHighLevelILFunction(m_object, highLevelIL->m_object); +} + + bool AnalysisContext::Inform(const string& request) { return BNAnalysisContextInform(m_object, request.c_str()); -- cgit v1.3.1