首页 > 编程语言 >【汇编靶场】CEmu:一款轻量级多平台架构汇编训练场

【汇编靶场】CEmu:一款轻量级多平台架构汇编训练场

时间:2025-01-03 22:34:50浏览次数:1  
标签:汇编 架构 汇编语言 CEmu pip cemu 轻量级

关于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 来构建并运行你的环境即可。

项目地址

https://github.com/hugsy/cemu

原创 Alpha_h4ck FreeBuf

标签:汇编,架构,汇编语言,CEmu,pip,cemu,轻量级
From: https://www.cnblogs.com/o-O-oO/p/18651051

相关文章

  • 微机原理与接口技术——期末笔记 实验总结 侧重Win32汇编代码实现
    微机原理与接口技术声明:本篇文章是在复习期末考试的过程中根据教材与实验所总结的复习资料,参考书目为*《微机原理与接口技术(第2版)——Win汇编、接口及设备驱动》郭兰英赵祥模编著*。文章只重点总结了前两章、第五章、五大芯片、键盘、AD转换的具体代码示例。所有代码均来......
  • 《计算机组成及汇编语言原理》阅读笔记:p177-p177
    《计算机组成及汇编语言原理》学习第13天,p177-p177总结,总计1页。一、技术总结1.realmodeAprogrammingmodelwheretheprogramhasaccesstotheentirecapabilityofthemachine,bypassingsecurityandmemorymanagement.Usefulprimarilyforoperatingsys......
  • Win32汇编学习笔记02.RadAsm和联合编译
    https://bpsend.net/thread-151-1-1.html汇编使用资源汇编使用资源的方式和C的一样,也是把资源文件rc编译成 res 再链接进去,汇编没有自己的资源编辑器,需要借助vc6.0或者vs主要是把头文件.h转化为对应的.inc使用vc6.0建立资源文件用vs建立资源文件......
  • 第8章 汇编语言--- 循环结构
    汇编语言是一种低级编程语言,它几乎是一对一地映射到计算机的机器码指令。在汇编语言中实现循环结构通常涉及到使用条件跳转指令(如JMP、JE、JNE等)来控制程序流程。下面我将通过一个简单的例子来讲解如何用x86汇编语言实现一个循环结构。假设我们要编写一个程序,它会计算从1......
  • 使用库函数 API 和 C 代码中嵌入汇编代码两种方式使用同一个系统调用
    实验四使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用实验内容选择一个系统调用(13号系统调用time除外),系统调用列表参见torvalds/linux。参考视频中的方式使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用实验过程使用库函数API#......
  • win32汇编环境,对话框中设置RichEdit内文本的字体
    ;运行效果;win32汇编环境,对话框中设置RichEdit内文本的字体;直接抄进RadAsm可编译运行。;下面为asm文件;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>......
  • win32汇编环境,窗口程序中设置RichEdit内文本的字体
    ;运行效果;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>......
  • Win32汇编学习笔记01.环境配置
    Win32汇编学习笔记01.环境配置-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net环境配置masm32下载官网:http://www.masm32.com/安装成功标志环境配置:将masm32下的bin目录添加到path新建include,将masm32目录下的inclcude目录添加进去新建lib,将mas......
  • 8086汇编(16位汇编)学习笔记10.寄存器总结
    8086汇编(16位汇编)学习笔记10.寄存器总结-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net寄存器8086CPU有14个寄存器它们的名称为:AX、BX、CX、DX、SI、DI、SP、BP、 IP**、CS、DS、ES、**SS、PSW。8086CPU所有的寄存器都是16位的,可以存放两个字节。AX、......
  • 《计算机组成及汇编语言原理》阅读笔记:p133-p159
    《计算机组成及汇编语言原理》学习第11天,p133-p159总结,总计27页。一、技术总结1.segment(1)定义Broadlyspeaking,acontiguoussectionofmemory.Morespecifically,asectionofmemoryreferencedbyoneofthesegmentregistersofthe80x86family.Theme......