扫一扫分享
Zelos是一款功能强大的代码模拟和测试平台,Zelos英文全称为“Zeropoint Emulated Lightweight Operating System”,即Zeropoint轻量级模拟操作系统,该平台基于Python开发,可帮助广大研究人员快速实现代码行为模拟和测试。
Zelos的其中一个强大功能就是能够通过命令行或Python脚本快速对目标代码的动态行为进行模拟、审计和评估。其中,所有的系统调用都会在与目标代码隔离的环境下进行模拟,并且支持Linux x86_64 (32- 和64-bit)、ARM和MIPS代码。
广大研究人员可以使用下列命令将项目源码克隆至本地:
git clone https://github.com/zeropointdynamics/zelos.git
或者使用 pip 包管理器来下载和安装Zelos:
pip install zelos
当然了,在使用Zelos之前,请确保你的系统已安装好Python环境。
使用默认选项模拟目标代码:
$ zelos my_binary
如需查看已执行的代码指令,请添加-v参数:
$ zelos -v my_binary
你还可以在每一个执行首次被执行时打印输出相关数据,此时需添加–fasttrace参数:
$ zelos -v --fasttrace my_binary
默认配置下,系统调用可以通过stdout发出,如需将系统调用写入至文件,可以使用–strace参数:
$ zelos --strace path/to/file my_binary
import zelos
z = zelos.Zelos("my_binary")
z.start(timeout=3)
首先,我们需要创建一个新的Python虚拟环境,这样可以确保不存在数据包所导致的版本冲突:
$ python3 -m venv ~/.venv/zelos
$ source ~/.venv/zelos/bin/activate
接下来,克隆代码库,并切换至zelos项目目录中:
(zelos) $ git clone git@github.com:zeropointdynamics/zelos.git
(zelos) $ cd zelos
安装可编程版本的Zelos至虚拟环境中,并确保import zelos可用,此时任何针对Zelos的本地修改将会立即生效:
(zelos) $ pip install -e '.[dev]'
此时,通过测试并构建文档:
(zelos) $ pytest
(zelos) $ cd docs
(zelos) $ make html
构建的文档可以在“docs/_build/html/”路径下找到
接下来,安装Zelos预编译的钩子来确保代码风格兼容:
(zelos) $ pre-commit install
(zelos) $ pre-commit run --all-files
我们可以直接在Windows平台中的命令行窗口中执行下列命令:
C:\> python3 -m venv zelos_venv
C:\> zelos_venv\Scripts\activate.bat
(zelos) C:\> pip install -e .[dev]
手机预览