找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1045|回复: 27

[讨论] 关于用大模型搞Plop Boot Manager的逆向与行为对齐到grub4dos。

[复制链接]
发表于 2026-9-1 17:07:32 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 求道者 于 2026-9-1 17:30 编辑

结论是汇编写的引导程序超级好逆向。
虽然对于人类而言汇编程序很难读。
但对于大模型而言,貌似比逆向C简单很多。
丢失的东西不关键,还原出来差不多是1比1。
我估计应该加一份汇编手册给大模型,大概他就能明白下一步该怎么搞了。
难度如果不大的话,还可以推进grub4dos移植回grub2。
发表于 2026-9-1 18:05:06 来自手机 | 显示全部楼层
gurb4dos有uefi版本
回复

使用道具 举报

发表于 2026-9-1 19:32:17 | 显示全部楼层
本帖最后由 wintoflash 于 2026-9-1 20:45 编辑

我考虑过用 Claude Fable 5 完全重写 grub4dos,Fable 5 的智商是足以完成这个任务的。
Claude Fable 5 和 ChatGPT 5.6 Sol 都能生成质量不错的汇编代码,问题是成本。

而且我不认为目前还有必要开发 Legacy BIOS 下的 bootloader,需求太少。
如果有人需要,那他自己花钱买 token 生成一个满足特定需求的 bootloader 就行了,没必要做一个大而全的 bootloader。

另外,grub2 已经在上个月引入第一批AI参与的补丁了(Claude Opus-4.8/Sonnet-4.6)。

点评

完全没有必要,从grub4dos移植产物到grub2就行了。 grub4dos的价值是对老设备的支持。 grub2则有更现代的一些东西。  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 2026-9-1 20:24:16 | 显示全部楼层
没折腾过这个
回复

使用道具 举报

发表于 2026-9-2 06:26:42 | 显示全部楼层
不明白

评分

参与人数 1无忧币 +5 收起 理由
yyz2191958 + 5

查看全部评分

回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
留印学习,谢谢分享。
回复

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
本帖最后由 求道者 于 2026-9-3 19:23 编辑
wintoflash 发表于 2026-9-1 19:32
我考虑过用 Claude Fable 5 完全重写 grub4dos,Fable 5 的智商是足以完成这个任务的。
Claude Fable 5 和  ...

完全没有必要,从grub4dos移植特产到grub2就行了。
grub4dos的价值是对老设备的支持。
grub2则有更现代的一些东西。
你BL程序造完了之后呢?
重写的grub4dos就一定能打过grub2?

点评

GRUB2的死代码已经够多了,维护者的精力根本跟不上,你就算写了bios下的map提个merge request,他们100%不会接受。  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
本帖最后由 wintoflash 于 2026-9-3 20:44 编辑
求道者 发表于 2026-9-3 20:22
完全没有必要,从grub4dos移植特产到grub2就行了。
grub4dos的价值是对老设备的支持。
grub2则有更现代的 ...

GRUB2的死代码已经够多了,维护者的精力根本跟不上,你就算写了bios下的map提个merge request,他们100%不会接受。没人喜欢review AI slop。

点评

你不是早就自己开分支了吗? 往好了想,其实如果token足够多,问题列表审计和PR合并都可以托管给AGENT,如果接入这样的管线,可能grub2的进度会更快。 比如我逆向的时候,用的这个mcp。 https://github.com/glslang/  详情 回复 发表于 7 天前
回复

使用道具 举报

 楼主| 发表于 7 天前 来自手机 | 显示全部楼层
本帖最后由 求道者 于 2026-9-3 20:13 编辑
wintoflash 发表于 2026-9-3 19:43
GRUB2的死代码已经够多了,维护者的精力根本跟不上,你就算写了bios下的map提个merge request,他们100%不 ...


你不是早就自己开分支了吗?
往好了想,其实如果token足够多,问题列表审计和PR合并都可以托管给AGENT,如果接入这样的管线,可能grub2的开发进度会更快。
比如我逆向的时候,用的这个mcp。
https://github.com/glslang/windbg-mcp/issues
这个mcp项目就是全自动托管给小克的,我提交问题,一个小时左右就处理了,快得飞起。
grub2如果也接入这样的管线。
估计都重构几遍了。
linux这一系,貌似不抗拒vibe编程。

点评

我早就弃坑了。 "如果token足够多" -- 还真不够用。  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
本帖最后由 wintoflash 于 2026-9-3 21:22 编辑
求道者 发表于 2026-9-3 21:11
你不是早就自己开分支了吗?
往好了想,其实如果token足够多,问题列表审计和PR合并都可以托管给AGENT, ...
你不是早就自己开分支了吗?

我早就弃坑了。
往好了想,其实如果token足够多,问题列表审计和PR合并都可以托管给AGENT,如果接入这样的管线,可能grub2的开发进度会更快。
比如我逆向的时候,用的这个mcp。
https://github.com/glslang/windbg-mcp/issues
这个mcp项目就是全自动托管给小克的,我提交问题,一个小时左右就处理了,快得飞起。
grub2如果也接入这样的管线。
估计都重构几遍了。
linux这一系,貌似不抗拒vibe编程。

"如果token足够多" -- 还真不够用。
Claude 的安全护栏太烦人了。GRUB2 的 cryptodisk / libgcrypt / tpm 相关模块,全都会碰到安全护栏被降级。

点评

所以说,你想重构或者干其他的大事,会比较消耗token,但我猜grub2开发组估计能申请到给开源项目用的toekn。 如果他们真打算大规模重构,估计在评估完引入AGENT的工作流后就会动手吧。 一旦引入AGENT,很难不想重构  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
本帖最后由 wintoflash 于 2026-9-3 21:28 编辑

GRUB2最烦人的还是它的基于autotools的老掉牙构建系统。
不如全删了改成Makefile/CMake+Linker scripts。
还有什么狗屁PowerPC/SPARC/MIPS支持,根本没普通用户用的东西,全给删掉。
那bug一堆性能低功能垃圾的bash-like脚本系统和主题系统,全给删掉,脚本系统换成Lua或micro-python。

点评

这块确实值得改进吧。 那你不如干脆Meson+Ninja吧。 这应该是最新的、最流行的。 说起来coreboot能内置grub2。 LLM前夜我玩过这个。 好玩是真好玩。 就只有我的B75能玩,B85的内存控制器都没写完。 不知道AGENT时代  详情 回复 发表于 4 天前
回复

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
本帖最后由 求道者 于 2026-9-3 20:31 编辑
wintoflash 发表于 2026-9-3 20:20
我早就弃坑了。

"如果token足够多" -- 还真不够用。

所以说,你想重构或者干其他的大事,会比较消耗token,但我猜grub2开发组估计能申请到给开源项目用的toekn。
如果他们真打算大规模重构,估计在评估完引入AGENT的工作流后就会动手吧。
一旦引入AGENT,很难不想重构项目。
原先从grub legacy重写为grub2,也没见他们对兼容性有多执着。
估计真有想法就开grub3了吧。
不过这应该不是个人开发者能推进的事情了。
所以实际点的话,我目前就是只是想迁移一些东西。
___
不管是人类还是AI,代码写久了就会变成屎山代码。

点评

反正我是受不了继续分支的。 我会保留核心/文件系统/启动加载相关功能,把其他的全重构或者裁剪了。 架构只支持x86_64 (BIOS/EFI) / ARM64 (EFI) / Loongson (EFI) 构建系统改成CMake 脚本系统改成Lua/Micro-Python  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
本帖最后由 wintoflash 于 2026-9-3 21:38 编辑
求道者 发表于 2026-9-3 21:28
所以说,你想重构或者干其他的大事,会比较消耗token,但我猜grub2开发组估计能申请到给开源项目用的toek ...

反正我是受不了继续分支的。

我会保留核心/文件系统/启动加载相关功能,把其他的全重构或者裁剪了。
架构只支持x86_64 (BIOS/EFI) / ARM64 (EFI) / Loongson (EFI)
构建系统改成CMake
脚本系统改成Lua/Micro-Python
GUI主题系统改成基于LVGL开发
启动加载支持 Chainload (EFI/BIOS Sector/NTLDR), Linux kernel, Multiboot (1/2), bootmgr.exe/osloader.exe (wimboot),其他的什么 BSD 和 XNU 支持全部删掉。

这些用 Fable 5/5.1 都能做得很好。只是缺 token。



点评

也不是不行吧。 但是你的token有些不够吧。  详情 回复 发表于 7 天前
回复

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
本帖最后由 求道者 于 2026-9-3 20:40 编辑
wintoflash 发表于 2026-9-3 20:37
反正我是受不了继续分支的。

我会保留核心/文件系统/启动加载相关功能,把其他的全重构或者裁剪了。

也不是不行吧。
但是你的token有些不够吧。
即使再剥离,你该重构的也不会少。
然后就是测试了。
BL确实比较吃测试啊。
有办法模拟各种诡异的硬件吗?

点评

对付UEFI各种诡异硬件我还是有经验的,那都好办。 至于Legacy BIOS那就没办法了,只能让AI整理GRUB4DOS的代码来去屎山化。GRUB2的BIOS代码有很多问题,不可靠。  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
求道者 发表于 2026-9-3 21:38
也不是不行吧。
但是你的token有些不够吧。
即使再剥离,你该重构的也不会少。

对付UEFI各种诡异硬件我还是有经验的,那都好办。
至于Legacy BIOS那就没办法了,只能让AI整理GRUB4DOS的代码来去屎山化。GRUB2的BIOS代码有很多问题,不可靠。

点评

有个叫Unicorn的东西,能帮助我们构造可编程最小 BIOS + 虚拟硬件。 也就是说我们可以基于现有的grub4dos源代码,搞一堆的行为怪异的硬件。  详情 回复 发表于 5 天前
反正grub2在u盘上确实一言难尽。  详情 回复 发表于 7 天前
回复

使用道具 举报

 楼主| 发表于 7 天前 来自手机 | 显示全部楼层
本帖最后由 求道者 于 2026-9-3 20:55 编辑
wintoflash 发表于 2026-9-3 20:42
对付UEFI各种诡异硬件我还是有经验的,那都好办。
至于Legacy BIOS那就没办法了,只能让AI整理GRUB4DOS的 ...


反正grub2在u盘上确实一言难尽。
但是呢,grub4dos的usb --init也就难言了。
所以我逆向Plop Boot Manager。

点评

我试着申请了Codex for Open Source,不过看样子是没通过。 ChatGPT 5.6 Sol 搞逆向/写汇编其实也不差。  详情 回复 发表于 7 天前
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
求道者 发表于 2026-9-3 21:50
反正grub2在u盘上确实一言难尽。
但是呢,grub4dos的usb --init也就难言了。
所以我逆向Plop Boot Manage ...

我试着申请了Codex for Open Source,不过看样子是没通过。
ChatGPT 5.6 Sol 搞逆向/写汇编其实也不差。
回复

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 求道者 于 2026-9-5 15:10 编辑
wintoflash 发表于 2026-9-3 20:42
对付UEFI各种诡异硬件我还是有经验的,那都好办。
至于Legacy BIOS那就没办法了,只能让AI整理GRUB4DOS的 ...

有个叫Unicorn的东西,能帮助我们构造可编程最小 BIOS + 虚拟硬件。
也就是说我们可以基于现有的grub4dos源代码,搞一堆的行为怪异的硬件。(Linux世界中,大概是有怪癖的硬件)
我反正看AGENT用PY调用Unicorn,复现了一堆Plop运行中需要的怪硬件。

点评

可以开源一下,以便以后ai重构时可以做自动测试  详情 回复 发表于 5 天前
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层
求道者 发表于 2026-9-5 16:08
有个叫Unicorn的东西,能帮助我们构造可编程最小 BIOS + 虚拟硬件。
也就是说我们可以基于现有的grub4dos ...

可以开源一下,以便以后ai重构时可以做自动测试

点评

现在进度不足,Plop的逆向和模拟做完了。 但是grub4dos向Plop USB初始化行为对齐的这部分模拟尚未完成。 Plop USB初始化的机制已经解明了。 但移植到grub4dos就是另外一码事了。 还有大量的模拟需要做。 理论上OHCI  详情 回复 发表于 4 天前
回复

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
本帖最后由 求道者 于 2026-9-6 08:17 编辑
wintoflash 发表于 2026-9-5 15:50
可以开源一下,以便以后ai重构时可以做自动测试

目前进度其实还差不少,离能直接拿来做自动测试还有点距离。

现在利用 Unicorn,我们确实已经把 Plop 的逆向和运行机制在模拟环境里复现出来了,底层逻辑算是摸透了。
但要想让 G4D 对齐 Plop 这套 USB 初始化的行为,移植和对应的模拟工作完全是另一码事,还有大量细节要补。
而按目前的设想,我只打算搞定 EHCI,OHCI、UHCI不太想管了,但Plop把EHCI、OHCI、UHCI都搞了,我不是很理解,只为了Fallback,有必要做到这份上?
还是说为了HUB和usb键鼠?
G4D确实有EHCI初始化之后不能使用键鼠的问题,因为G4D只实现了EHCI。
说起来还有XHCI吧?这块,闭源开源实现都没有。

另外如果后续真考虑让 AI 从头重构新 BL,GRUB 2 积累下来的那套文件系统驱动可是极其庞大的资产。要是真从零重写,以后上层 FS 隔三差五更新或出新格式,维护起来纯属无底洞。底层硬件的怪癖模拟 + 上层的 FS 生态,这两座大山真没那么容易一口气推平。

这部分最好能直接同步GRUB2的更新,直接拿来用。

但官方真开GRUB3了,那就是另外一码事了。

点评

BIOS下map一个ISO/IMG/VHD,需要获得其blocklist。而GRUB2的文件系统驱动并不能快速获得一个文件的blocklist。你只要想借用它,就必须改造。  详情 回复 发表于 4 天前
xhci可以看SeaBIOS代码  详情 回复 发表于 4 天前
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层
求道者 发表于 2026-9-6 05:16
目前进度其实还差不少,离能直接拿来做自动测试还有点距离。

现在利用 Unicorn,我们确实已经把 Plop 的 ...

xhci可以看SeaBIOS代码

点评

对于grub4dos而言OHCI、UHCI、XHCI在真实环境下真的有用吗?  详情 回复 发表于 4 天前
回复

使用道具 举报

发表于 4 天前 | 显示全部楼层
求道者 发表于 2026-9-6 05:16
目前进度其实还差不少,离能直接拿来做自动测试还有点距离。

现在利用 Unicorn,我们确实已经把 Plop 的 ...

BIOS下map一个ISO/IMG/VHD,需要获得其blocklist。而GRUB2的文件系统驱动并不能快速获得一个文件的blocklist。你只要想借用它,就必须改造。

点评

说起来真机测试时,貌似是遇到了慧荣主控的怪异行为,但agent说这怪异行为可以用Unicorn模拟,这省事不少啊。  详情 回复 发表于 前天 15:41
回复

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
wintoflash 发表于 2026-9-3 20:26
GRUB2最烦人的还是它的基于autotools的老掉牙构建系统。
不如全删了改成Makefile/CMake+Linker scripts。
...

这块确实值得改进吧。
那你不如干脆Meson+Ninja吧。
这应该是最新的、最流行的。
说起来coreboot能内置grub2。
LLM前夜我玩过这个。
好玩是真好玩。
就只有我的B75能玩,B85的内存控制器都没写完。
不知道AGENT时代后,是否有推动。
老实说这样的又大又冷门的项目,就应该让AGENT推动。
不然进度太慢了。
回复

使用道具 举报

 楼主| 发表于 4 天前 | 显示全部楼层
本帖最后由 求道者 于 2026-9-6 13:08 编辑

wintoflash 发表于 2026-9-6 07:48
xhci可以看SeaBIOS代码

对于grub4dos而言OHCI、UHCI、XHCI在真实环境下真的有用吗?
https://github.com/daiaji/grub4dos
尚且还没弄完,这是现在的进度。
回复

使用道具 举报

 楼主| 发表于 前天 15:41 来自手机 | 显示全部楼层
本帖最后由 求道者 于 2026-9-8 15:43 编辑
wintoflash 发表于 2026-9-6 09:50
BIOS下map一个ISO/IMG/VHD,需要获得其blocklist。而GRUB2的文件系统驱动并不能快速获得一个文件的blockl ...


说起来真机测试时,貌似是遇到了慧荣主控的怪异行为,导致无法初始化usb,但agent说这怪异行为可以用Unicorn模拟,这省事不少啊。
所以逆向主板的bios然后用Unicorn可以复制具有怪异行为的主板?

点评

我不知道啊,没试过。 我和GPT-6-Astra讨论了下新bootloader的设计,准备全用Astra写看看怎么样。 这是设计:https://github.com/grub4dos/grub-next/blob/master/DESIGN.md  详情 回复 发表于 前天 20:57
回复

使用道具 举报

发表于 前天 15:51 | 显示全部楼层
感谢分享,学习了!
回复

使用道具 举报

发表于 前天 20:57 | 显示全部楼层
求道者 发表于 2026-9-8 16:41
说起来真机测试时,貌似是遇到了慧荣主控的怪异行为,导致无法初始化usb,但agent说这怪异行为可以用Unic ...

我不知道啊,没试过。
我和GPT-6-Astra讨论了下新bootloader的设计,准备全用Astra写看看怎么样。
这是设计:https://github.com/grub4dos/grub-next/blob/master/DESIGN.md

点评

有token就行,和gemini聊了一下,说是虽然汇编语料少,但是1985就定型了。 没有版本差异带来的幻觉,反而算是LLM的甜蜜区。  详情 回复 发表于 前天 22:16
回复

使用道具 举报

 楼主| 发表于 前天 22:16 | 显示全部楼层
本帖最后由 求道者 于 2026-9-8 23:06 编辑
wintoflash 发表于 2026-9-8 20:57
我不知道啊,没试过。
我和GPT-6-Astra讨论了下新bootloader的设计,准备全用Astra写看看怎么样。
这是设 ...

有token就行,和gemini聊了一下,说是虽然汇编语料少,但是1985就定型了。
没有版本差异带来的幻觉,反而算是LLM的甜蜜区。
然后就是这块属于不是高手也写不了的程度。
汇编代码反汇编的来源通常是C/C++,而且通常这部分是高价值目标。
不会写的特别菜,编译器还帮助优化代码。
然后手写汇编的就不用多说了,更是扫地僧。
这玩意你写出低级错误,多半上机就趴窝,而且可能过不了编译器检测。
有些是DSL生成的汇编代码。
比起主流的语言,这块的语料质量高了好几个档次。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-9-10 15:15

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表