测测你的开机时间

20011010wo 发表于 2016-8-27 15:21:01
本帖最后由 20011010wo 于 2016-8-27 17:29 编辑

献上程序,解压后右键管理员运行install.cmd 可在开机时自动统计时间,不想用请右键管理员运行uninstall.cmd(对快速启动无效,快速启动不会重置记时时间戳)

BootTime.zip

源码:
BootTime.src.zip

原理讲解:
Windows 有一种神奇的API,叫做Native API
Native API 大部分几乎从不被人所知道,因为$软从没把他们文档化,即使文档化,也是垃圾信息——比如我下面将要说的
Zw/NtQuerySystemInformation是Native API 家族伟大的一员,几乎所有信息你都可以通过它知道
有一种神奇的信息类型叫SYSTEM_TIMEOFDAY_INFORMATION,里面记录了一个非常重要的、Windows下几乎唯一的获取开机时间的方式——BootTime 时间戳,精确到微秒

而$软在文档上写,“是哒,没错,SYSTEM_TIMEOFDAY_INFORMATION是一个用于重置种子的生成器,哎,别用难用的Native API,乖乖去用Kernel32啊,Gdi32啊里的API,乖,听话~”
去你X的![正经]
好吧,其实就是用这个API获取系统固件BIOS或UEFI的上电时间,用程序运行时的时间去减它,就可以得到数字了。


对了,感谢@[backcolor=rgb(243, 243, 243)][size=13px]Aqours[/size][/backcolor] 整理的Native API头文件定义

nkc3g4 发表于 2017-1-14 20:59:06
你咋就这么牛逼呢
20011010wo 发表于 2017-1-14 22:59:59
nkc3g4 发表于 2017-1-14 20:59
你咋就这么牛逼呢

挖坟
test 发表于 2017-1-14 23:13:14
居然登陆了 = =
Hashimoto 发表于 2017-1-15 19:08:44
这么好的帖子居然没人看
20011010wo 发表于 2017-1-15 22:49:37
Hashimoto 发表于 2017-1-15 19:08
这么好的帖子居然没人看

嘿嘿,都是下载不回复的
NoName_3031 发表于 2017-2-9 18:08:48
看看 不下载......
umifind 发表于 2017-3-8 22:53:51
几个月开关一次 帮顶了
来源: 萝卜头IT论坛 查看完整版本