FPGA PCIE Pcileech 项目学习笔记 By:Moer 公开

Modified June 14
DMACheatの起源:https://github.com/ufrisk/pcileech-fpga (DMA 作弊的起源)
工具网盘: http://t1yyds.cccpan.com/ 密码:6666,解压密码:mcujlq(来自 MCU 交流中心)
TeleScan&bin to coe 网页:veen.eu.org (下方有本地脚本及软件)
前言
主打一手学习目的的个人笔记 如果有任何错误的地方请告知我 V:Lifehiphop
同时也恳请大家有什么好的方法 知识可以多分享 创造好的环境
要是能帮助到您恳请 github 点个关注
多谢!
本文档本身是个人学习笔记,发现被人恶意倒卖,为防止大家受骗,故公开
本人唯一QQ:2644015855 其他都是骗子
学习群Q:
Unable to print
Feishu Docs - Image
升级了下群人数 小伙伴一起进来讨论吧
在学习固件之前看看
BIN = 二进制数值
DEC = 十进制数值
HEX = 十六进制数值
Bit = 位
WORD = 字节
DWORD = 双字,四字节
你需要用到的工具有
Vivado (没有我 你寸步难行啊)
arbor (要不是不好看哪些位是只读还是读写,早没 teledyne 的事了)
TeleScan (我可以很方便的看到哪些位是只读还是读写哟 并且方便转储)
RW-Everything (超强 IO/MMIO 查看工具 想做 TLP 少不了我哟)
以及一份固件源码 ,本次案例为 EKK WiFi 源码
案例采集的设备为 RTL8111 网卡
可能不同步骤使用的不是同一张 8111 所以采集信息也有出入 主要学习原理
PCIE 设备初始化流程图
Code block
+------------------------+
| 系统上电 |
+------------------------+
|
v
+------------------------+
| 执行自检 (POST) |
+------------------------+
|
v
+------------------------+
| 发现 PCIe 设备 |
| (读取配置空间信息) |
+------------------------+
|
v
+------------------------+
| 资源分配 |
| I/O地址, 内存地址, IRQ|
+------------------------+
|
v
+------------------------+
| 驱动程序匹配 |
| (Vendor ID, Device ID) |
+------------------------+
|
v
+------------------------+
| 驱动程序加载 |
+------------------------+
|
v
+------------------------+
| 驱动程序初始化 |
| (创建工作队列, 设定中断) |
+------------------------+
|
v
+------------------------+
| 设备配置 |
| (设置设备寄存器,功能)|
+------------------------+
|
v
+------------------------+
| 设备自检与状态确认 |
| (确认功能正常) |
+------------------------+
|
v
+------------------------+
| 在线状态通知 |
| (报告设备已初始化) |
+------------------------+
|
v
+------------------------+
| 设备准备就绪 |
| (可以进行数据传输) |
+------------------------+
如何在 TeleScan 或 arbor 查看对应设备?
先找到设备管理器中被采集设备
例如教程中的 8111 设备
在设备管理器中
我们主要看这个位置
PCI 插槽 14 (PCI 总线 2、设备 0、功能 0)也就是 02:00:00
Unable to print
Feishu Docs - Image
TeleScan中如何看?
圈起来的这三个对应着设备管理器中的位置参数
区别是设备管理器中的是 10 进制,而 TeleScan是 16 进制
所以设备管理器中是 02:00:00
50%
Unable to print
Feishu Docs - Image
50%
TeleScan中应该是?
16 进制也是一样的
02:00:0
但是记得 TeleScan要转 16 进制哈
50%
Unable to print
Feishu Docs - Image
50%
在 arbor 中如何查看?
第一步先扫描
Unable to print
Feishu Docs - Image
50%
Unable to print
Feishu Docs - Image
扫描后来到 map 这里看更简单了
arbor 默认是直接十进制和设备管理器对应的
50%
刚刚在设备管理器中看到是 02:00:0
这一下不就找到了?
50%
Unable to print
Feishu Docs - Image
50%
Unable to print
转换.exe
11.00KB
Comments (0)
Go to the first comment
0 words