def _setup_analysis_modules(self): """Set up analysis modules. """ # Basic block. self.bb_builder = CFGRecoverer( RecursiveDescent(self.disassembler, self.text_section, self.ir_translator, self.arch_info)) # Code analyzer. self.code_analyzer = None if self.smt_translator: self.code_analyzer = CodeAnalyzer(self.smt_solver, self.smt_translator, self.arch_info) # Gadgets classifier. self.gadget_classifier = GadgetClassifier(self.ir_emulator, self.arch_info) # Gadgets finder. self.gadget_finder = GadgetFinder(self.disassembler, self.text_section, self.ir_translator, self.binary.architecture, self.binary.architecture_mode) # Gadget verifier. self.gadget_verifier = None if self.code_analyzer: self.gadget_verifier = GadgetVerifier(self.code_analyzer, self.arch_info)
def _setup_analysis_modules(self): """Set up analysis modules. """ ## basic block self.bb_builder = BasicBlockBuilder(self.disassembler, self.text_section, self.ir_translator) ## code analyzer self.code_analyzer = CodeAnalyzer(self.smt_solver, self.smt_translator) ## gadget self.gadget_classifier = GadgetClassifier(self.ir_emulator, self.arch_info) self.gadget_finder = GadgetFinder(self.disassembler, self.text_section, self.ir_translator, self.binary.architecture, self.binary.architecture_mode) self.gadget_verifier = GadgetVerifier(self.code_analyzer, self.arch_info)