无忧启动论坛

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

[分享] 分享迷你 1 KB EXE 文件,判断当前系统是 BIOS 还是 UEFI 启动

    [复制链接]
跳转到指定楼层
1#
发表于 2020-1-15 12:56:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 plusv 于 2020-4-14 08:17 编辑

分享迷你 2 KB EXE 文件,判断当前系统是 BIOS 还是 UEFI 启动

_
更新 1
做了简单的 EXE 文件减肥

减肥 2,560-1,888=672 Bytes (27%)
需要的自行下载
BootModeCheck_1KB.rar
_
更新 2
将 EXE 段合并,文件减肥

减肥 2,560-1,088=1,472 Bytes (58%)
需要的自行下载
BootModeCheck_1088_Bytes.rar



_
更新 :
加 Secure Boot -> Enabled/Disabled/None 三种.

我 10 余年的老 PC,
VMWare 不能装新版,
因为 CPU 不支持,
所以无法测试 Enabled,
给其它网友测试.

需要的自行下载
BootModeCheck_Update_2.rar





_
更新 :
Bug 修正

我 10 餘年的老 PC,
VMWare 不能裝新版,
因為 CPU 不支持,
所以無法測試 Enabled,
給其它網友測試.

需要的自行下載
BootModeCheck_Update_3.rar



_
更新 :
由于之前手边没有实机测试,
无法知道是哪出错,
找了实机 Debug 一下,
程序没取得权限的问题,
用汇编麻烦,
改用 Delphi 编程,
在一台小 NoteBook 实机测试过.

需要的自行下载
BootModeCheck_Update_4.rar







BootModeCheck.rar

699 Bytes, 下载次数: 185

BootModeCheck_1KB.rar

702 Bytes, 下载次数: 292

更新_1_减肥版

BootModeCheck_1088_Bytes.rar

638 Bytes, 下载次数: 209

更新_2_减肥版

评分

参与人数 8无忧币 +39 收起 理由
2010hook + 5 佩服
lc12 + 1 很给力!
1049616166 + 5 很给力!
dfw9 + 3 赞一个!
sd3166 + 5 赞一个!
新空气 + 5 赞一个!
liuzhaoyzz + 10 很给力!
sghihor + 5

查看全部评分

2#
发表于 2020-1-15 13:08:20 | 只看该作者
不正确。。

点评

我使用 实机 Windows 7 X64 BIOS VMWare UEFI Windows 10 与 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417337 http://wuyou.net/forum.php?mod=viewthread&tid=412368 得到相同的结果.  详情 回复 发表于 2020-1-15 13:13
回复

使用道具 举报

3#
发表于 2020-1-15 13:08:51 | 只看该作者
谢大大分享~
回复

使用道具 举报

4#
 楼主| 发表于 2020-1-15 13:13:54 | 只看该作者

我使用
实机 Windows 7 X64 BIOS
VMWare UEFI Windows 10

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417337
http://wuyou.net/forum.php?mod=viewthread&tid=412368

得到相同的结果.
回复

使用道具 举报

5#
发表于 2020-1-15 13:31:19 | 只看该作者
  1. bcdedit | find "winload.efi" >nul && set mbr=efi || set mbr=exe
复制代码

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417337  详情 回复 发表于 2020-1-15 13:35
回复

使用道具 举报

6#
 楼主| 发表于 2020-1-15 13:35:48 | 只看该作者

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=417337
liuzhaoyzz>
温馨提示:bcdedit检查winload、wmic、msinfo32、powershell 、C:\Windows\Panther\setupact.log文件检测、注册表 HKLM\System\CurrentControlSet\Control\PEFirmwareType 检测什么的都不靠谱


回复

使用道具 举报

7#
发表于 2020-1-15 13:37:32 | 只看该作者
楼主是动态编译的吗?用VC哪个版本编译的?这么小!压缩过吗?        

点评

这是汇编, 没压缩过. 应该可以再小, 懒的搞了.  详情 回复 发表于 2020-1-15 13:40
回复

使用道具 举报

8#
 楼主| 发表于 2020-1-15 13:40:59 | 只看该作者
本帖最后由 plusv 于 2020-1-15 16:45 编辑
liuzhaoyzz 发表于 2020-1-15 13:37
楼主是动态编译的吗?用VC哪个版本编译的?这么小!压缩过吗?

这是汇编,
没压缩过.

可以再小,
懒的搞了.

点评

汇编。。。  详情 回复 发表于 2020-1-15 20:37
玩c语言的,在论坛已经很牛逼了,懂得汇编的,都是牛人了!  详情 回复 发表于 2020-1-15 13:44
回复

使用道具 举报

9#
发表于 2020-1-15 13:44:01 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-1-15 13:45 编辑
plusv 发表于 2020-1-15 13:40
这是汇编,
没压缩过.

玩c语言的,在论坛已经很牛逼了,懂得汇编的,都是牛人了!

回复

使用道具 举报

10#
发表于 2020-1-15 13:51:54 | 只看该作者
不错,很强大
回复

使用道具 举报

11#
发表于 2020-1-15 14:11:40 | 只看该作者
在WIN10X64运行闪退

点评

拖CMD里  详情 回复 发表于 2020-1-15 14:14
我在 VMWare UEFI Windows 10 X64 (PE) 测正常.  详情 回复 发表于 2020-1-15 14:14
回复

使用道具 举报

12#
 楼主| 发表于 2020-1-15 14:14:03 | 只看该作者
fxmmm 发表于 2020-1-15 14:11
在WIN10X64运行闪退

我在 VMWare UEFI Windows 10 X64 (PE) 测正常.
回复

使用道具 举报

13#
发表于 2020-1-15 14:14:14 | 只看该作者
fxmmm 发表于 2020-1-15 14:11
在WIN10X64运行闪退

拖CMD里

点评

我在 VMWare UEFI Windows 10 X64 (PE) 拖 CMD 里 测正常.  详情 回复 发表于 2020-1-15 14:23
回复

使用道具 举报

14#
 楼主| 发表于 2020-1-15 14:23:17 | 只看该作者

我在 VMWare UEFI Windows 10 X64 (PE) 拖 CMD 里 测正常.
回复

使用道具 举报

15#
发表于 2020-1-15 14:46:35 | 只看该作者
收藏了,可以偷个懒
回复

使用道具 举报

16#
发表于 2020-1-15 15:40:21 | 只看该作者
感谢分享
回复

使用道具 举报

17#
发表于 2020-1-15 15:41:03 | 只看该作者
学习了
回复

使用道具 举报

18#
发表于 2020-1-15 16:01:17 | 只看该作者
强大。辛苦了老大
回复

使用道具 举报

19#
发表于 2020-1-15 20:37:10 | 只看该作者
本帖最后由 nttwqz 于 2020-1-15 20:41 编辑
plusv 发表于 2020-1-15 13:40
这是汇编,
没压缩过.

汇编。。。
8.1非管理员权限运行测试亦正常
回复

使用道具 举报

20#
发表于 2020-1-15 22:51:58 | 只看该作者
感谢分享,已下载
回复

使用道具 举报

21#
发表于 2020-1-15 22:56:22 | 只看该作者
win10-1903-x64教育版测试正确
回复

使用道具 举报

22#
发表于 2020-1-16 06:09:15 | 只看该作者
其实就是 GetFirmwareEnvironmentVariableA 的win32 api,判断一下返回值就完了,用任何语言也是几句了事.
若不想Stdoutput(cmd控制台)输出,可自行改写....

点评

主要功能是用在/批处理/PE/非 GUI.  详情 回复 发表于 2020-1-16 08:21
回复

使用道具 举报

23#
 楼主| 发表于 2020-1-16 08:21:58 | 只看该作者
zandrawoo 发表于 2020-1-16 06:09
其实就是 GetFirmwareEnvironmentVariableA 的win32 api,判断一下返回值就完了,用任何语言也是几句了事.
...

主要功能是用在/批处理/PE/非 GUI.
回复

使用道具 举报

24#
发表于 2020-1-16 08:26:38 | 只看该作者
        很给力!
回复

使用道具 举报

25#
发表于 2020-1-16 08:47:50 | 只看该作者
谢谢楼主的分享
回复

使用道具 举报

26#
 楼主| 发表于 2020-1-16 12:11:05 | 只看该作者
更新_减肥 1 KB 版.

点评

无论是1KB,还是2KB,windows里面显示都是占用体积4KB。簇是4KB的。  详情 回复 发表于 2020-1-16 13:29
这体积几乎可以忽略不计  详情 回复 发表于 2020-1-16 13:05
回复

使用道具 举报

27#
发表于 2020-1-16 13:05:17 来自手机 | 只看该作者
plusv 发表于 2020-1-16 12:11
更新_减肥 1 KB 版.

这体积几乎可以忽略不计
回复

使用道具 举报

28#
发表于 2020-1-16 13:29:08 | 只看该作者
plusv 发表于 2020-1-16 12:11
更新_减肥 1 KB 版.

无论是1KB,还是2KB,windows里面显示都是占用体积4KB。簇是4KB的。

点评

都搞汇编了,估计有这样的习惯,算法优化,体积优化。不管是不是省空间,更何况,小文件多了也会省空间的,你会发现,有的小文件占4KB,有的小文件占0KB。  详情 回复 发表于 2020-2-6 18:28
回复

使用道具 举报

29#
发表于 2020-1-16 13:36:53 | 只看该作者
纯64位pe能运行吗?

点评

实机 Windows 7 X64 BIOS VMWare UEFI Windows 10 OK. 应该可以.  详情 回复 发表于 2020-1-16 17:41
回复

使用道具 举报

30#
发表于 2020-1-16 13:41:19 | 只看该作者
本帖最后由 指南针 于 2020-1-16 13:42 编辑

那么,希望再添加个功能,能否输出当前机器
是否支持EFI启动?
是否是安全启动?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 07:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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