DMA-CFW-Guide 使用与启动教程
1. 项目介绍
DMA-CFW-Guide 是一个开源项目,旨在提供创建自定义/修改型 DMA(攻击)固件的详细指导,基于 pcileech-fpga 版本 4.15。本项目提供了从硬件到软件的全面教程,包括固件定制、TLP 仿真、中断处理以及构建、烧录和测试等内容。
2. 项目快速启动
硬件要求:
- 一张捐赠卡(用于获取 IDs 配置空间)
- 一张 DMA 卡
软件要求:
- 文本编辑器(如 Visual Studio)
- Xilinx Vivado(需要注册 AMD 账户下载)
- Pcileech-fpga 源代码(用于自定义固件)
- Arbor(需要注册账户下载试用版,试用期 14 天)
步骤 1:获取捐赠卡信息
使用 Arbor 扫描工具获取捐赠卡的信息,包括设备 ID、供应商 ID、修订 ID、BAR0 大小值、子设备 ID 和 DSN(设备序列号)。
步骤 2:初始定制
打开 PCIeSquirrel 文件夹下的 pcileech_pcie_cfg_a7.sv
文件,查找并修改以下字段:
- 修改 master abort flag/auto-clear status register 中的值。
- 将 DSN 字段替换为从捐赠卡获得的 DSN。
步骤 3:生成 Vivado 文件
打开 Vivado,使用 Tcl 控制台导航到 PCIeSquirrel 文件夹,并运行 source vivado_generate_project.tcl -notrace
命令生成项目文件。
步骤 4:Vivado 项目定制
在 Vivado 中打开生成的项目,进入 IP 定制界面,修改捐赠卡获取的 IDs 信息。
3. 应用案例和最佳实践
- 使用场景:本项目的典型应用场景是创建自定义 DMA 固件,用于安全测试和硬件研究。
- 最佳实践:在定制固件时,确保不要使用计算机中现有的硬件 ID,以免在将来被检测并标记。
4. 典型生态项目
- 固件定制工具:如 pcileech-fpga,用于生成和修改固件。
- 硬件兼容性测试:确保 DMA 卡与捐赠卡的信息匹配,以便正确仿真。
- 社区支持:参与 GitHub 社区,获取帮助和分享经验。
--结束--
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考