freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Zelos:一款功能强大的代码模拟和测试平台
2020-04-25 15:00:28

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项目的开发与发布遵循AGPL v3开源许可证协议

项目地址

Zelos:【GitHub传送门

Zelos:【官方网站

* 参考来源:zeropointdynamics,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


# Zelos # 测试平台 # 代码模拟
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者