探索IA架构的神器 —— GDK7

如标题所见,今天要带你看的是 格蠹科技 开发的 GDK7

什么是ia架构 ? IA(Intel Architecture)是指英特尔的CPU架构,包括IA-32和IA-64两种架构。

一、什么是GDK7 ?

  • GDK7 是一款针对英特尔架构开发的高端调试套件,为使用英特尔架构的技术人员解决 英特尔平台上出现的各种技术问题。
  • GDK7 不仅包含了用于建立 JTAG/DCI 调试会话的连接 设施,还为底层调试和调优需求提供了一种高效便捷的新方案。
  • GDK7 也是一台可以直接使用的主机,大幅度的减少了准备调试环境所需的时间,省去各种因为软件和硬件不兼容所带来的烦恼。

1.主要功能的简单介绍

  • 调试固件、调试操作系统的启动加载程序、调试操作系统的内核代码、调试驱动程序、 调试具有反调试功能的软件等。
  • 通过英特尔 CPU 的处理器追踪功能采集 CPU 的事件。
  • 通过调试会话实现调试主机与目标主机之间的内存转储与加载。
  • 观察 CPU 和芯片组的硬件结构和逻辑结构。
  • 通过 Nano Code/DAL 工具的 Python 扩展包进行高级调试和调优的任务。
  • 开发定制的调试和调优工具。

2.主机硬件配置

  • 处理器为Intel 4405U
  • 4GDDR3内存
  • 256G M.2存储
  • 全金属 Mini-ITX机箱
  • 集成在主板上的** Realtek **有线网卡

3.预装软件

  • Ubuntu 系统,64位,版本为 18.04 OR Win10 专业版 (未激活) 【可自己选择 】
  • Nano Debugger 目标机模块,用于支持符号化的 Linux 内核调试

二、开箱

  • 牛皮纸的包装 :
  • 硬件部件 :
  • 外部接口 (前面板):
  • 外部接口 (后面板):
  • 磨砂金属材质:

三、功能

1.DCI调试

DCI是基于Intel硬件的调试技术,不需要操作系统支持,与其它软件调试方案相比,具有很多优点:

1)可以调试系统早期启动的代码

2)调试OS内核早期的代码

3)调试具有反调试逻辑的代码

对于市面上的X86机器,DCI调试功能通常都是在BIOS阶段锁死的,在操作系统阶段无法打开(寄存器配置是一次性的)。GDK7通过定制固件实现了DCI调试,技术难度是很大的,听说格蠹的研发团队来自Intel,否则是很难搞定这个难题的。

调试主机端打开设备管理器(搜索设备管理器)打开↓

应注意到应用程序OpenIPC_x64.exe是否在调试主机机上运行,与调试主机有没有办法检测到DCI设备没有任何的关系;即使应用程序OpenIPC_x64.exe没有运行,也可以检查到DCI设备;能否检测到DCI设备取决于调试主机中DCIUSB驱动dcidrc.msi是否已经成功安装。

查看是否有DCI设备/未知设备。

  • 若出现DCI设备则代表调试主机与GDK7连接成功并可以开始调试 (上图)。

2.Windows内核调试,串口,USB3、网络三种方式

GDK7还支持Windows内核调试。用户可以使用NanoCode工具来调试目标GDK7NanoCode是一款基于Visual Studio Code二次开发的调试工具,它可以调试内核、应用程序等,并且调试指令兼容Windbg

  • 使用NanoCode 结合 GDK7 进行调试:

除了DCIWindows内核调试之外,GDK7还支持通过串口USB3网络三种方式进行调试。这为用户提供了更多选择,可以根据实际情况选择最适合自己的调试方式。

3.预装Windows和Ubuntu

GDK7还预装了WindowsUbuntu操作系统,方便开发人员进行开发和测试。预装的Windows系统可以满足开发人员在Windows平台上进行开发和调试的需求,而Ubuntu系统则可以满足开发人员在Linux环境下进行开发和调试的需求。这样的设计使得GDK7成为一个多功能的调试工具,能够适应不同开发环境和需求。

4.调试 UEFI BIOS

GDK7还支持UEFI BIOS,可以从启动开始进行调试。UEFI(Unified Extensible Firmware Interface)是一种新一代的固件接口标准,取代了传统的BIOSGDK7支持在UEFI BIOS环境下进行调试,可以从系统启动的早期阶段开始进行调试和分析,帮助开发人员更好地理解和优化系统的启动过程。

下面以nano调试 windows为例:

  • 第一次调试时Nano Code会下载调试符号,注意需要保证网络的畅通,等待下载完成。
  • 等待 [暂停](鼠标放在上面会提示中断 F6);
  • GDK7仍然处于开机状态

5. 调试KVM

  • GDK7还支持调试KVM
  • KVM架构:CPU及内存的虚拟化都在KVM内核中实现,磁盘及网络通信组件的虚拟化都在QEMU内核中实现;管理调度组件由Linux进程调度器实现。

需要安装KVM及虚拟系统管理器(Virt-Manager), 过程与上面一样, 这次需要用蓝色USB3.0接口连接 。

会话建立:


总之,格蠹科技开发的GDK7是一款功能强大、使用方便的高级调试套件。它支持多种调试方式,并且预装了多种操作系统,能够满足用户在不同场景下的需求。无论您是软硬件工程师、信息安全研究人员还是学习计算机原理的学生和教师,GDK7都能为您提供极大的帮助。

四、总结

1.优势

  • DCI 调试 , 与传统的ITP/XDP硬件调试器相比,GDK7使用高速的USB 3.0通信协议,在主机与目标机之间建立了一条高速公路,传输速度高达5Gbps,比XDPITP提高了10倍还多。
  • Windows内核调试 (串口USB3网络三种方式进行调试) 。
  • 一站式的服务,大大减少准备调试环境所需的时间,省去各种因为软件和硬件不兼容所带来的烦恼。
  • UbuntuWindows 环境局供你选择。
  • 可调试 KVMUEFI BIOS

2.适用人群:

  • 信息安全领域的软硬件工程师研究者

  • 在x86平台上从事硬件研发和系统软件开发的软硬件工程师

上图 : 格蠹全家桶 了解其他俩款 : 幽兰代码笔记本 & GDK8

🌹🌹感谢阅读🌹🌹

相关推荐
草莓熊Lotso2 小时前
《算法闯关指南:优选算法-双指针》--01移动零,02复写零
c语言·c++·经验分享·算法·leetcode
真正的醒悟2 小时前
2025【1460天】网络工程师经验之道
运维·服务器
Nimsolax2 小时前
Linux信号
linux
Tim风声(网络工程师)5 小时前
不同射频对应不同mac地址(查找无线用户连接AP信息)
服务器·网络·tcp/ip·智能路由器·无线ap
ajassi20006 小时前
开源 C++ QT Widget 开发(十五)多媒体--音频播放
linux·c++·qt·开源
JosieBook7 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工7 小时前
Linux MInt启动速度的优化
linux
Broken Arrows8 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
Light608 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
鳄鱼杆9 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker