首页
社区
课程
招聘
[原创] Intel 酷睿 CPU Management Engine 固件研究与分析逆向 (一) 前置准备与解包
发表于: 2026-5-22 00:40 13681

[原创] Intel 酷睿 CPU Management Engine 固件研究与分析逆向 (一) 前置准备与解包

2026-5-22 00:40
13681

传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!

收藏
点赞 14
打赏
分享
最新回复 (11)
雪    币: 121
活跃值: (1745)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大佬加个联系方式
2026-5-22 10:21
0
雪    币: 1342
活跃值: (7010)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
大佬是搞出了ME调试能力,还是用的硬件仿真,还是只静态分析?
2026-5-25 16:26
0
雪    币: 2473
活跃值: (1910)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
4
qj111111 大佬是搞出了ME调试能力,还是用的硬件仿真,还是只静态分析?
对方向就是 搞ME调试,真机玩
2026-5-25 17:26
0
雪    币: 5357
活跃值: (6162)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
感谢分享。
2026-5-25 17:33
0
雪    币: 208
活跃值: (3169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不是 大佬 我有个问题 你把dci打开之后回刷回去 固件签名不通过是咋启动的啊
2026-5-29 15:00
0
雪    币: 1342
活跃值: (7010)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
BitWarden 对方向就是 搞ME调试,真机玩
太牛了,我想搞Dci,买了线实在找不到软件授权,到处找,最后在52pojie论坛找到一款主板授权,可惜那位也没搞出来DCI真机调试
2026-5-30 11:50
0
雪    币: 2473
活跃值: (1910)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
8
华硕的设备简单点 我买了好多设备一点一点尝试 目前找到z270是可以完美复现kaokao的那个文章的
2026-5-30 15:00
0
雪    币: 131
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
...
2026-6-4 03:52
0
雪    币: 2473
活跃值: (1910)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
wx_0xC05StackOver 不是 大佬 我有个问题 你把dci打开之后回刷回去 固件签名不通过是咋启动的啊
我只是修改了dci的开关的默认预设标志位,这个没有签名保护。
2026-7-3 11:44
0
雪    币: 2473
活跃值: (1910)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
11
wx_0xC05StackOver 不是 大佬 我有个问题 你把dci打开之后回刷回去 固件签名不通过是咋启动的啊

之前我还特意去逆向分析了一下,me以及bios的签名的位置,确认了。所以才这么搞。在还有个思路就是修改bios中本身dci的变量的值,本身就是dump出来的,是可以强刷的。这一带主板本身就是自带dci,只是华硕在ui上不显示,这个国外社区也有讨论和复现。用设备强刷进去就行了。而且z270这一带还可以强制降低版本.后续测试中usb的设备管理器以及弹出来了。最近比较忙,没接着玩下去了hh。

再补充一下:

再就是我记得kaokao好像也是改了bios,还是主板自带开关。受保护的就是me自身的代码区还有bios中各个模块的代码区。后续我可以把这部分放出来。整个me的bup和reb都分析完了。me的固件校验是在reb中。reb大概流程是这样的:

1. 初始化 SRAM 工作区 + 建立 ME MMU 页表

2. 写入 PCH MMIO 寄存器初始配置(27 对 addr/value)

3. 检测启动模式(正常 / S3 / S4 / MFG)

4. 从内存目录定位 `bootpart` / `ftpr.mft` / `boot_fpt` 三个关键引导数据源

5. DMA 加载引导数据(SPI flash → SRAM,通过 ROM 服务 `0xFFFC9064`)

6. 等待 PCH GPIO 握手信号(`0xF5038008`)

7. 把 PCH Device ID 写入内存目录

8. 验证 boot manifest(magic `"Boot"` / `0x426F6F74`,版本校验)

9. 遍历模块加载表(`0x42ABC`),为每个模块分配槽位

10. 把 `boot_cfg` 发布到内存目录

11. 校验已加载模块注册表

12. 跳入 BUP(写 `0x08000328` handoff target,JMP 到 `0x400CD` 共享尾部)


最后于 2026-7-3 11:55 被BitWarden编辑 ,原因:
2026-7-3 11:48
0
雪    币: 2473
活跃值: (1910)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12


1

最后于 2026-7-3 11:54 被BitWarden编辑 ,原因:
2026-7-3 11:53
0
游客
登录 | 注册 方可回帖
返回