文件名称:seer:Rust的符号执行引擎
文件大小:216KB
文件格式:ZIP
更新时间:2024-05-20 16:24:56
Rust
先知:Rust的符号执行引擎 Seer是一个分支,它使用作为求解器后端,增加了对符号执行的支持。 给定用Rust编写的程序,Seer尝试详尽枚举通过它的可能执行路径。 为实现此目的,Seer以符号形式表示程序的输入,并在程序上保持一组约束。 当Seer到达程序中的分支点时,它将调用其求解器后端以计算在当前约束条件下可能进行的延续。 然后,将可能的连续性放入队列中进行探索,并增加从分支条件中获悉的各个新约束。 Seer会将通过::std::io::stdin()读取的任何字节视为符号输入。 这意味着,一旦Seer为您的程序找到了有趣的输入,您就可以轻松地用rustc编译您的程序并在该输入上运行它。 示例:仅给编码器解码base64 [] 假设我们有一个base64编码器函数: fn base64_encode (input: & [ u8 ]) -> String { ... }