问题标签 [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 投票
1 回答
430 浏览

java - .v() 在 soot 库中是什么意思?

我使用烟灰库。

在不同的例子中,我看到.v()了方法,例如Jimple.v(), scene.v(), ... 。

现在我想问这是什么意思?特别是在Jimple.v().

0 投票
1 回答
135 浏览

soot - 煤烟:无效的选项 -android-jars

当我想从命令行使用选项 -android-jars 运行 soot 时,我收到错误“无效选项”。我从https://www.sable.mcgill.ca/soot/soot_download.html下载了 soot 源代码(sootall-2.5.0),并在 eclipse 中成功构建了项目。

我还下载了 soot-master 和 soot-develop 源代码。我看到这两个有选项“-android-jars”但是当我构建项目时,错误太多了......所以我又失败了。

我怎么解决这个问题?我对烟灰非常陌生。我希望有人能帮助我。谢谢~

0 投票
1 回答
546 浏览

android - 使用 Soot 检测 Android 应用程序:Phantom Android 类

我在使用 Soot 检测 Android 应用程序时遇到了一些问题。具体来说,我无法加载 android.util.Log 类。我怀疑android jar文件没有正确加载。

我有最新的夜间构建版本的 Soot 并使用 Java 1.7。我已经下载了所有的 android.jar 文件。

这是我运行的命令:

在 AndroidInstrument.java 中,我有这一行:

该程序运行没有错误,但给了我很多警告。这是整个输出。

任何帮助将非常感激!

0 投票
1 回答
261 浏览

java - 依赖项列表中的无效项目“茉莉花”和英雄对于烟灰

我想用 intellj 构建烟灰,所以我按照github中的“使用 IntelliJ IDEA 构建烟灰”的说明进行操作。完成第 5 步后,我应该解决 jasmine 和 heros 依赖问题,但我在对话框中有这种情况 在此处输入图像描述

我在问题选项卡中看到这些错误:“模块烟灰:依赖项列表中的无效项目'jasmin'”和“模块烟灰:依赖项列表中的无效项目'英雄'”我该如何解决?

0 投票
1 回答
302 浏览

android - 使用 soot 将 jimple 转换为 dex 的异常

我已经使用 soot 下面的命令将 apk 文件转换为 jimple 中间表示:

现在我想做反向。我想使用 soot 将 jimple 文件转换为单个 apk。为此,我使用以下命令:

但是这个命令给了我如下例外:

如何使用烟灰将 Jimple 转换为 dex?

0 投票
0 回答
472 浏览

java - “heros.solver.CountingThreadPoolExecutor - 工作线程执行失败:null Exceptions”在运行每晚构建 soot-trunk 时

我正在将 apk 文件转换为 jimple 文件,然后立即将它们转换回 .dex 文件。但我无法成功完成第二步。

使用的命令行:

一开始,它不断抛出这个异常:

引起:soot.jimple.parser.parser.ParserException:[22,40] 期望:引用名称,soot.jimple.parser.parser.Parser.parse(Parser.java:1454) 处的标识符 soot.jimple.parser。 JimpleAST.(JimpleAST.java:57) 在 soot.JimpleClassSource.resolve(JimpleClassSource.java:42) ... 10 更多

我发现转换后的 jimple 文件中有一些语法错误(可能是)。例如,在 jimple 文件中,有一些类是这样命名的:

然后我手动修复了错误(通过删除单引号并将'if'替换为其他变量名,如iff)。

在我修复了上述错误之后,它显示了另一个异常:

起初我认为这是该工具的错误,但其他问题的答案说该错误已被修复。但我仍然遇到这个问题。有谁知道问题出在哪里?非常感谢。

0 投票
1 回答
187 浏览

java - 在 Java 代码中使用 SOOT 在字段访问中插入读写障碍

抱歉,如果这是一个基本问题,但即使经过大量搜索,我也无法弄清楚。

我正在使用 SOOT 来检测我的代码。我能够检查我的语句是否使用访问字段,stmt.containsFieldRef()但我想区分将值写入字段的语句和仅读取其值的语句。

是否有预定义的方法可以做到这一点,或者解析语句是唯一的选择?

0 投票
1 回答
628 浏览

java - 模棱两可的方法调用。Patchingchain 中的 add(Unit) 和 AbstractCollection 中的 add(Unit) 都匹配"

嗨,我在 intellij idea 中运行了包含这些说明的代码

我在此内容的最后一行收到错误

“模棱两可的方法调用。Patchingchain 中的 add(Unit) 和 AbstractCollection 中的 add(Unit) 都匹配”

我该如何解决这个错误?

0 投票
2 回答
3346 浏览

java - Call graphs in Soot

How do I use SOOT to build at Call graph? Or are there any better programs for this? I have been sent around the same five pages looking for answers and I can't find what I am looking for. There are also a problem with the plugin version to Eclipse. It is installed correct but I cant choose it when I want to run the code.

0 投票
0 回答
124 浏览

java - Soot 库字段已存在

我想在“向应用程序中添加分析指令”教程中编写示例,所以我按照教程中的说明编写程序。但是当我运行它时,我得到了这个错误:

[Thread-3] 错误 heros.solver.CountingThreadPoolExecutor - 工作线程执行失败:字段已存在:gotoCount 类型

这个错误对应于

Scene.v().getMainClass().addField(gotoCounter);

我把我写的代码:

请帮助我,我无法找出导致此问题的原因?