【发布时间】:2014-04-08 07:37:09
【问题描述】:
我想根据 Soot 内置的 Reaching-Definition 分析编写一个程序来执行此操作。现在我想知道这是正确的方法吗?我搜索并发现似乎没有人对这个方向感兴趣。
有什么建议吗?
【问题讨论】:
-
这对我来说没有多大意义。估计变量的值是什么意思?以及如何达到定义分析相关?
-
@StephenC,我在这里做一些安全评估,例如,如果我发现某个 Android 应用在其 sendText() 函数中使用了付费目标,我可以标记它。跨度>
-
通过到达-定义分析,我可以找到一个变量的相关定义位点,并递归地检查每个位点以找到分配给该变量的可能值。
-
这与估计变量的值无关。
-
@StephenC:每个达到的定义都显示了值范围的来源(在开始时,某个输入 [“付费目标”] 周围的零宽度范围或诸如 3 之类的恒定值)如何被分配消耗。到达点的到达定义集给出了范围集,可以保守地组合成一个范围。您可能会争辩说,集合比范围更好。这一切所做的只是改变计算结果的努力,并给出不同的保守结果。
标签: java static-analysis intermediate-language soot