关于CEmu
CEmu是一款轻量级多平台架构的汇编训练场,广大研究人员可以利用该工具研究和学习汇编语言,以便快速编写和测试汇编语言代码。
编写汇编语言很有趣,汇编语言是与计算机通信的最低级语言(人类可理解),对于理解任何机器的内部机制都至关重要。不幸的是,为各种架构(x86、ARM、MIPS、SPARC)设置编写、编译和运行汇编语言的环境一直很痛苦。CEmu试图通过提供 GUI、CLI 和库来解决这个问题,以便快速编写和测试汇编语言。
支持的架构
CEmu允许我们测试二进制样本,检查 shellcode,学习如何编写汇编代码,并且支持下列平台架构:
x86-32 / x86-64
ARM / AArch64
MIPS / MIPS64
SPARC/SPARC64
PPC
当前版本的CEmu主要在 Linux 和 Windows 上进行了测试,但应该可以在 MacOS 上运行。
工具要求
capstone==5.0.1
colorama==0.4.6
keystone-engine==0.9.2
lief==0.15.1
loguru==0.7.2
prompt-toolkit==3.0.47
pygments==2.18.0
pyqt6==6.7.1
pyqt6-qt6==6.7.2
pyqt6-sip==13.8.0
setuptools==72.1.0
unicorn==2.0.1.post1
wcwidth==0.2.13
win32-setctime==1.1.0
工具安装
由于该工具基于Python 3.10开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3.10+环境。
源码安装
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/hugsy/cemu.git
然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd cemu pip install -r requirements.txt
或直接运行下列代码从GitHub安装最新稳定版本:
python3 -m pip install --user --upgrade git+https://github.com/hugsy/cemu.git@main#egg=cemu
PyPI安装
python3 -m pip install install cemu
工具使用
GUI使用
使用安装后pip,只需运行可执行文件,或通过 Python 调用
python3 -m cemu
打开的程序GUI如下:
命令行使用
python -m cemu --cli
进入 REPL,从而可以构建和运行模拟环境:
代码库使用
python -i -c "import cemu"
然后使用提供的 API 来构建并运行你的环境即可。
许可证协议
本项目的开发与发布遵循MIT开源许可协议。
项目地址
CEmu:【GitHub传送门】
参考资料
https://github.com/keystone-engine/keystone