Zelos:一款功能强大的代码模拟和测试平台

栏目: IT技术 · 发布时间: 5年前

内容简介:Zelos是一款功能强大的代码模拟和测试平台,Zelos英文全称为“Zeropoint Emulated Lightweight Operating System”,即Zeropoint轻量级模拟操作系统,该平台基于Python开发,可帮助广大研究人员快速实现代码行为模拟和测试。Zelos的其中一个强大功能就是能够通过命令行或Python脚本快速对目标代码的动态行为进行模拟、审计和评估。其中,所有的系统调用都会在与目标代码隔离的环境下进行模拟,并且支持Linux x86_64 (32- 和64-bit)、A

Zelos

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开发

我们可以直接在Windows平台中的命令行窗口中执行下列命令:

C:\> python3 -m venv zelos_venv
C:\> zelos_venv\Scripts\activate.bat
(zelos) C:\> pip install -e .[dev]

工具运行截图

Zelos:一款功能强大的代码模拟和测试平台


以上所述就是小编给大家介绍的《Zelos:一款功能强大的代码模拟和测试平台》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Usability for the Web

Usability for the Web

Tom Brinck、Darren Gergle、Scott D. Wood / Morgan Kaufmann / 2001-10-15 / USD 65.95

Every stage in the design of a new web site is an opportunity to meet or miss deadlines and budgetary goals. Every stage is an opportunity to boost or undercut the site's usability. Thi......一起来看看 《Usability for the Web》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具