无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: Pauly
打印 上一主题 下一主题

反馈一个 grldr.mbr 0.4.6a 的 bug

  [复制链接]
271#
发表于 2013-12-8 16:21:14 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-12-8 16:22 编辑

268楼测试:
GRUB4DOS 0.4.5c 2013-12-05

root:     (hd0) filesystem type is fat, using whole disk

geometry:     drive 0x80(LBA): ....省略

ls:     ...,mydos.img,...

find:     hd0,0 hd0,3 hd1,0 hd1,1 hd1,3 hd1,4 hd2,0 hd2,1

find /mydos.img:     file not found

启动菜单:
find --set-root /mydos.img
map --mem /mydos.img (fd0)
必须修改为:
map --mem (hd0)/mydos.img (fd0)
才能启动。
回复

使用道具 举报

272#
发表于 2013-12-8 16:46:51 | 只看该作者
明基笔记本启动 u 盘,进入 grub 环境以后不能访问 u 盘的问题,其实质是:
FDD 模式(有 BPB 表,没有分区表)启动时,被 BIOS 分配驱动器号 0x80,而 grub 将其修改为 0x00,但 BIOS 不认识此 0x00 就是原来的 0x80,因此无法读取 u 盘。
回复

使用道具 举报

273#
发表于 2013-12-8 17:08:21 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-12-8 18:52 编辑

Re mygamexxx:
我现在还有几点没有弄清楚。你清楚的话,描述一下,否则测试一下。
1.  外置卡从手机取出,插入读卡器,格式化为 HDD 模式(FAT32),MBR 使用 Windows 6.x,PBR 使用 GRUB4DOS 0.4.5c 。
    外置卡插入手机,手机通过 usb 接口连接到电脑,使用 WinHEX 查看逻辑 0 扇区,此时显示的是 MBR 还是 PBR ?如果是 PBR ,那偏移 0x40 处是 0x00 还是 0x80 ?
    外置卡插入手机,手机通过 usb 接口连接到电脑,可否启动?根是 0x00 还是 0x80?cat --hex (hd0)+1  或者 cat --hex (fd0)+1 是什么?
    如此格式化,手机可以识别外置卡吗?
2.  外置卡从手机取出,插入读卡器,格式化为 UD 模式。
    外置卡插入手机,手机通过 usb 接口连接到电脑,使用 WinHEX 查看逻辑 0 扇区,此时显示的是什么?请截图。
    外置卡插入手机,手机通过 usb 接口连接到电脑,可否启动?根是 0x00 还是 0x80?cat --hex (hd0)+1  或者 cat --hex (fd0)+1 是什么?
    如此格式化,手机可以识别外置卡吗?

点评

1. 外置卡从手机取出,插入读卡器,格式化为 HDD 模式(FAT32),MBR 使用 Windows 6.x,PBR 使用 GRUB4DOS 0.4.5c 。 外置卡插入手机,手机通过 usb 接口连接到电脑,使用 WinHEX 查看逻辑 0 扇区,此时显示  详情 回复 发表于 2013-12-9 11:49
回复

使用道具 举报

274#
发表于 2013-12-9 11:25:52 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-9 14:54 编辑

明基笔记本
263楼测试:
Booting 'find /menu.lst, /boot/grub/menu.lst, /grub/menu.lst'
死机
修改内置菜单,直接commandline,进入命令行, ls 返回 Disk read error , ls (hd0)/ 死机。

268楼测试:
begin pxe scan..._ne! ...
死机

联想台式机
265楼测试:
01234
加载失败
进入命令行,键盘失去响应。
按空格,不加载USB驱动,启动正常,启动盘为0x00。
一个异常情况,U盘启动加载USB驱动后,进入菜单,root (hd0,0), chainloader (hd0,0)+1,启动XP系统出现7B蓝屏。
回复

使用道具 举报

275#
发表于 2013-12-9 11:49:29 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-9 11:55 编辑
2011yaya2007777 发表于 2013-12-8 17:08
Re mygamexxx:
我现在还有几点没有弄清楚。你清楚的话,描述一下,否则测试一下。
1.  外置卡从手机取出 ...


1.  外置卡从手机取出,插入读卡器,格式化为 HDD 模式(FAT32),MBR 使用 Windows 6.x,PBR 使用 GRUB4DOS 0.4.5c 。
    外置卡插入手机,手机通过 usb 接口连接到电脑,使用 WinHEX 查看逻辑 0 扇区,此时显示的是 MBR 还是 PBR ?如果是 PBR ,那偏移 0x40 处是 0x00 还是 0x80 ?
    外置卡插入手机,手机通过 usb 接口连接到电脑,可否启动?根是 0x00 还是 0x80?cat --hex (hd0)+1  或者 cat --hex (fd0)+1 是什么?
    如此格式化,手机可以识别外置卡吗?格式化为HDD模式,手机不能识别外置卡。不过如何格式化为HDD模式是否有标准?
2.  外置卡从手机取出,插入读卡器,格式化为 UD 模式。
    外置卡插入手机,手机通过 usb 接口连接到电脑,使用 WinHEX 查看逻辑 0 扇区,此时显示的是什么?请截图。
    外置卡插入手机,手机通过 usb 接口连接到电脑,可否启动?根是 0x00 还是 0x80?cat --hex (hd0)+1  或者 cat --hex (fd0)+1 是什么?
    如此格式化,手机可以识别外置卡吗?手机可以识别外置卡。

读卡器下用fbinsttools格式化后装入手机.jpg (154.93 KB, 下载次数: 211)

读卡器下用fbinsttools格式化后装入手机.jpg
回复

使用道具 举报

276#
发表于 2013-12-9 13:37:55 | 只看该作者
本帖最后由 不点 于 2013-12-9 13:46 编辑
268楼测试:
begin pxe scan..._ne! ...
死机


这么简单就完了?难道连 Processing the menu ... 也不显示?你是不是违规在 title 之前使用 debug 命令了?

启动时按 c 键进入命令行,再


geometry
ls
root

看看有什么结果?


ls (hd0)/ 死机。


由于要逐个读取 127 个扇区,因此,速度慢一些是正常的。耐心等待 10 分钟或半个小时,看看是不是真的死了?

另外,死机也说明是进步啊。原来不死机,却是 disk read error,根本就是失败。而死机起码说明还没返回失败呢。说明新的代码在运行。当然也说明,新的代码可能有疏忽,导致死机。

点评

没有修改内置菜单,不过等待的时间可能不够。  详情 回复 发表于 2013-12-9 14:39
回复

使用道具 举报

277#
发表于 2013-12-9 13:49:39 | 只看该作者
275楼的图片表明,只有 BPB 信息,没有启动代码。因此,启动必然死机。

你应该为这个 BPB 表安装 grldr 的引导扇区。

我觉得你早已经了解这些了吧?bootice 可以安装 grldr,安装之后你再修改 BPB 参数,这一点,你前几次不是已经滚瓜烂熟了吗?

没有代码的引导扇区,怎么能成功引导?

点评

是YAYA想了解0扇区的情况,所以我重新发了一下  详情 回复 发表于 2013-12-9 14:38
回复

使用道具 举报

278#
发表于 2013-12-9 14:38:55 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-9 14:42 编辑
不点 发表于 2013-12-9 13:49
275楼的图片表明,只有 BPB 信息,没有启动代码。因此,启动必然死机。

你应该为这个 BPB 表安装 grldr  ...


275楼是YAYA想了解0扇区的情况,所以我重新发了一下
回复

使用道具 举报

279#
发表于 2013-12-9 14:39:57 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-9 14:41 编辑
不点 发表于 2013-12-9 13:37
这么简单就完了?难道连 Processing the menu ... 也不显示?你是不是违规在 title 之前使用 debug 命 ...


没有修改内置菜单,不过等待的时间可能不够。简单判定为死机。可能不一定是死机,我再测试一下。
回复

使用道具 举报

280#
发表于 2013-12-9 15:05:00 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-9 15:55 编辑

明基笔记本
263楼测试:
修改内置菜单,第一项菜单第一条直接一句commandline,进入命令行。
grub> geometry
drive 0x00(CHS): C/H/S/=1/255/63, Sector Count/Size=16065/512

Error 25: Disk read error
grub> geometry (hd0)
drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512
十分钟后
Error 25: Disk read error

268楼测试:
begin pxe scan..._ne! ...

15分钟,光标一直在ne! ...前闪
拔出U盘后,进入命令行。
回复

使用道具 举报

281#
发表于 2013-12-9 15:27:15 | 只看该作者
grub> geometry (hd0)
drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512
十分钟后
Error 25: Disk read error


非常好。这就知道,我的新代码没有产生太大的错误。至少是成功返回到 grub4dos 中了。失败的现象则表明,即使一个一个扇区去读,也照样不行。这问题就更深了…… 我们还得继续猜测、试验、研究……

回复

使用道具 举报

282#
发表于 2013-12-9 20:22:58 | 只看该作者
以前也有很多人报告,拔出 U 盘,进入 grub。

结合这次的情况,综合起来感觉仍然是针对 grub4dos 的攻击行为。

由于引导扇区的汇编代码能够快速读取扇区,这里面一定有猫腻。

接下来我还要上载测试版本,试图破解它攻击的手段。

回复

使用道具 举报

283#
发表于 2013-12-9 21:03:15 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-12-13 16:22 编辑
明基笔记本
263楼测试:

真是奇怪,263楼可以进入命令行,268楼却不能,这不应该呀。
格式化为HDD模式,手机不能识别外置卡。不过如何格式化为HDD模式是否有标准?

格式化为 UD 模式,手机可以识别外置卡,那格式化为HDD模式,手机一定可以识别外置卡。有可能没有正确格式化。
使用 bootice,选:分区管理 -> 重新分区 -> USB-HDD (单分区) -> 确定; -> 格式化此分区(选 FAT32) -> 开始 -> 关闭; -> 主引导记录 -> Windows NT 5.x / 6.x MBR -> 安装/配置 -> Windows NT 6.x; -> 分区引导记录 -> GRUB4DOS 0.4.5c/0.4.6a(FAT/FAT32/NTFS/ExFAT) -> 安装/配置 -> 0.4.5c -> 确定。

若手机仍然不能识别,请把外置卡插入读卡器,使用 WinHEX 把 MBR , PBR 截图。

现在已经基本搞清楚:
三星手机的外置卡:
1.  可以格式化为 HDD,FDD,UD 模式。
2.  手机软件会屏蔽 PBR 之前扇区(在 Windows 下看不到,在实模式下通过 SCSI 指令也看不到)。
3.  启动时会分配驱动器号 0x80 (这点比较特殊,会使过度精简的 PE 死机)。

在联想台式机测试一下这个。如果失败,按 s 键试一试。

点评

联想台式机: 自动加载USB驱动,01234 加载失败,进入默认内置菜单,键盘失去响应。 按S键,蜂鸣器有嗒嗒嗒的声音,01234 加载失败,进入默认内置菜单,高亮条在4个菜单条之间不停往复跳动。  详情 回复 发表于 2013-12-10 08:15
回复

使用道具 举报

284#
发表于 2013-12-9 21:36:34 来自手机 | 只看该作者
U盘启动转硬盘XP的蓝屏情况,测试两次均7B蓝屏
回复

使用道具 举报

285#
发表于 2013-12-9 21:39:50 来自手机 | 只看该作者
是否说明U盘的格式导致XP磁盘驱动出错
回复

使用道具 举报

286#
发表于 2013-12-9 22:26:59 | 只看该作者
破解攻击的第一个测试版,有可能成功读取,但仍然是每次读一个扇区。所以,必要时请耐心等待 10 分钟。

测试时,直接快速按 c 键抢先进入命令行,此时再手动敲入一些访问 U 盘的命令,等待成功的结果。

grub4dos-0.4.5c-2013-12-09.7z

261.19 KB, 下载次数: 1

破解攻击的第一个测试版

回复

使用道具 举报

287#
发表于 2013-12-9 22:51:13 | 只看该作者
这是第二个版本,每次读 127 扇区。如果第一个版本成功,则这个版本也有可能成功。如果第一个版本失败,则这个版本通常也会失败。

两个版本的日期是一样的,注意在下载时要区分开来。

grub4dos-0.4.5c-2013-12-09.7z

261.23 KB, 下载次数: 4

破解攻击的第二个版本

回复

使用道具 举报

288#
发表于 2013-12-10 08:15:27 | 只看该作者
2011yaya2007777 发表于 2013-12-9 21:03
真是奇怪,263楼可以进入命令行,268楼却不能,这不应该呀。

格式化为 UD 模式,手机可以识别外置卡, ...

联想台式机:
自动加载USB驱动,01234 加载失败,进入默认内置菜单,键盘失去响应。
按S键,蜂鸣器有嗒嗒嗒的声音,01234 加载失败,进入默认内置菜单,高亮条在4个菜单条之间不停往复跳动。
回复

使用道具 举报

289#
发表于 2013-12-10 08:41:14 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-10 09:00 编辑

286楼测试:
begin pxe scan..._ne! ...

15分钟,光标一直在ne! ...前闪
拔出U盘,半分钟后显示 GRUB4DOS 0.4.5c 2013-12-09 root is (0x80) 及另外一行Processing the LZMA preset-menu. 后,进入命令行。

287楼测试:
begin pxe scan..._ne! ...

15分钟,光标一直在ne! ...前闪
拔出U盘,半分钟后显示 GRUB4DOS 0.4.5c 2013-12-09 root is (0x80) 及另外一行Processing the LZMA preset-menu. 后,进入命令行。
回复

使用道具 举报

290#
发表于 2013-12-10 09:12:05 | 只看该作者
进入命令行后,能访问 U 盘吗?

比如,geometry 命令? cat --hex (hd0)+1 命令?

点评

U盘拔出了,自然不能访问了  详情 回复 发表于 2013-12-10 09:18
回复

使用道具 举报

291#
发表于 2013-12-10 09:18:52 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-10 09:20 编辑
不点 发表于 2013-12-10 09:12
进入命令行后,能访问 U 盘吗?

比如,geometry 命令? cat --hex (hd0)+1 命令?


U盘拔出了,自然不能访问了
grub> geometry
drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512

Error 25: Disk read error
回复

使用道具 举报

292#
发表于 2013-12-10 11:18:33 | 只看该作者
这是第三个测试版,屏蔽掉多扇区读,完全用一个一个的扇区来读。

grub4dos-0.4.5c-2013-12-10.7z

261.8 KB, 下载次数: 3

破解攻击的第三个测试版

点评

顺利启动进入命令行,root 为0x80, geometry drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512 ls 显示U盘内容。 好啊  详情 回复 发表于 2013-12-10 11:45
回复

使用道具 举报

293#
发表于 2013-12-10 11:45:07 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-10 12:01 编辑
不点 发表于 2013-12-10 11:18
这是第三个测试版,屏蔽掉多扇区读,完全用一个一个的扇区来读。


顺利启动进入命令行,root 为0x80,
geometry
drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512
ls 显示U盘内容。

好啊

只是map --mem的速度极慢,约1分钟8M

这个应该就和SYSLINUX加参数每次只读一个扇区相同。

问题出现了:
map --mem /boot/xppe.iso (0xff)
map --hook
chainloader (0xff)
Error 25: Disk read error
root (0xff)
Error 25: Disk read error
回复

使用道具 举报

294#
发表于 2013-12-10 12:37:00 | 只看该作者
本帖最后由 不点 于 2013-12-10 14:57 编辑

别急,这是测试恶意 bios 的攻击行为的。不是用来正常使用的。

接下来会发布可以正常使用的版本,请等待进一步的消息。

专门为明基的 bug 机编译了一个版本,主要目的还是测试各项功能是否正常。

grub4dos-0.4.5c-2013-12-10.7z

261.87 KB, 下载次数: 10

临时版本,专门给明基 bug 机器用的,其他人不要用它

回复

使用道具 举报

295#
发表于 2013-12-10 18:02:05 | 只看该作者
本帖最后由 不点 于 2013-12-10 18:15 编辑

再试试这个版本。

如果发生死机,请等待半小时以上,看看是不是真的死了。不要轻易拔出 U 盘。

grub4dos-0.4.5c-2013-12-10.7z

262.6 KB, 下载次数: 1

这次也可以在其他机器上测试了

回复

使用道具 举报

296#
发表于 2013-12-11 09:53:01 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-11 10:45 编辑

294楼测试:
明基笔记本,成功启动。
map --mem /boot/xppe.iso (0xff)  速度慢,约1分钟8M。
map --hook
chainloader (0xff)
boot
成功启动NATIVE格式XPPE。

295楼测试:
明基笔记本。
Open default file /default ..._  光标在此闪10分钟。

GRUB4DOS 0.4.5c 2013-12-10, root is (0x80)
Processing the LZMA preset-menu …
_  35分钟后光标还是在此闪。

拔出U盘后,半分钟进入命令行。
grub> geometry
drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512

Error 25: Disk read error
grub> _
回复

使用道具 举报

297#
发表于 2013-12-11 10:13:59 | 只看该作者
本帖最后由 不点 于 2013-12-11 10:40 编辑

非常棒。

显示完 Processing the LZMA preset-menu … 之后,不是死机了吧?


至此可以下个结论了,一方面提醒我自己,让我自己以后看到这里能看明白,另一方面,也让别的开发者知道事情的来龙去脉。

这是针对  grub4dos 的攻击。127 扇区读造成 10 分钟的假死。它如果不支持多扇区读,应该立即返回失败,而不是假死 10 分钟。因此,确定这是攻击。

换成每次读一个扇区,则通过了;虽然读取效率肯定低很多,但至少能成功读取了。

接下来我还想进一步破解,化解这 10 分钟的漫长等待。

请留意接下来的测试版。

点评

我的电脑明在笔记本是2006年买的  详情 回复 发表于 2013-12-11 10:47
回复

使用道具 举报

298#
发表于 2013-12-11 10:47:03 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-11 10:48 编辑
不点 发表于 2013-12-11 10:13
非常棒。

显示完 Processing the LZMA preset-menu … 之后,不是死机了吧?


我的电脑明基笔记本是2006年买的,当时问明基的售后服务,说不支持U盘启动。
回复

使用道具 举报

299#
发表于 2013-12-11 10:53:21 | 只看该作者
本帖最后由 不点 于 2013-12-11 11:13 编辑

即使是 2000 年买的,也有可能是针对 grub 的攻击。早在 grub4dos 诞生之前,gnu grub 就一直是采用多扇区读,从来没有单扇区读的。 grub4dos 是 2003 年开始出现的。到 2006 年,grub4dos 已经很有影响力了。微软在 XP SP2 中对 grub4dos 发动了一次致命的攻击。具体时间我记不很清了,大约也就在 2005-2006 年前后吧。

我的电脑明基笔记本是2006年买的,当时问明基的售后服务,说不支持U盘启动。


你可以上官方网站,看看有没有 BIOS 更新可以下载。更新当然是有风险的,你自己要小心。作为 grub4dos 的开发者,当然是应该解决目前的问题,而不能依赖用户去更新 BIOS。


点评

不点大师,知道g4d比较晚,但了解后很喜欢。不知道过去开发过程中的艰辛。微软作为一个大公司,g4d作为一个小微的、用途单一的小软件,对微软的生意不构成任何威胁,它为何要攻击G4D?g4d主要和bios打交道,微软不  详情 回复 发表于 2013-12-12 13:22
回复

使用道具 举报

300#
发表于 2013-12-11 11:04:24 | 只看该作者
>> Open default file /default ..._  光标在此闪10分钟。

这说明 127 扇区的访问导致 10 分钟的假死。还能成功退出,说明不是彻底死掉。

>>GRUB4DOS 0.4.5c 2013-12-10, root is (0x80)
>>Processing the LZMA preset-menu …
>>_  35分钟后光标还是在此闪。

这说明,前面的 127 扇区访问,已经造成 BIOS 系统的混乱,使得后续的单扇区访问也都变成假死了。

看来这个问题还真不容易处理,最坏的情况,大概只能为这样的电脑设置一个参数了:单扇区读取。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-23 07:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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