示例#1
0
 def show_call_graph(self, output_format=None):
     print_info("Creating Call Graph...")
     for (
         call_graph_analysis
     ) in self.quark_analysis.call_graph_analysis_list:
         call_graph(call_graph_analysis, output_format)
     print_success("Call Graph Completed")
示例#2
0
def test_call_graph(
    parent_method,
    analysis_object,
    connect_method_1,
    connect_method_2,
    leaf_method_1,
    leaf_method_2,
):
    call_graph_analysis = {
        "parent": parent_method,
        "apkinfo": analysis_object,
        "first_call": connect_method_1,
        "second_call": connect_method_2,
        "first_api": leaf_method_1,
        "second_api": leaf_method_2,
        "crime": "For test only.",
    }
    expected_file_name = (
        f"call_graph_image/{parent_method.name}_{connect_method_1.name}"
        f"_{connect_method_2.name}"
    )

    call_graph(call_graph_analysis)

    assert os.path.exists(expected_file_name)
示例#3
0
 def show_call_graph(self):
     print_info("Creating Call Graph...")
     for call_graph_analysis in self.quark_analysis.call_graph_analysis_list:
         call_graph(call_graph_analysis)
     print_success("Call Graph Completed")