如何为自我实现的值集分析 (VSA) 找到测试用例?

逆向工程 二元分析 反编译 静态分析
2021-06-19 13:47:57

我读了一篇关于值集分析 (VSA)博客文章对于 VSA,请参见例如此处

博客作者写道

我一直试图达到 Balakrishnan 论文中的例子的作用。我选择这个例子是因为我不知道其他任何例子!

我想知道如何测试自定义 VSA 实现。如何找到测试用例?

我的猜测是可以运行和跟踪一个简单的应用程序并记录一些内存区域或寄存器的(具体的,即运行时)值。在完成静态 VSA 之后,这些值应该显示在相应内存/寄存器的结果中,对吗?

一开始,有一些例子会更容易。您是否知道任何示例(官方文件中的示例除外)?

1个回答

嗯,使用动态分析是一种方法,但您可能可以从一些小的、不言而喻的边缘情况开始,例如:

test edx, 1
jz @even
[here, edx is odd]
even:
[here, edx is even]

test edx, edx
jg @greater
[here, edx is <=0]
greater:
[here, edx is >0]

等等。