问题标签 [soot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
191 浏览

java - 如何为每个方法计算该方法可能抛出的异常集,包括运行时异常?

我正在尝试实现一个过程内分析,该分析为每个方法计算该方法可能抛出的异常集,包括通过 throw 语句显式抛出的运行时异常。

到目前为止,我完全不知道如何从 SOOT 开始。谁能给我第一个提示?

0 投票
1 回答
244 浏览

javascript - SOOT之类的Javascript程序分析工具

我已经看过这个问题了,但图形表示并不是我想要的。

是否有类似 SOOT 的 Javascript 工具可以为您提供可以使用的中间表示?或者,是否有 Javascript -> Java-bytecode -> Javascript 转换器?(这样我就可以将 SOOT 与 Java 字节码一起使用来进行转换并将其作为 Javascript 取回)

0 投票
3 回答
56 浏览

java - 使用旧框架向类添加超时行为

我正在使用 SOOT 框架进行一些静态分析。但是,有时分析需要几个小时,我想设置一个超时来停止分析并继续使用另一个程序。

为了实现这种行为,我在一个线程中运行分析:

!!buildCallgraph() 方法由 SOOT 提供,我没有机会更改它。!!

目前我不知道如何停止线程。中断不起作用,因为 buildCallgraph() 从不检查它的线程是否已被中断。不应使用 Thread.stop()。

那么,有没有人知道如何终止线程?

问候罗伯特

0 投票
1 回答
1069 浏览

java - soot 的 Eclipse 类路径

我正在编写一个程序来获取和打印程序的调用图。我使用 soot 来尝试获取调用图,并将我想要打印的 java 类作为参数传递,但是当我运行程序时,我收到一条消息,提示 soot 找不到该类。如何配置 eclipse 类路径以找到我要打印的 cals?

我的代码:

0 投票
1 回答
1183 浏览

java - 在 Eclipse 中为 Soot 动态加载 Java 类文件

我目前正在开发一个程序,该程序将两个控制流图相互比较(这些图是用 Soot 生成的)。这些图属于两个不同的类别;所以每个人都有一个cfg。

目前我正在使用以下加载类:

如果我通过右键单击项目添加一个包含 Calc.java 和 Calc2.java 类的文件夹,这将有效。Java 构建路径 | 添加外部类文件夹| 选择文件夹。

不幸的是,这并不是我想要的,因为:

  1. 这两个类将具有相同的名称,因为它们是彼此不同的版本。换句话说,一个类是另一个类的更新版本。
  2. 执行程序时,我想让用户能够选择文件以便构建 cfg。因此,我必须消除上述步骤以添加类,并且需要一种在运行时添加它们的方法。

一个重要的注意事项是,Soot 只会从在 Soot 的类路径中找到的 JAR 文件和目录中加载文件。有谁知道我该如何解决这两个问题?

0 投票
1 回答
411 浏览

soot - 如何在烟灰中打印出值框中的变量值?

这是相关的代码片段,我无法从 valuebox 中打印出值。我可以知道有什么问题吗?

0 投票
1 回答
2243 浏览

java - 使用 Soot 分析 Android 应用程序

我正在编写一些分析android源代码的代码,基本上是为了跟踪局部变量的定义,我想在我的代码中使用Soot从Android源代码中提取一些信息并构建类的高级调用图,我所有的工作是使用应用程序的java源代码..

我不确定我是否需要http://www.bodden.de/2013/01/08/soot-android-instrumentation/中提到的 android jar, 因为这项工作不涉及读取或写入 Dalvik 字节码 - 我不能无论如何下载罐子!!-

我想知道是否有人可以给我一些指导,我阅读了煤烟的邮件列表并尝试了所提供的解决方案,但没有运气——由于导入的库和 R 类的问题——!![我正在用一个基本的你好来测试它世界源代码]

任何帮助将不胜感激,包括对任何其他用于 android 静态分析的工具的任何引用。

非常感谢,,

用于 soot.Main 调用的参数是:

一些结果:

0 投票
3 回答
1120 浏览

java - 构建Soot时“找不到taskdef类JFlex.anttask.JFlexTask”

我正在尝试构建烟灰。

我已经下载了 JastAddExtensions 的源代码,使用svn co https://svn.sable.mcgill.ca/abc/trunk/JastAddExtensions/查看了 Soot 的代码

  • git remote add soot https://github.com/Sable/soot.git
  • git pull soot develop.

然后我尝试使用 Ant 构建 Soot 并收到以下错误消息:

我该如何解决这个错误?我在哪里可以下载JastAddExtensions\SootJastAddJ与当前版本的 Soot 兼容的代码版本?

0 投票
2 回答
586 浏览

java - 如何用静态分析估计变量的值?

我想根据 Soot 的内置到达定义分析编写一个程序来执行此操作。现在我想知道这是正确的方法吗?我搜索并发现似乎没有人对这个方向感兴趣。

有什么建议么?

0 投票
1 回答
248 浏览

java - Soot 不识别某些 Java 构造函数,因为参数

我使用 Soot 是为了能够使用它的调用图,但不幸的是我在构造函数方面遇到了麻烦。

我认为最好用答案来解释,所以这里是:

考虑一个类 CachingCollector$NoScoreCachingLeafCollector,其中 NoScoreCachingLeafCollector 扩展了 FilterLeafCollector。

我想得到这样的类的构造函数,它的参数类型是:LeafCollector 和 int。

出于某种原因,Soot 说有一个带有这些参数的构造函数,但第一个参数是 CachingCollector。

我无法理解发生了什么,我已经尝试了几个小时,但无济于事。更让我困惑的是,有一些内部类扩展了一些类,但 Soot 并没有在开头添加那个额外的参数。

任何帮助将不胜感激!!