一、Metasm 是什么?
Metasm是用纯Ruby写的一个支持多CPU架构的汇编器,反汇编器,编译器,连接器及调试器。
著名的安全漏洞检测工具Metasploit Framework也使用了Metasm。2011年4月份,Metasm的作者把Metasm放在了RubyGems.org上。
二、Metasm安装
Metasm是个gem,所以安装起来很简单:
gem install metasm
三、示例
下面是Metasm自带的一个将汇编代码编译成exe的例子,我只是改了一下输出文字。
这个例子生成一个PE格式的exe文件,程序运行时,调用MessageBox弹出一个消息框。具体代码如下:
require 'metasm'
pe = Metasm::PE.assemble Metasm::Ia32.new, <<EOS
.entrypoint
push 0
push title
push message
push 0
call messagebox
xor eax, eax
ret
.import 'user32' MessageBoxA messagebox
.data
message db 'Hello Ruby!', 0
title db 'Metasm', 0
EOS
pe.encode_file 'hello_ruby.exe'
运行脚本后,会生成hello_ruby.exe。例子很简单明了。通过Metasm,我们可以 内嵌汇编代码
或是编译 汇编源文件
来生成可执行文件。
分享到:
相关推荐
元脚本(Metasm)是一种高级的、动态的代码生成框架,主要被设计用于 Ruby 语言。Metasm 提供了一种灵活的方式,让开发者能够创建、解析和转换各种不同的指令集架构(如 x86 或 ARM)的机器码。这个框架在底层处理二...
1. **混淆技术**:通过改变代码结构,使其难以被反病毒软件识别。例如,使用加密、编码、变形等方式来隐藏原始指令。 2. **壳技术**:在恶意代码外面包裹一层外壳,使得反病毒软件难以直接检测到内部的恶意 payload...
这个简单的 ruby 脚本将反编译一个 metasploit 有效负载,混淆 ASM 代码并再次编译它以避免 AV 检测。 您可以使用菜单让脚本为您生成负载,让它混淆您已经创建的负载,或者简单地更改您想要在脚本之外编译的 ASM...
基于Php语言设计并实现了微信小程序的社区门诊管理系统。该小程序基于B/S即所谓浏览器/服务器模式,选择MySQL作为后台数据库去开发并实现一个以微信小程序的社区门诊为核心的系统以及对系统的简易介绍。 用户注册,在用户注册页面通过填写账号、密码、确认密码、姓名、性别、手机、等信息进行注册操作; 用户登录,用户通过登录页面输入账号和密码,并点击登录进行小程序登录操作。 用户登陆微信端后,可以对首页、门诊信息、我的等功能进行详细操作 门诊信息,在门诊信息页面可以查看科室名称、科室类型、医生编号、医生姓名、 职称、坐诊时间、科室图片、点击次数、科室介绍等信息进行预约挂号操作 检查信息,在检查信息页面可以查看检查项目、检查地点、检查时间、检查费用、账号、姓名、医生编号、医生姓名、是否支付、审核回复、审核状态等信息进行支付操作
白色大气风格的设计师作品模板下载.zip
工程经济学自考必备软件下载
UML课程设计报告.doc
白色大气风格响应式彩绘精品水果网站模板.zip
白色简洁风格的别墅整站网站模板.zip
白色简洁风格的APP展示动态源码下载.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色大气风格的雪山旅游景区CSS3网站模板.zip
介绍 基于python开发的大模型调用基础框架(源码) 使用说明 修改配置文件 cd config vim __init__.py # 在配置文件中添加大模型调用地址,模型名称,API_KEY等配置 启动应用 应用启动分为两种模式,命令行模式和web模式 命令行模式 python main.py cli web模式 python main.py api
基于JavaWeb的小区物业管理系统源代码+数据库 负责数据库的设计和界面的设计和实现; 界面使用 BootStrap 框架,页面自适应效果,修改页面后实现各个功能模块的布局; 负责实现用户登录注册,查看小区活动公告、水电费查询、车费查询信息; 采用的技术:采用 MVC 架构,数据库用 MySql;
白色简单风格的商务企业网站模板下载.zip
1. 平台在家电和电子产品方面的营运情况如何? 2. 哪些品牌和类别销量最高? 3. 用户消费规律 4. 哪些是我们的重点用户? 5. 平台有哪些优势和不足,需要如何改进?
全平台数据库管理工具, 支持 ClickHouse, Presto, Trino, MySQL, PostgreSQL, Apache Druid, ElasticSearch...
白色大气风格的旅游整站网站模板.zip
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用KEIL 标准库开发,当前在STM32F030C8T6运行,如果是STM32F030其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、编译时请注意提示,请选择合适的编译器版本。
Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作