Soot 中的调用图

2024-01-02

如何使用 SOOT 在调用图上构建?或者有什么更好的程序可以做到这一点?我被发送到同样的五个页面寻找答案,但我找不到我要找的东西。 Eclipse 的插件版本也有问题。它安装正确,但当我想运行代码时我无法选择它。


以下是一些示例,包括 Java 的调用图。http://www.brics.dk/SootGuide/ http://www.brics.dk/SootGuide/

以及 apk 的调用图。https://github.com/secure-software-engineering/soot-infoflow/issues/38 https://github.com/secure-software-engineering/soot-infoflow/issues/38

如果您想获取点文件,您可以迭代调用图并以点格式写出内容,如下所示。

private static void visit(CallGraph cg, SootMethod method) {
  String identifier = method.getSignature();
  visited.put(method.getSignature(), true);
  dot.drawNode(identifier);
  // iterate over unvisited parents
  Iterator<MethodOrMethodContext> ptargets = new Targets(cg.edgesInto(method));
  if (ptargets != null) {
    while (ptargets.hasNext()) {
        SootMethod parent = (SootMethod) ptargets.next();
        if (!visited.containsKey(parent.getSignature())) visit(cg, parent);
    }
  }
    // iterate over unvisited children
    Iterator<MethodOrMethodContext> ctargets = new Targets(cg.edgesOutOf(method));
  if (ctargets != null) {
    while (ctargets.hasNext()) {
       SootMethod child = (SootMethod) ctargets.next();
       dot.drawEdge(identifier, child.getSignature());
       System.out.println(method + " may call " + child);
       if (!visited.containsKey(child.getSignature())) visit(cg, child);
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Soot 中的调用图 的相关文章

随机推荐

  • R SVM alpha 系数

    我正在尝试从 PMML 文件在 R 中重新创建 SVM 对象 但无法理解 R 如何存储 alpha 系数 我目前正在 iris 数据集上测试它 并使用以下命令生成了一个 R SVM 对象 library e1071 data iris mo
  • Android 通过 AT 命令与 HFP 设备通信

    我正在尝试通过 Android 中的 HFP 免提配置文件 控制具有振动功能的蓝牙手环 我已经能够连接到手环并访问输入和输出流 我的目标是模拟来电 以便蓝牙手环开始振动 这似乎是唯一的方法 为此 我使用 AT 命令 在蓝牙规格中https
  • Xcode 5.1:缺少所需的架构 arm64

    刚升级到Xcode 5 1 出现以下错误 忽略文件 依赖项 SalesforceNetworkSDK libSalesforceNetworkSDK a 文件中缺少所需的架构 arm64 依赖项 SalesforceNetworkSDK l
  • MD5解码。他们是如何做到的?

    我认为 不可能解码 md5 哈希值 但我找到了可以解码它们的工具here http md5 web max ca 但我不知道他们是如何在这么短的时间内做到这一点的 大约需要一秒钟 请帮助我理解它 Thanks 它不会解码 MD5 哈希值 它
  • 当无效值传递给 Props 时,TypeScript 不会抛出错误

    const enum ColumnValues one 1 two 2 three 3 interface Props style StyleProp
  • 无法加载,因为未找到支持的源。播放 HTML5 音频元素时[重复]

    这个问题在这里已经有答案了 我有 HTML5 音频元素
  • 如何从数组中获取多个键之间的最大值

    如何从数组中获取多个键之间的最大值 我已经尝试过以下方法只有三个 不是多个 钥匙 getMaxValuefromkeys values any key1 string key2 string key3 string var val1 Mat
  • 保存/加载 iPhone 游戏数据的最佳方式

    我正在开发一款益智游戏 游戏引擎拥有复杂的对象层次结构 从游戏演员到矢量再到过渡动画 根据游戏状态 它们的总数可能从 10 到 1000 在极端情况下 我一直在推迟这个时刻 直到我必须致力于保存和加载所有这些混乱的事情 因为我在这方面没有经
  • java 邮件轮询从邮件中读取内联或嵌入图像(笑脸)

    我是java邮件轮询的新手 我已经创建了一种类型的对话应用程序 如果用户互相发送邮件 然后我从他们那里读取邮件并将其作为对话中的新消息发布 现在的问题是 如果有表情符号 内联或嵌入图像该怎么办 例如 在 gmail 邮件中 我们现在也可以发
  • 如何在 Maven 项目中使用 -Xlint:unchecked 进行编译?

    在 NetBeans 7 2 中 我无法找到如何在 Maven 项目中使用 Xlint unchecked 进行编译 在 Ant 项目下 您可以通过转到 项目属性 gt 编译 来更改编译器标志 但 Maven 项目似乎没有任何此类选项 有什
  • Rails 4 多文件上传解决方案

    有人有解决方案吗 你能给我指出一个不是的吗 http railscasts com episodes 381 jquery file upload http railscasts com episodes 381 jquery file u
  • 如何解析格式错误的 HTML 文件?

    我必须解析一系列网页才能将数据导入应用程序 每种类型的网页都提供相同类型的数据 问题在于每个页面的 HTML 不同 因此数据的位置也不同 另一个问题是 HTML 代码的格式很差 导致无法使用类似 XML 的解析器 到目前为止 我能想到的最好
  • pom.xml 和 web.xml 的 Web 项目之间的区别

    具有 pom xml 和 web xml 的 Java 项目有什么区别 项目可以同时拥有这两种配置吗 它们完全兼容 事实上 他们执行完全不相关的任务 pom xml is the Maven 项目的配置文件 http maven apach
  • Chrome 打印空白页

    如果用户单击缩略图 我有一个旧的 JavaScript 代码可以打印图像 它曾经工作得很好 但最近 仅在 Chrome 中 预览中有一个空白页面 下面是 JsBin 中的演示 http jsbin com yehefuwaso 7 http
  • 在 PySpark 中以可扩展的方式链接多个 WHEN 条件

    我有一本字典 变量pats 与许多when参数 条件和值 from pyspark sql import functions as F df spark createDataFrame 2 col1 pats r d digit r p L
  • ion-button Click在ionic 4中未启动功能

    我的 ionic 4 代码中有一个按钮和一个函数 理想情况下 单击按钮时 该功能应该启动 但事实并非如此 MY HTML
  • 在 ASP.NET Core 中使用 wkhtmltopdf、docker 将 HTML 转换为 PDF

    我正在尝试在 ASP NET Core 应用程序中使用 wkhtmltopdf 将 HTML 转换为 PDF 我已将 wkhtmltopdf exe 添加到我的项目中 并标记为 始终复制到输出 这是我的代码 var htmlContent
  • 使用幂等 ARM TEMPLATE 将两个 Azure 应用服务部署到同一应用服务计划

    PROBLEM 使用 VSTS 幂等持续集成 持续部署流程时 如何将两个不同的 Azure 应用服务部署到同一应用服务计划 环境 我写了两个ARM TEMPLATES每个都将 Web 应用程序部署到 Azure 应用服务 为了部署应用服务
  • ASP.NET - 受保护的变量

    如果我使用受保护的变量 该变量是否存在于整个 Web 应用程序中 或者当用户通过 get 或 post 移动到其他页面时它是否会被删除 我确实知道它无法在其他页面中访问 除非我使用静态变量 但我很好奇它是否存在于整个应用程序中 请告诉我 当
  • Soot 中的调用图

    如何使用 SOOT 在调用图上构建 或者有什么更好的程序可以做到这一点 我被发送到同样的五个页面寻找答案 但我找不到我要找的东西 Eclipse 的插件版本也有问题 它安装正确 但当我想运行代码时我无法选择它 以下是一些示例 包括 Java