无忧启动论坛

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

(更新签名版)MTP补丁失效免替换文件解决方法

    [复制链接]
61#
 楼主| 发表于 2025-5-19 00:17:15 | 只看该作者
YWFhYmJi 发表于 2025-5-18 21:48
应该是新版系统加入了对证书吊销的判断并且强制要求SHA256签名,以前的系统是可以正常加载被吊销的证书的, ...

x86的只判断是否在微软的黑名单内,与是否在CA吊销无关,arm才需要sha256
回复

使用道具 举报

62#
 楼主| 发表于 2025-5-19 00:18:47 | 只看该作者
YWFhYmJi 发表于 2025-5-18 22:01
新版系统封杀了很多不正规加载驱动的途径,那就不好搞了,只能关闭安全启动或往uefi里添加自定义证书,或者 ...

这方法只在政府版win10原生支持,新版的windows加了限制不好搞,且bios用不了
回复

使用道具 举报

63#
发表于 2025-6-8 07:15:36 | 只看该作者
请协助更改附件exe的签名信息,使其适用所有版本,不知是否可行?

explorer.rar

1.05 MB, 下载次数: 1, 下载积分: 无忧币 -2

回复

使用道具 举报

64#
 楼主| 发表于 2025-6-8 16:28:54 | 只看该作者
martin313 发表于 2025-6-8 07:15
请协助更改附件exe的签名信息,使其适用所有版本,不知是否可行?

这个文件是要干嘛的?

点评

哦,暂时不必了。本来想用它适用于多个PE版本的,后来看看不行,就放弃了。  详情 回复 发表于 2025-6-8 18:02
回复

使用道具 举报

65#
发表于 2025-6-8 18:02:12 | 只看该作者
nianyueriPE 发表于 2025-6-8 16:28
这个文件是要干嘛的?

哦,暂时不必了。本来想用它适用于多个PE版本的,后来看看不行,就放弃了。
回复

使用道具 举报

66#
发表于 2025-6-30 13:46:05 | 只看该作者
本帖最后由 YWFhYmJi 于 2025-6-30 19:09 编辑

能否帮忙测试一下重签名的 mtpHelper
pan.huang1111.cn/s/k2xj6uB
还有,能不能把您PE里的 \Windows\System32\ci.dll 发出来,我研究一下能不能在PE里使用未签名的 mtpHelper
回复

使用道具 举报

67#
发表于 2025-6-30 19:11:02 | 只看该作者
martin313 发表于 2025-6-8 18:02
哦,暂时不必了。本来想用它适用于多个PE版本的,后来看看不行,就放弃了。

能否帮忙测试一下重签名的 mtpHelper,确认一下这个证书在物理机上是否可用
pan.huang1111.cn/s/k2xj6uB

点评

这个是最近刚刚重新签名的吗?  详情 回复 发表于 2025-6-30 19:13
回复

使用道具 举报

68#
发表于 2025-6-30 19:13:57 | 只看该作者
YWFhYmJi 发表于 2025-6-30 19:11
能否帮忙测试一下重签名的 mtpHelper,确认一下这个证书在物理机上是否可用
pan.huang1111.cn/s/k2xj6uB

这个是最近刚刚重新签名的吗?
回复

使用道具 举报

69#
发表于 2025-6-30 19:18:14 | 只看该作者
martin313 发表于 2025-6-30 19:13
这个是最近刚刚重新签名的吗?

这是之前5月份用新的泄露证书重签的,但当时因为我配置错误测试失败,以为不行,现在有时间再看了一下发现虚拟机能过win11最新版(27881)的安全启动,就想测试物理机

点评

物理机测试了一下,没法启动,报错如图。大概是因为这个windows是测试版本的原因吧。  详情 回复 发表于 2025-6-30 21:05
虚拟机里测试了可用,等下物理机测试看看(一般应该没问题)  详情 回复 发表于 2025-6-30 19:35
回复

使用道具 举报

70#
发表于 2025-6-30 19:35:29 | 只看该作者
YWFhYmJi 发表于 2025-6-30 19:18
这是之前5月份用新的泄露证书重签的,但当时因为我配置错误测试失败,以为不行,现在有时间再看了一下发 ...

虚拟机里测试了可用,等下物理机测试看看(一般应该没问题)

图片20250630193433.png (733.71 KB, 下载次数: 1)

图片20250630193433.png
回复

使用道具 举报

71#
发表于 2025-6-30 21:05:39 | 只看该作者
YWFhYmJi 发表于 2025-6-30 19:18
这是之前5月份用新的泄露证书重签的,但当时因为我配置错误测试失败,以为不行,现在有时间再看了一下发 ...


物理机测试了一下,没法启动,报错如图。大概是因为这个windows是测试版本的原因吧。

20250630210403.jpg (448.85 KB, 下载次数: 0)

20250630210403.jpg
回复

使用道具 举报

72#
发表于 2025-6-30 21:50:54 | 只看该作者
martin313 发表于 2025-6-30 21:05
物理机测试了一下,没法启动,报错如图。大概是因为这个windows是测试版本的原因吧。

不用这个驱动也没法启动吗?

如果签名还是过不了安全启动,我又做了一个备用方案,但是里面用到了有漏洞的驱动直接修改内核内存来加载无签名驱动,可能会蓝屏(不过如果多次蓝屏可以在开机时选择不加载)。

pan.huang1111.cn/s/K9a1XIY

用法:把mtpHelper.exe放到PE的System32里,在PE的SYSTEM注册表里ControlSet001\Control\Session Manager中的BootExecute中最后一行加入mtpHelper,默认开机会有3秒的中文提示信息(按U键取消加载MTP驱动),提供两个参数:
/English 英文显示
/SkipCheck 跳过开机提示信息直接加载

这个方案应该不会导致系统因为添加mtpHelper驱动直接没法启动,就算出问题也可以跳过加载。
回复

使用道具 举报

73#
 楼主| 发表于 2025-7-6 00:37:16 | 只看该作者
martin313 发表于 2025-6-30 21:05
物理机测试了一下,没法启动,报错如图。大概是因为这个windows是测试版本的原因吧。

会不会是时间戳的原因?我加个时间戳你试试

点评

报错的是winload.efi的签名验证问题,难道与mtphelper有关?  详情 回复 发表于 2025-7-6 06:28
回复

使用道具 举报

74#
 楼主| 发表于 2025-7-6 00:50:55 | 只看该作者
martin313 发表于 2025-6-30 21:05
物理机测试了一下,没法启动,报错如图。大概是因为这个windows是测试版本的原因吧。

时间戳链接:https://pan.huang1111.cn/s/RY1kPHB
回复

使用道具 举报

75#
 楼主| 发表于 2025-7-6 00:51:32 | 只看该作者
YWFhYmJi 发表于 2025-6-30 21:50
不用这个驱动也没法启动吗?

如果签名还是过不了安全启动,我又做了一个备用方案,但是里面用到了有漏 ...

不过这种漏洞迟早会被封吧?杀毒软件都报毒了,微软封禁驱动也不远了
回复

使用道具 举报

76#
 楼主| 发表于 2025-7-6 00:57:42 | 只看该作者
YWFhYmJi 发表于 2025-6-30 21:50
不用这个驱动也没法启动吗?

如果签名还是过不了安全启动,我又做了一个备用方案,但是里面用到了有漏 ...

我在想mtphelper有一个注入winlogon.exe的dll版本,但是用appdll_init方法注入会在安全启动时被阻止。我在想既然你会写native程序,能不能写个native的dll利用微软的ifeo注入那个mtphelper.dll呢?(参考https://blog.csdn.net/lixiangminghate/article/details/70991168,这个机制的dll只能用ntdll的api,可以参考https://github.com/YuZhouRen86/VxKex-NEXT/的native部分注入dll)
回复

使用道具 举报

77#
发表于 2025-7-6 06:28:13 | 只看该作者
本帖最后由 martin313 于 2025-7-6 07:11 编辑
nianyueriPE 发表于 2025-7-6 00:37
会不会是时间戳的原因?我加个时间戳你试试


报错的是winload.efi的签名验证问题,难道与mtphelper有关?
实机测试过了,启动仍然如71楼报错

点评

你的实体机更新微软的安全启动补丁了吗?系统是最新的版本吗?微软之前更换了安全启动的密钥  详情 回复 发表于 2025-7-6 14:02
回复

使用道具 举报

78#
发表于 2025-7-6 08:17:46 | 只看该作者
nianyueriPE 发表于 2025-7-6 00:57
我在想mtphelper有一个注入winlogon.exe的dll版本,但是用appdll_init方法注入会在安全启动时被阻止。我 ...

我试试能不能实现,以及VerifierDll能不能过安全启动

点评

目前根据微软的文档,appdll_init受限,VerifierDll倒是没说。如果可以实现的话之后mtphelper就彻底没问题了。  详情 回复 发表于 2025-7-6 14:03
回复

使用道具 举报

79#
 楼主| 发表于 2025-7-6 14:02:00 | 只看该作者
martin313 发表于 2025-7-6 06:28
报错的是winload.efi的签名验证问题,难道与mtphelper有关?
实机测试过了,启动仍然如71楼报错

你的实体机更新微软的安全启动补丁了吗?系统是最新的版本吗?微软之前更换了安全启动的密钥

点评

应该是当前正式版本的最新版  详情 回复 发表于 2025-7-6 14:18
回复

使用道具 举报

80#
 楼主| 发表于 2025-7-6 14:03:18 | 只看该作者
YWFhYmJi 发表于 2025-7-6 08:17
我试试能不能实现,以及VerifierDll能不能过安全启动

目前根据微软的文档,appdll_init受限,VerifierDll倒是没说。如果可以实现的话之后mtphelper就彻底没问题了。
回复

使用道具 举报

81#
发表于 2025-7-6 14:18:43 | 只看该作者
nianyueriPE 发表于 2025-7-6 14:02
你的实体机更新微软的安全启动补丁了吗?系统是最新的版本吗?微软之前更换了安全启动的密钥


应该是当前正式版本的最新版

图片20250706141803.png (25.27 KB, 下载次数: 0)

图片20250706141803.png

点评

实体机是什么版本?更新安全启动补丁了吗?引导pe的bootmgr是最新的2023CA签名的吗  详情 回复 发表于 2025-7-6 14:59
回复

使用道具 举报

82#
 楼主| 发表于 2025-7-6 14:59:45 | 只看该作者
martin313 发表于 2025-7-6 14:18
应该是当前正式版本的最新版

实体机是什么版本?更新安全启动补丁了吗?引导pe的bootmgr是最新的2023CA签名的吗

点评

晕,什么版本?79楼不是截图给你了么  详情 回复 发表于 2025-7-6 16:05
回复

使用道具 举报

83#
发表于 2025-7-6 15:04:55 | 只看该作者
nianyueriPE 发表于 2025-7-6 14:03
目前根据微软的文档,appdll_init受限,VerifierDll倒是没说。如果可以实现的话之后mtphelper就彻底没问 ...

不好说,我刚刚测试的时候尝试在services.exe中注入VerifierDll,services.exe直接无法启动报错没有数字签名,但winlogon.exe可以正常注入,如果之后微软在winlogon.exe也验证数字签名就不行了。

native程序也不能保证一直可以,万一验证数字签名也就不行了。

win8.1新引入了PPL机制,直接导致系统进程没法通过远程线程注入。services.exe和几个系统文件也是只要修改就没法启动。

PE里不让用UMDF是微软特意加的,services.exe里初始化UMDF的函数InitWudfDriverManager调用了两个函数IsRunningWinPE和IsUMDFEnabledInWinPEMode,其中IsRunningWinPE函数就是通过判断有没有MiniNT项来检测是否是PE,IsUMDFEnabledInWinPEMode是通过调用ZwQueryLicenseValue检测是否允许PE里使用UMDF,在普通PE里默认不允许。这个不知道是什么逻辑,有没有方法通过设置注册表允许在PE里使用UMDF。

点评

目前还没有校验的话只要能用就行,微软目前还没注意到这个问题。只需要用VerifierDll先注入你的dll,再让你的dll使winlogon.exe再加载完win32api后加载win32的mtphelper.dll就行  详情 回复 发表于 2025-7-6 15:28
之前其他大佬研究的时候也就只能让services.exe检测不到MiniNT项,sys的思路是让services.exe无法访问到minint注册表,注入winlogon.exe是在services.exe初始化umdf时先删除minint再恢复minint。如果要让pe使用UMDF  详情 回复 发表于 2025-7-6 15:26
IsRunningWinPE 这个函数是在哪个动态链接库文件中?在微软官网找不到关于这个函数的任何信息,是未文档化函数还是非 winapi?  详情 回复 发表于 2025-7-6 15:24
回复

使用道具 举报

84#
发表于 2025-7-6 15:24:39 | 只看该作者
YWFhYmJi 发表于 2025-7-6 15:04
不好说,我刚刚测试的时候尝试在services.exe中注入VerifierDll,services.exe直接无法启动报错没有数字 ...

IsRunningWinPE 这个函数是在哪个动态链接库文件中?在微软官网找不到关于这个函数的任何信息,是未文档化函数还是非 winapi?
回复

使用道具 举报

85#
 楼主| 发表于 2025-7-6 15:26:58 | 只看该作者
YWFhYmJi 发表于 2025-7-6 15:04
不好说,我刚刚测试的时候尝试在services.exe中注入VerifierDll,services.exe直接无法启动报错没有数字 ...

之前其他大佬研究的时候也就只能让services.exe检测不到MiniNT项,sys的思路是让services.exe无法访问到minint注册表,注入winlogon.exe是在services.exe初始化umdf时先删除minint再恢复minint。如果要让pe使用UMDF可能得参考之前有人搞的pe的RAMOS化,直接没有minint项
回复

使用道具 举报

86#
 楼主| 发表于 2025-7-6 15:28:54 | 只看该作者
YWFhYmJi 发表于 2025-7-6 15:04
不好说,我刚刚测试的时候尝试在services.exe中注入VerifierDll,services.exe直接无法启动报错没有数字 ...

目前还没有校验的话只要能用就行,微软目前还没注意到这个问题。只需要用VerifierDll先注入你的dll,再让你的dll使winlogon.exe再加载完win32api后加载win32的mtphelper.dll就行
回复

使用道具 举报

87#
发表于 2025-7-6 15:32:26 | 只看该作者
本帖最后由 YWFhYmJi 于 2025-7-6 15:47 编辑
Bluebells 发表于 2025-7-6 15:24
IsRunningWinPE 这个函数是在哪个动态链接库文件中?在微软官网找不到关于这个函数的任何信息,是未文档 ...

这两个函数都在services.exe内部,反编译出来的,不是api。
但ZwQueryLicenseValue是ntdll的导出函数,IsUMDFEnabledInWinPEMode这个函数感觉是微软预留的PE UMDF开关
  1. BOOLEAN __stdcall IsUMDFEnabledInWinPEMode()
  2. {
  3.   BOOLEAN result; // al
  4.   int v1; // [rsp+40h] [rbp+8h] BYREF
  5.   int v2; // [rsp+48h] [rbp+10h] BYREF
  6.   int v3; // [rsp+50h] [rbp+18h] BYREF

  7.   v3 = 0;
  8.   v2 = 0;
  9.   v1 = 0;
  10.   if ( (unsigned int)ZwQueryLicenseValue(L"UMDF-WINPE-ENABLED", &v2, &v3, 4i64, &v1) ) // 这里的字符串是一个UNICODE_STRING,我给简化了
  11.     return 0;
  12.   if ( v1 != 4 )
  13.     return 0;
  14.   if ( v2 != 4 )
  15.     return 0;
  16.   result = 1;
  17.   if ( v3 != 1 )
  18.     return 0;
  19.   return result;
  20. }
复制代码

点评

我只关心 IsRunningWinPE 这个函数,如果不是 winapi,估计这个函数的实现估计还是检测 MiniNT 这个注册表子项是否存在 关于 Native API,国外有几个网站有提供很多未文档化函数的详细信息(如 https://ntdoc.m417z.  详情 回复 发表于 2025-7-6 15:50
回复

使用道具 举报

88#
发表于 2025-7-6 15:50:04 | 只看该作者
YWFhYmJi 发表于 2025-7-6 15:32
这两个函数都在services.exe内部,反编译出来的,不是api。
但ZwQueryLicenseValue是ntdll的导出函数,I ...

我只关心 IsRunningWinPE 这个函数,如果不是 winapi,估计这个函数的实现还是检测 MiniNT 这个注册表子项是否存在
关于 Native API,国外有几个网站有提供很多未文档化函数的详细信息(如 https://ntdoc.m417z.com/https://www.geoffchappell.com/ 等)
回复

使用道具 举报

89#
发表于 2025-7-6 16:05:50 | 只看该作者
本帖最后由 martin313 于 2025-7-6 16:12 编辑
nianyueriPE 发表于 2025-7-6 14:59
实体机是什么版本?更新安全启动补丁了吗?引导pe的bootmgr是最新的2023CA签名的吗

晕,什么版本?79楼不是截图给你了么。没专门去更新安全启动补丁,不折腾。物理机能正常使用就行。一般都是在虚拟机里测试测试。
回复

使用道具 举报

90#
发表于 2025-7-6 16:08:15 | 只看该作者
Bluebells 发表于 2025-7-6 15:50
我只关心 IsRunningWinPE 这个函数,如果不是 winapi,估计这个函数的实现还是检测 MiniNT 这个注册表子 ...

mtpHelper.sys驱动就是用防止读取MiniNT这个注册表的方式尝试启用UMDF的,目前试了以下方法:
1. 重签名mtpHelper,暂时有效
2. 修改services.exe,蓝屏
3. native程序注入smss.exe再注入services.exe,smss.exe受保护无法注入
4. native程序关闭dse加载未签名mtpHelper.sys再恢复,暂时有效,杀软报毒
5. VerifierDLL注入到winlogon.exe,制作完毕,但我没有最新的win11pe暂时还没有测试

点评

最新的win11pe,在这儿:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=446705  详情 回复 发表于 2025-7-6 16:13
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-24 07:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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