예제 #1
0
def analyzeFunction(function, monitor):
    program = function.getProgram()
    analyzer = getConstantAnalyzer(program)
    symEval = SymbolicPropogator(program)
    symEval.setParamRefCheck(True)
    symEval.setReturnRefCheck(True)
    symEval.setStoredRefCheck(True)
    analyzer.flowConstants(program, function.getEntryPoint(),
                           function.getBody(), symEval, monitor)
    return symEval
예제 #2
0
def analyze_function(
    function, analyzer
):  # type: (Function, ConstantPropagationAnalyzer) -> SymbolicPropogator
    program = function.getProgram()
    sym_eval = SymbolicPropogator(program)
    sym_eval.setParamRefCheck(True)
    sym_eval.setReturnRefCheck(True)
    sym_eval.setStoredRefCheck(True)
    analyzer.flowConstants(program, function.getEntryPoint(),
                           function.getBody(), sym_eval, monitor)
    return sym_eval