无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 18096|回复: 155
打印 上一主题 下一主题

[发布] 给SVBus打了碎片补丁

    [复制链接]
跳转到指定楼层
1#
发表于 2021-12-23 15:59:08 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunsea 于 2021-12-28 14:14 编辑

如题。给SVBus打了碎片补丁,感谢yaya的贡献(代码主要部分是他写的)。按GPLv3协议发行。



目前在Win10、win7、win8.1上测试通过。

源代码在https://github.com/Rigil-Kentaurus/SVBus-Modified-for-G4D-UEFI
编译说明也在那。

编译使用wdk7。(狗比M$,WDK10编译只能给win10用。)

下载: svbus_1.3.zip (102.54 KB, 下载次数: 197)
签名版安装时需要导入EVRootCA.reg。
其他附件作为历史资料保留。(更换打包方式,疑似7z太高版本会有一些问题,换zip了)

感谢liuzhaoyzz与2011whp的辛苦测试!希望进一步得到测试,确保代码经过考验。(当然,已知VBox是自身bug较多的虚拟机,在它上面的如果真机无法复现的bug就不要报告了。)
———————以下是历史资料——————————


已知的问题:
0,需要处理驱动签名,这问题无解。不知道哪位大神会搞。

1,测试环境上配置为开机启动时,直接注册表注入一个Services\svbusx64项时不行,设备管理器提示为未知设备,必须右键更新驱动,用inf安装进去才可以使用。

希望得到广泛测试,我这里由于机器太烂和M$对于联机调试的限制只测试了Win10 x64机器,其他环境希望得到广泛测试和反馈。

svbusx64_modded.7z和svbusx86_modded.7z是用VS2019和WDK10.0.22000编译的,还有一个版本是Win7的WDK(7600.16385)编译,不知道哪个版本通用性强……


感谢!




liuzhaoyzz:
svbus-sunsea-signed,驱动双签名的。sha1+sha256要先双击注册表EVroot.reg导入,然后驱动签名才有效。
大家试试看。

SHA1+SHA256双签名的好像安装不上,提示签名无效。

SHA1单签名的可以适用于WIN8.1 WIN10。(svbus-sunsea-signed2)

https://liuzhaoyzz.lanzoup.com/b00p7kxbc
密码:fh3x

svbus_wdk7编译的,我也不知道哪个稳定,麻了.7z

27.63 KB, 下载次数: 43, 下载积分: 无忧币 -2

svbusx86_modded.7z

11.17 KB, 下载次数: 36, 下载积分: 无忧币 -2

svbusx64_modded.7z

12.51 KB, 下载次数: 39, 下载积分: 无忧币 -2

svbus-sunsea-signed.rar

136.35 KB, 下载次数: 66, 下载积分: 无忧币 -2

svbus-sunsea-signed2.rar

103.25 KB, 下载次数: 59, 下载积分: 无忧币 -2

svbus_1.3.7z

55.34 KB, 下载次数: 61, 下载积分: 无忧币 -2

评分

参与人数 6无忧币 +35 收起 理由
蓝星明月 + 5 赞一个!
wuxin9712 + 5
zhczf + 5 赞一个!
freesoft00 + 5
liuzhaoyzz + 10 很给力!
wintoflash + 5 很给力!

查看全部评分

2#
 楼主| 发表于 2021-12-23 16:58:00 来自手机 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 16:41
0、驱动签名我会弄,朱玛教我的,问题驱动签名都是伪造的,即使弄了驱动签名, 也会被杀软干掉,比如360、 ...

我制造碎片的办法。利用fsutil file createNew命令,可以制造指定大小的文件(需要换算到字节)。比如说iso500M,我就选一个1.1GB的分区(关掉自动碎片整理),用11个100M文件填满,然后删掉不连续的5个空文件,把iso拷进去就行了。接着删了剩下的,就是有碎片的iso。

点评

问题是我的vhd很多都是整理过了的,找碎片的vhd好难啊,真的!  详情 回复 发表于 2021-12-23 17:27
回复

使用道具 举报

3#
 楼主| 发表于 2021-12-23 16:58:48 来自手机 | 显示全部楼层
红毛樱木 发表于 2021-12-23 16:39
为了NT5能用。。。

理论上NT5应该都能用,编译的时候我钦定了系统版本是XPSP3。但是只是理论上……鬼知道M$的编译器变成啥样了。
回复

使用道具 举报

4#
 楼主| 发表于 2021-12-23 17:27:22 来自手机 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 17:26
svbus-sunsea-signed,驱动双签名的。sha1+sha256要先双击注册表导入,然后驱动签名才有效。
大家试试看。 ...

求教一下签名怎么搞。这样我以后编译的时候就可以直接出成品。感谢。

点评

链接:https://www.123pan.com/s/lE5A-VSTyv 挺麻烦的,需要学习的东西挺多的。  详情 回复 发表于 2021-12-23 18:02
回复

使用道具 举报

5#
 楼主| 发表于 2021-12-23 18:09:40 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 18:02
链接:https://www.123pan.com/s/lE5A-VSTyv
挺麻烦的,需要学习的东西挺多的。论坛里面分享过了的。

显示失效了。

点评

https://liuzhaoyzz.lanzoup.com/b00p7k5ha 密码:brdq  详情 回复 发表于 2021-12-23 18:14
回复

使用道具 举报

6#
 楼主| 发表于 2021-12-23 18:13:28 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 18:11
VS2019要想在xp下面用挺难的?网上看过帖子,没有亲自测试过,我只搞过vs2010,vs2008

VS2019本体直接不支持。但是编译出来的应该或许可能能支持,我也是看网上帖子搞得。不过XP是优先级比较低的测试对象吧?毕竟用的人确实越来越少了。
回复

使用道具 举报

7#
 楼主| 发表于 2021-12-23 18:15:40 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 18:14
https://liuzhaoyzz.lanzoup.com/b00p7k5ha
密码:brdq

感谢,我学习下怎么用。
回复

使用道具 举报

8#
 楼主| 发表于 2021-12-23 18:47:44 | 显示全部楼层
2011whp 发表于 2021-12-23 18:30
svbusx64_modded.7z  
g4e2021-12-15     map --mem  /src/z.iso   (?硬件占用内存 0,虚拟机内存为4096 ...

测试背景系统是啥?如果是PE的话可否发上来?
回复

使用道具 举报

9#
 楼主| 发表于 2021-12-23 19:08:14 | 显示全部楼层
2011whp 发表于 2021-12-23 19:04
lingthning 雷电 928  ,  (win10 PE)

系统的搞不来,太大了。

PE……那是从哪里下载的呢?我去复现一下问题,没法复现那就没法排查啊。内核这个东西麻烦就麻烦在不好插调试信息,必须回到我这挨个复现才能查问题……
回复

使用道具 举报

10#
 楼主| 发表于 2021-12-23 19:30:37 | 显示全部楼层
本帖最后由 sunsea 于 2021-12-23 19:31 编辑
2011whp 发表于 2021-12-23 19:29
下面这个 ,pe应该 都 差不多吧,(不过 总得锁定 一个来试,要不  试验量太大了)
https://cloud.189.c ...

是怎么添加驱动进去的?(由于问题1的存在我真不知道该怎么搞……抱歉)
回复

使用道具 举报

11#
 楼主| 发表于 2021-12-23 19:35:00 | 显示全部楼层
2011whp 发表于 2021-12-23 19:31
有签名的 ,
1. dism++ 挂载
2.  加注册表,

好的,这几天我比较忙,有时间的话就复现一下看看什么问题。
回复

使用道具 举报

12#
 楼主| 发表于 2021-12-23 20:55:09 | 显示全部楼层

这个是那个情况?
回复

使用道具 举报

13#
 楼主| 发表于 2021-12-23 21:03:05 | 显示全部楼层
本帖最后由 sunsea 于 2021-12-23 21:08 编辑
2011whp 发表于 2021-12-23 19:31
有签名的 ,
1. dism++ 挂载
2.  加注册表,

我这无法复现你的问题。我这的结果是,3段碎片,进入时是卡了一会,但是接着正常进入PE、读取。

5.   加  wdk7 的   

这段不对吧?加一次就够了。怀疑是这里重复加出了问题。蓝屏代码也支持此论断:系统配置错误。


回复

使用道具 举报

14#
 楼主| 发表于 2021-12-23 21:06:03 | 显示全部楼层
2011yaya2007777 发表于 2021-12-23 16:38
祝贺!大神终于编译出支持碎片的svbus了。





提问,g4e是不支持列出map出来的光驱上的文件了吗?还是我访问方式有误?
回复

使用道具 举报

15#
 楼主| 发表于 2021-12-23 21:52:01 | 显示全部楼层
本帖最后由 sunsea 于 2021-12-23 22:26 编辑
2011yaya2007777 发表于 2021-12-23 21:37
g4e支持光驱上的文件。你去掉 --hook 试一试。


仍不正常。iso制作环境为oscdimg,命令行为:
  1. oscdimg.exe -m -o -j1 -h -u1 -udfver102 -lWinPE -bootdata:2#p0,e,b"%~dp0etfsboot.com"#pEF,e,b"%~dp0efisys.bin"  ..\instance  ..\instance.iso
复制代码

最小复现样本:

最小复现样本.7z (1.51 MB, 下载次数: 6)
测试该问题时,该iso文件是连续的。

使用的打包工具:

打包工具.7z (591.17 KB, 下载次数: 11)

oscdimg.exe提取自hhh333的PE,etfsboot.com和efisys.bin提取自Win 10 21H1 LTSC的Windows\Boot\DVD\PCAT\etfsboot.com和Windows\Boot\DVD\EFI\en-US\efisys.bin。
回复

使用道具 举报

16#
 楼主| 发表于 2021-12-23 22:00:07 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 21:58
SHA1+SHA256双签名的好像安装不上,提示签名无效。

SHA1单签名的可以适用于WIN8.1 WIN10。

我这使用的是你最初签名的那个版本里的svbusx64_modded,操作方式是dism++添加至展开的PE的boot.wim然后重新打包,(PE是2011whp提供用来测试的PE),一切正常。
回复

使用道具 举报

17#
 楼主| 发表于 2021-12-23 22:01:40 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 21:58
SHA1+SHA256双签名的好像安装不上,提示签名无效。

SHA1单签名的可以适用于WIN8.1 WIN10。

已经同步到首页。
回复

使用道具 举报

18#
 楼主| 发表于 2021-12-23 22:16:36 来自手机 | 显示全部楼层
本帖最后由 sunsea 于 2021-12-23 22:20 编辑
liuzhaoyzz 发表于 2021-12-23 22:07
2、svbusx64_modded-sha1单签名的,安装之后,UEFI+g4e启动WIN8.1:
很奇怪,每次安装会有2~3个实例,有 ...


看上去挺好,目前看来产生的严重错误【指无法进入桌面】都产生在与ntloader连用过程中。我有时间请教一下wintoflash,ntloader能不能把核心调试器参数打上去使系统以com1串口调试模式启动,目前这不算特别重点的问题,先集中精力解决正常bootmgfw.efi也走不通的情况。
回复

使用道具 举报

19#
 楼主| 发表于 2021-12-23 22:43:24 来自手机 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 22:36
40楼同一个win8.1x64.vhd+svbus,用grubx64.efi,UEFI启动,RAMOS或者实体vhd都没问题,3个菜单都成功:
me ...

好!那么我觉得可能问题在ntloader上,g4e可能性次之。先排查别的更严重的反馈吧。
回复

使用道具 举报

20#
 楼主| 发表于 2021-12-23 22:49:40 来自手机 | 显示全部楼层
2011whp 发表于 2021-12-23 22:45
第一次,出错个  是 单加64的  (第一行 说的那个驱动)
第二次,dism1-6 做的,以现在看 wdk7 那个好些


抱歉,我没看懂,你出错的情况的配置方式,是wdk10编译的驱动。然后直接导入注册表吗?我这dism++方式导入的是没问题的。
回复

使用道具 举报

21#
 楼主| 发表于 2021-12-23 22:50:00 来自手机 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-23 22:46
39、40、42、43楼的测试,证明svbus驱动本身应该没有问题,因为grub2x64.efi+svbus_win8/win10.vhd启动都没 ...

驱动本体没有问题就好。
回复

使用道具 举报

22#
 楼主| 发表于 2021-12-23 22:59:21 来自手机 | 显示全部楼层
2011whp 发表于 2021-12-23 22:53
g4e 好像 内置ntfs 了

试下  ls (hd-1,x)/         x指ntfs分区

g4e内部本来就能处理ntfs。但是chainloader其他文件时,走的是UEFI BIOS的公共接口,UEFI BIOS它往往不支持NTFS造成启动失败。此时才需要ntfs_x64.efi。
回复

使用道具 举报

23#
 楼主| 发表于 2021-12-23 23:01:42 来自手机 | 显示全部楼层
2011whp 发表于 2021-12-23 22:58
64位,不加签名(没加 注册表)
是第一楼,的 第三个 下载

出错的是wdk7的那个文件,以DISM++导入吗?
您还是直接说清楚什么工具编译的什么文件,是DISM++导入还是注册表导入吧……或许是我理解力有问题,总是看不懂你说什么……抱歉
回复

使用道具 举报

24#
 楼主| 发表于 2021-12-23 23:27:24 来自手机 | 显示全部楼层
2011whp 发表于 2021-12-23 23:17
一楼第三个下载  是 wdk10 64

dism  只做了一步 : 加载 第三个下载 解开的目录

这样的话我这确实暂时无法复现。先放着吧,等其他报告。

点评

在win7英文版里面你改版的svbus安装不上去,我用了好几个签名的驱动尝试的,sha1单签名的,sha1+sha256双签名的,安装不上去。重启之后设备管理器里面有个黄色感叹号。 右击inf安装不上去。 [attachimg]493070[/at  详情 回复 发表于 2021-12-25 09:00
回复

使用道具 举报

25#
 楼主| 发表于 2021-12-24 09:14:55 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-24 07:23
我前面几楼都是试的系统啊,你说的试系统啥意思?
另外我的测试只能证明sunsea超版编译的svbus驱动没有 ...

能证明逻辑没加出bug就好。碎片处理的逻辑我这之前也验证了应该没问题。等待更多的测试报告吧。
回复

使用道具 举报

26#
 楼主| 发表于 2021-12-25 09:43:00 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-25 09:00
在win7英文版里面你改版的svbus安装不上去,我用了好几个签名的驱动尝试的,sha1单签名的,sha1+sha256双 ...

诶好,我试试调一下这个问题,dism++可行吗?

点评

我没有尝试过用dism++注入驱动,我其实是用批处理安装svbus测试的。  详情 回复 发表于 2021-12-25 10:27
回复

使用道具 举报

27#
 楼主| 发表于 2021-12-25 10:44:21 | 显示全部楼层
liuzhaoyzz 发表于 2021-12-25 10:27
我没有尝试过用dism++注入驱动,我其实是用批处理安装svbus测试的。

我注入方法都是Dism++……
回复

使用道具 举报

28#
 楼主| 发表于 2021-12-25 21:20:29 | 显示全部楼层
2011yaya2007777 发表于 2021-12-23 21:37
g4e支持光驱上的文件。你去掉 --hook 试一试。

擦,QEMU上无法复现这个bug。估计是VBox自己固件什么的问题。
回复

使用道具 举报

29#
 楼主| 发表于 2021-12-27 11:57:18 | 显示全部楼层
2011yaya2007777 发表于 2021-12-25 21:24
我在qemu上测试也没有问题。VBox问题多多。2011whp好像也反馈了vbox的问题。

VBox似乎实在是bug太多,弃了,我换到VMWare重新配测试机去。
回复

使用道具 举报

30#
 楼主| 发表于 2021-12-27 15:32:26 | 显示全部楼层
2011yaya2007777 发表于 2021-12-25 21:24
我在qemu上测试也没有问题。VBox问题多多。2011whp好像也反馈了vbox的问题。

行了,Win7下抓到bug了,似乎没法启动。狗比M$编译器。有时间调调看。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-20 20:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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