探索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

🌹🌹感谢阅读🌹🌹

相关推荐
apocelipes1 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
打码人的日常分享1 小时前
物联网智慧医院建设方案(PPT)
大数据·物联网·架构·流程图·智慧城市·制造
ABB自动化2 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉2 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
白水baishui2 小时前
搭建强化推荐的决策服务架构
架构·推荐系统·强化学习·决策服务·服务架构
int型码农2 小时前
数据结构第八章(一) 插入排序
c语言·数据结构·算法·排序算法·希尔排序
秃头菜狗2 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
何双新2 小时前
第23讲、Odoo18 邮件系统整体架构
ai·架构
利刃大大2 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
雪碧聊技术2 小时前
将单体架构项目拆分成微服务时的两种工程结构
微服务·架构·module·project·工程结构