首页
社区
课程
招聘
使用Intel DCI/Inte System Debugger跟踪主机启动过程 中CSME/Bios信息
2021-8-5 23:46 16616

使用Intel DCI/Inte System Debugger跟踪主机启动过程 中CSME/Bios信息

2021-8-5 23:46
16616

Background:

1.如果开机时遇到如Hangup/花屏等棘手的问题,需要Intel协助,Intel都会要求用DCI抓取开机日志,其中包含CSME/Bios/PMC等部件的输出,Intel基于此定位问题。


2.去年11月参加了格蠹科技的DCI培训,正好缺这部分内容,打算用本文做补充。


Limition&Notice: 

培训结束后,我手残把GDK7 bios下"DCI debug"设置错了,导致再也没法用GDK7自带的USB3.0 cable(准确的说是DCI-USB2/DCI-USB3 cable)调试GDK7了。


作为替代,我基于Intel TigerLake CPU,使用DCI OOB (俗称小蓝盒CCA,见下图)完成整个Trace过程

因此本文有下列限制: 


1.工作缘故,我可以手动修改DCI,然后使用CCA盒子调试公司的主板。但对于市场上其他PC,只有格蠹科技的GDK7可以打开DCI,且支持DCI-USB3 cable调试(不得不说张银奎老师路子很广)。所以如果读者手上有GDK7,千万不要手残把Bios设置改了(Load Default也改不回去!!!) 


2.用DCI-USB3 cable Trace开机过程时,可能无法抓取完整的CSME消息(如果读者的GDK7+DCI-USB3可以,请留言,容我改正)


3.CCA功能强大,仅售价$390,是不是有立即加入购物车的冲动?别想了,Intel只卖给Partner...


Body:

1.在Target和Host间建立DCI连接。具体步骤可以参考:GDK7+NanoCode调试学习系列6--Intel System Studio(ISS)搭建环境调试GDK7


连接建立后,不同配置的机器,在ISS中显示的CPU/PCH架构不同(我的调试目标是TigerLake CPU,GDK7是KabyLake CPU):



2.创建"Trace Project"

 2.1.切换到"Trace System Perspective":Tools--"System Debugger NDA"--"Open System  Debugger -Trace System Perspective"


2.2.创建Trace Project:"Project Explorer"--点击"Create a project"新建Trace工程



2.3.加载Trace Hub Decode file:


开机过程中CSME的输出,需要通过"ME Trace Hub Decode file"解码,否则将在System Debugger的Message Viewer窗口中显示"Unknown"。读者可以从Intel下载并加载Target的ME VersionNumber Trace Hub Decode file(下载需要Intel账号,如果没有账号,可以参考后记a)。TigerLake使用的ME主版本号是15,GDK7(KabyLake平台)使用的ME主版本号是12。因此,我下载的Decode file是ME15 Trace Hub Decode,如下图:


加载方式如下:"Window"--"Show View"--"System Trace Extensions"打开"System Trace Extensions"窗口:



点击Import System Trace Extensions按钮,加载下载的Decode file。


2.4.开始Trace GDK7开机过程:

打开"Trace Capture"窗口:"Window"--"Show View"--"Trace Capture":


 点击Trace Capture窗口中Start按钮(Begin capturing trace data from target),将打开Message View窗口,重启Target(GDK7)开始捕捉DCI trace log:



捕捉完毕,可以输入关键字过滤信息:

如搜索CSME信息:

 如搜索BIOS信息:


 2.5.导出Trace session:

获得DCI trace log后,点击"Project Explorer"--Session--"Export Trace Session",可以导出Trace session:


导出后,最终生成如下文件:


将此文件发给Intel,请Intel工程师协助分析开机过程。


Postscript:

文中提到:


a.System Debugger中"Message Veiw"中CSME source输出的内容需要使用Intel Trace Hub Decode file解析;


b.CSME输出的含义,需要参考Intel Management Engine(Intel ME) spec;


虽然,以上2类文件是Intel只对Partner提供,但是去年7月网上泄露的33G intel机密文档中包含有该文档(泄露的文档主要是Skylake/KabyLake CPU架构相关,而GDK7正好是KabyLake CPU架构),因此读者可以在网上自行搜索。



[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞4
打赏
分享
最新回复 (21)
雪    币: 1339
活跃值: (2231)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恒大 2021-8-6 08:36
2
0
谢谢大佬,刚买了个CCA可以参考文章做法~
雪    币: 2075
活跃值: (4126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
默NJ 2021-8-6 09:02
3
0
想办法买个cca耍耍
雪    币: 914
活跃值: (2188)
能力值: ( LV5,RANK:68 )
在线值:
发帖
回帖
粉丝
万剑归宗 1 2021-8-6 09:06
4
0
出 与GDK7功能一致的设备
雪    币: 1781
活跃值: (843)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Tatsuy 2021-8-6 09:07
5
0
那句“请Intel工程师协助分析开机过程”就很顶
雪    币: 6369
活跃值: (1258)
能力值: ( LV4,RANK:156 )
在线值:
发帖
回帖
粉丝
月落之汀 1 2021-8-6 10:58
6
0
之前装的一台pc能开dci,不一定非要gdk7,两台我对比过了,功能其实是一样的
雪    币: 12052
活跃值: (15379)
能力值: ( LV12,RANK:240 )
在线值:
发帖
回帖
粉丝
pureGavin 2 2021-8-6 11:09
7
0
明明都是中文,为什么我看不懂?
雪    币: 802
活跃值: (4423)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
hyjxiaobia 2 2021-8-6 13:46
8
0
恒大 谢谢大佬,刚买了个CCA可以参考文章做法~
弱弱的问一下,你在哪买的?我也想买一个
雪    币: 802
活跃值: (4423)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
hyjxiaobia 2 2021-8-6 13:47
9
0
月落之汀 之前装的一台pc能开dci,不一定非要gdk7,两台我对比过了,功能其实是一样的[em_7]
看情况的,有些厂商可能会留着这个,有些是关闭的
雪    币: 802
活跃值: (4423)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
hyjxiaobia 2 2021-8-6 13:48
10
0
Tatsuy 那句“请Intel工程师协助分析开机过程”就很顶
到intel来分析,基本已经在内部虐的很惨了
雪    币: 1339
活跃值: (2231)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
恒大 2021-8-7 08:32
11
0
hyjxiaobia 弱弱的问一下,你在哪买的?我也想买一个
某宝
雪    币: 7074
活跃值: (3463)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
bxc 6 2021-8-7 09:36
12
0
牛逼
雪    币: 6369
活跃值: (1258)
能力值: ( LV4,RANK:156 )
在线值:
发帖
回帖
粉丝
月落之汀 1 2021-8-7 22:34
13
0
hyjxiaobia 看情况的,有些厂商可能会留着这个,有些是关闭的
是的,无论怎样基本都要自己改BIOS强开,只是买了之后对比下内心有点失落罢了,因为那个system debugger真的不咋好用,净是bug,本以为gdk解决了,结果一毛一样
雪    币: 802
活跃值: (4423)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
hyjxiaobia 2 2021-8-8 23:51
14
0
月落之汀 是的,无论怎样基本都要自己改BIOS强开,只是买了之后对比下内心有点失落罢了,因为那个system debugger真的不咋好用,净是bug,本以为gdk解决了,结果一毛一样
Dci本身不稳定,随缘调试

雪    币: 3350
活跃值: (3372)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
fengyunabc 1 2021-8-11 09:29
15
0
666,感谢分享!
雪    币: 95
活跃值: (501)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sciwander 2021-8-11 17:18
16
0

部分主板bios可以通过hack打开DCI 其实bios里面都预留了~

最后于 2021-8-11 17:18 被sciwander编辑 ,原因:
雪    币: 248
活跃值: (3779)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2021-8-11 20:39
17
0
可以改指令集吗?
雪    币: 802
活跃值: (4423)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
hyjxiaobia 2 2021-8-11 21:46
18
0
yy虫子yy 可以改指令集吗?
改指令集怎么说?理论上可以改,需要ibv更新代码,准备好了我再更新吧
雪    币: 248
活跃值: (3779)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
luskyc 2021-8-12 00:39
19
0
hyjxiaobia 改指令集怎么说?理论上可以改,需要ibv更新代码,准备好了我再更新吧
就是篡改复杂指令集的执行逻辑
比如int中断指令,syscall系统调用指令
或者自定义执行逻辑
雪    币: 200
活跃值: (63)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tinydrop 2021-9-19 18:04
20
0
我有好几台dci调试设备。有一台t460s 开启了dci调试功能,可以转让,有意私信吧。
雪    币: 802
活跃值: (4423)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
hyjxiaobia 2 2021-9-22 18:50
21
0
tinydrop 我有好几台dci调试设备。有一台t460s 开启了dci调试功能,可以转让,有意私信吧。
联想的机器?
雪    币: 200
活跃值: (63)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tinydrop 2021-9-24 17:55
22
0
hyjxiaobia 联想的机器?
联想thinkpad t460s
游客
登录 | 注册 方可回帖
返回