陈晓猫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
  364 随笔 :: 0 文章 :: 130 评论 :: 126万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

解决PEnetwork启动的时候提示"An error occured while starting the "TCP/IP Registry Compatibility" Service (2)!"程序将立即退出的问题

查看了PENetwork.au3的源代码,根据penetwork出错提示:TCPIP registry compatibility,以这个为关键字搜索:
14678行:
$sNetErrTCPRegStart = "An error occured while starting the ""TCP/IP Registry Compatibility"" service"
 
15732行:
; Start tcpipreg service
If IsServiceInstalled("tcpipreg") Then
If Not IsServiceRunning("tcpipreg") Then
Debug("IN: Network check - Start TCPIP registry compatibility service")
$nResult = RunCMD("net start tcpipreg")
If $nResult <> 0 Then
If $bShowGUI Then GUIDelete($hStartNetGUI)
If $bShowErr Then MsgBox(16, $sERROR, $sNetErrTCPRegStart & " (" & $nResult & ")!" & @LF & $sProgramExit)
Return 0
EndIf
EndIf
EndIf
 
在pe里面运行net start tcpipreg提示出错,windows无法验证此文件的数字签名。某软件或硬件最近有所更改,可能安装了签名错误或损毁的文件,或者安装的文件可能是来路不明的恶意软件。
应该就是\Windows\System32\drivers\tcpipreg.sys驱动签名有问题。
sigcheck64 -s -i -e C:\Windows\System32\drivers\tcpipreg.sys >tcpipreg.txt
提示No matching files were found.
应该还是需要破解drvinst.exe?这个\Windows\System32\drivers\tcpipreg.sys的驱动签名怎么搞?
 

 看了下这个tcpipreg服务,注册表里面的服务键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpipreg,对应的文件是\windows\system32\drivers\tcpipreg.sys。

换了个思路,看了下ljycslg的PE里面,没有这个tcpipreg.sys,也没有tcpipreg服务。

尝试自己写了个补丁删除tcpipreg.sys和tcpipreg服务,然后用wimbuilder2构建PE,

del /f /q %X%\Windows\System32\drivers\tcpipreg.sys
reg delete "HKLM\tmp_SYSTEM\CurrentControlSet\Services\tcpipreg" /f

文件删除了,注册表可能是挂载的位置不对,删除失败。

用tcipireg为关键字,用filelocator搜索了下wimbuilder2目录,找到了这些:

 H:\WimBuilder2-Full20191010\Projects\WIN10XPE\01-Components\02-Network\main.bat

20行

@\Windows\System32\drivers\
ipfltdrv.sys,lltdio.sys,mrxsmb10.sys,rspndr.sys,tcpipreg.sys,vwififlt.sys,WdiWiFi.sys

 

200行

call RegCopy HKLM\System\ControlSet001\Services\tcpipreg

删除20行里面的tcpipreg.sys,注释掉200行,用wimbuilder2构建PE,成功启动penetwork!

似乎有点副作用,就是右下角系统托盘区的网络图标有个红叉,网络是连接的啊,怎么没有扇形了?

 

小结:

1、win10由于驱动签名验证,tcpipreg.sys是从install.wim里面提取的,没有cat驱动签名,导致windows无法验证此文件的数字签名,不知道倒底是什么cat文件,文件太多了,sigcheck没有检查出来。

2、绕路解决的方法是彻底删除tcpipreg.sys的文件和注册表。PE.ISO体积基本没有增加,只增加了penetwork本身的1.5MB。似乎有点副作用,就是右下角系统托盘区的网络图标有个红叉,网络是连接的啊,怎么没有扇形了?另外其他版本的PE构建暂时没有测试,比如17763等,晚点再看看。

3、penetwork源代码有32115行,用au3写这个的人真是了不起!文件依赖如果不要依赖这个tcpipreg.sys就好了。

 

posted on   陈晓猫  阅读(1665)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
点击右上角即可分享
微信分享提示