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

    解决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无法验证此文件的数字签名。某软件或硬件最近有所更改,可能安装了签名错误或损毁的文件,或者安装的文件可能是来路不明的恶意软件。
    应该就是WindowsSystem32drivers cpipreg.sys驱动签名有问题。
    sigcheck64 -s -i -e C:WindowsSystem32drivers cpipreg.sys >tcpipreg.txt
    提示No matching files were found.
    应该还是需要破解drvinst.exe?这个WindowsSystem32drivers cpipreg.sys的驱动签名怎么搞?
     

     看了下这个tcpipreg服务,注册表里面的服务键值HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices cpipreg,对应的文件是windowssystem32drivers cpipreg.sys。

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

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

    del /f /q %X%WindowsSystem32drivers cpipreg.sys
    reg delete "HKLM mp_SYSTEMCurrentControlSetServices cpipreg" /f

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

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

     H:WimBuilder2-Full20191010ProjectsWIN10XPE1-Components2-Networkmain.bat

    20行

    @WindowsSystem32drivers
    ipfltdrv.sys,lltdio.sys,mrxsmb10.sys,rspndr.sys,tcpipreg.sys,vwififlt.sys,WdiWiFi.sys

     

    200行

    call RegCopy HKLMSystemControlSet001Services cpipreg

    删除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就好了。

     

  • 相关阅读:
    C++ 学习笔记
    面向对象
    多线程
    Spring-扫描注解原理,注解自动扫描原理分析
    Eclipse 中报错的阅读顺序
    Eclipse 常用技巧及常见问题解决
    JAVA高级复习-自定义泛型类、泛型接口的注意点
    JAVA高级复习-泛型的使用
    IntelliJ IDEA学习笔记连载一IntelliJ IDEA中创建Maven工程
    JAVA高级复习-多线程的创建方式二
  • 原文地址:https://www.cnblogs.com/liuzhaoyzz/p/11717575.html
Copyright © 2011-2022 走看看