Bread:一款功能强大的BIOS逆向工程和高级调试工具

admin 2024年1月25日12:51:43评论12 views字数 1597阅读5分19秒阅读模式
Bread:一款功能强大的BIOS逆向工程和高级调试工具

Bread:一款功能强大的BIOS逆向工程和高级调试工具

关于bread

Bread是一款功能强大的BIOS逆向工程和高级调试工具,该工具也是一个“可注入”的实模式(Real-Mode)x86调试器,可以帮助广大研究人员通过串行线缆从另一台电脑调试任意实模式代码。

考虑到目前社区中很多BIOS逆向工程工具都是使用反汇编程序静态完成的,这就导致理解BIOS上下文环境会变得非常的困难,而且也无法得知给定代码中寄存器或内存的值。因此,Bread便应运而生。Bread支持以实模式(Real-Mode)调试任意代码,例如可引导代码或DOS程序等。

工具运行机制

Bread主要分为两个部分:调试器Debugger和桥接器Bridge。其中,调试器完全使用汇编语言开发,可以在硬件上运行,而桥接器则使用C语言开发,可以在Linux操作系统上直接运行。

调试器本质上是可注入的代码,以16位实模式开发,可以注入到BIOS ROM或其他实模式代码中。在执行时,它可以设置适当的中断处理程序,并将处理器设置为单步模式,然后等待串口上的命令。

桥接器则是调试器和GDB之间的链接,桥接器通过TCP与GDB通信,并通过串行端口将请求/响应转发给调试器。桥接器的目的是消除GDB数据包的复杂性,并建立一个更简单的协议来与机器通信。

下图显示的是该工具的整体架构图:

Bread:一款功能强大的BIOS逆向工程和高级调试工具
功能介绍

当前版本的Bread支持下列功能:

1、读取内存;

2、写入内存;

3、读取和写入寄存器;

4、单步模式;

5、断点;

6、硬件监控点;

工具要求
1、GNU Make
2、C编译器(例如GCC、Clang或TCC)
3、NASM
4、Linux操作系统
工具下载

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Theldus/bread.git

然后切换到项目目录中,运行下列命令完成代码构建:

cd BREAD/make

make UART_POLLING=no
工具使用

假设符号文件路径为symbols/ami_ipm41d3.txt,我们可以通过下列命令执行Bread:

$ ./simbolify.py symbols/ami_ipm41d3.txt ip41symbols.elf

接下来,使用下列方法将其加载到GDB中:

(gdb) add-symbol-file ip41symbols.elf 0add symbol table from file "ip41symbols.elf" at.text_addr = 0x0(y or n) yReading symbols from ip41symbols.elf...(No debugging symbols found in ip41symbols.elf)(gdb) p cseg_cseg_change_video_mode_logo  cseg_get_cpuname             (gdb) p cseg_
工具运行演示

Bread:一款功能强大的BIOS逆向工程和高级调试工具

Bread:一款功能强大的BIOS逆向工程和高级调试工具

Bread:一款功能强大的BIOS逆向工程和高级调试工具

Bread:一款功能强大的BIOS逆向工程和高级调试工具

Bread:一款功能强大的BIOS逆向工程和高级调试工具

工具使用演示

演示视频一

https://private-user-images.githubusercontent.com/8294550/217709970-9007a1e3-7352-470d-a22f-cbb5219d5547.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDQ5Mz

演示视频二

https://www.youtube.com/watch?v=G4ex6_eUP0c

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

Bread

https://github.com/Theldus/bread

原文始发于微信公众号(FreeBuf):Bread:一款功能强大的BIOS逆向工程和高级调试工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月25日12:51:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Bread:一款功能强大的BIOS逆向工程和高级调试工具http://cn-sec.com/archives/2427978.html

发表评论

匿名网友 填写信息