dynamorio简介

dynamorio是Google上的一个开源项目:http://code.google.com/p/dynamorio/

与valgrind类似,dynamorio也是一个动态二进制插桩/翻译平台。通过dynamorio,你可以操控一个程序的运行代码(runtime code ),即它可以模拟运行一个程序,并允许你对运行代码的任何地方进行变形和控制。dynamorio用于对程序进行动态分析、优化和翻译。dynamorio可以运行在Windows 和Linux操作系统上,并且支持商用的 IA-32 和AMD64硬件。

 

DynamoRIO 是HP与MIT的合作项目,Dynamo 来自HP实验室, RIO (Runtime Introspection and Optimization) 来自MIT的计算机科学实验室。DynamoRIO 最早发布于2002年。

DynamoRIO非常稳定,并且具有很高的性能,这已经通过其在商业软件工具如Determina 的内存防火墙中的应用得到了证实。有关DynamoRIO在Determina中的使用的更多信息可以参阅名为"基于程序监视的安全执行(Secure Execution Via Program Shepherding)"的MIT研究论文 。

 

 

中午参考文献:

《计算机工程》 2010年09期

 

基于动态二进制分析的网络协议逆向解析

 

何永君  舒辉  熊小兵  

【摘要】:研究未知网络协议逆向解析技术在网络安全应用中具有重要的意义。基于此,介绍网络协议逆向解析技术的发展现状,分析基于网络轨迹和基于数据流的2种主要解析方法,提出一种基于动态二进制分析技术的逆向解析方法,并选取DynamoRIO平台作为支撑,实现对数据流信息的记录和分析,从而解析出单条协议消息中主要的协议域。

【作者单位】: 解放军信息工程大学信息工程学院;
【关键词】协议逆向解析 数据流分析 动态二进制分析 协议域 DynamoRIO平台 网络协议 解析方法 数据流信息 网络应用程序 解析技术
### Dynamorio 的安装方法 #### 下载 DynamoRIO 访问官方网站的下载页面,获取最新版本的 DynamoRIO 压缩包文件。具体地址为:https://dynamrio.org/page_download.html。选择适合操作系统的版本进行下载,在 Linux 平台上通常会提供 `.tar.gz` 格式的压缩包[^2]。 #### 解压与配置环境变量 解压已下载的 `DynamoRIO-Linux-*.tar.gz` 文件至目标目录。假设将其放置于 `/opt/dynamorio/` 路径下,则可以通过以下命令完成解压: ```bash tar -xzvf DynamoRIO-Linux-*.tar.gz -C /opt/dynamorio/ ``` 随后设置必要的环境变量以便运行 DynamoRIO 工具链。可以将如下内容加入到用户的 shell 配置文件(如 `.bashrc` 或 `.zshrc` 中): ```bash export DYNAMORIO_HOME=/opt/dynamorio/DynamoRIO-Linux-* export PATH=$PATH:$DYNAMORIO_HOME/bin64 ``` 上述路径需依据实际解压后的子目录名称调整。 #### 测试安装是否成功 执行简单的测试脚本来验证 DynamoRIO 是否正常工作。例如运行自带的例子程序之一来确认基本功能无误。如果一切顺利,应该能够看到预期的行为输出而没有任何错误提示信息显示出来[^1]。 对于更深入的学习者来说,还可以参考其他资源进一步探索如何构建自定义工具。比如有人分享了一个名为 instr_trace 的项目仓库链接 (git clone https://gitee.com/xiaolicangdao/instr_trace.git),它包含了额外的功能实现代码片段可供研究学习之用[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值