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

news/2025/1/8 16:24:46/文章来源:https://www.cnblogs.com/o-O-oO/p/18651051

关于CEmu

CEmu是一款轻量级多平台架构的汇编训练场,广大研究人员可以利用该工具研究和学习汇编语言,以便快速编写和测试汇编语言代码。

编写汇编语言很有趣,汇编语言是与计算机通信的最低级语言(人类可理解),对于理解任何机器的内部机制都至关重要。不幸的是,为各种架构(x86、ARM、MIPS、SPARC)设置编写、编译和运行汇编语言的环境一直很痛苦。CEmu试图通过提供 GUI、CLI 和库来解决这个问题,以便快速编写和测试汇编语言。

支持的架构

CEmu允许我们测试二进制样本,检查 shellcode,学习如何编写汇编代码,并且支持下列平台架构:

x86-32 / x86-64ARM / AArch64MIPS / MIPS64SPARC/SPARC64PPC

当前版本的CEmu主要在 Linux 和 Windows 上进行了测试,但应该可以在 MacOS 上运行。

工具要求

capstone==5.0.1colorama==0.4.6keystone-engine==0.9.2lief==0.15.1loguru==0.7.2prompt-toolkit==3.0.47pygments==2.18.0pyqt6==6.7.1pyqt6-qt6==6.7.2pyqt6-sip==13.8.0setuptools==72.1.0unicorn==2.0.1.post1wcwidth==0.2.13win32-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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/863597.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

『矩阵树定理,LGV引理,行列式』Day9 略解

我抓不住世间的美好,所以只能装作万事顺遂的模样前言我抓不住世间的美好,所以只能装作万事顺遂的模样第二个链接,做是做不起一点的,只能乞讨别考这些**东西。 A 最小带权生成树计数板题。(其实没这么多戏份) 首先先求出任意一颗最小生成树,如果没有直接输出 \(0\)。 对于…

使用Cursor + Qwen2.5 大模型 零经验研发微信小程序:自由构建个性化节拍器应用实战

使用Cursor + Qwen2.5 大模型 零经验研发微信小程序:自由构建个性化节拍器应用实战" description = "本文介绍了如何利用Cursor工具结合Qwen2.5大模型快速开发一款个性化的微信小程序——老牛同学节拍器。通过详细的步骤,我们展示了从零开始创建一个功能完备的小程…

【金融安全】详解红筹架构的搭建

#金融与法律 #红筹架构 什么是红筹架构 红筹架构通常是指中国内地企业在境外(如中国香港、开曼群岛、英属维尔京群岛等地)设立特殊目的公司(SPV),然后将境内企业的资产或权益注入到这些SPV中,最终通过这些境外控股公司在境外交易所上市。红筹架构允许企业绕开国内直接上…

【金融安全】金融行业该如何保障数据安全?

近日,为规范银行业保险业数据处理活动,保障数据安全、金融安全,促进数据合理开发利用,维护社会公共利益和金融消费者合法权益,金融监管总局制定《银行保险机构数据安全管理办法》(以下简称《办法》)。《办法》强调了数据分类分级与安全管理的重要性,而身份数据作为最具…

IDEA 2024.3.1.1完整的安装教程(激活至2099年,以及常见问题处理)

卸载老版本 IDEA 首先,如果小伙伴的电脑上有安装老版本的 IDEA , 需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即可): TIP:如果你之前使用过本站提供的 激活到 2025 年版本脚本,需要执行对应卸载脚本 /适用2024版本/JetBrains 2023 最新全家桶/jetbra /scrip…

R机器学习:神经网络算法的理解与实操,实例解析

神经网络算法是一种模仿生物神经网络(尤其是人脑)结构和功能的算法。它由大量相互连接的节点(称为神经元)组成,这些神经元组织成层,通过传递信号来处理信息。神经网络算法在机器学习、人工智能等领域中扮演着至关重要的角色,尤其擅长处理复杂的模式识别、分类和预测问题…

jenkins导出单个作业

进入下面页面,下载jenkin-cli.jar包。java -jar jenkins-cli.jar -s http://192.168.1.205:8080 -auth admin:xxx get-job job1 > job1.xml

DesignWare IP使用——层次化综合加快总体综合速度

记录一下目前综合时遇到的一点小问题。 目前的设计的计算模块里大量使用了DW IP,包括浮点除法器,浮点加减法器,浮点乘法器,浮点求根器,浮点比较器等每个各32个,直接综合的话会发现这些大的计算单元每个都需要进行mapping,会导致综合的总时长长的难以想象(可能需要数天的…

python 长数据转宽数据

import pandas as pd# 长格式数据 df_long = pd.DataFrame({id: [A, A, B, B, C, C],year: [2020, 2021, 2020, 2021, 2020, 2021],value: [10, 15, 20, 25, 30, 35] })print(df_long) df_wide = df_long.pivot(index=id, columns=year, values=value) print(df_wide)

第十八次作业

1、sql注入漏洞中,常见的防护方案有哪些?请简述原理和用法 类型转换: 将输⼊强制转换为整数/浮点 ⽤于整数/浮点类型的输⼊参数处理,可防⽌SQL注⼊。 intval($input) floatval() floor() (int)$input $input + 0 特殊字符转义: addslashes 在单引号()、双引号(")、反…