无忧启动论坛

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

[原创] 全版本drvinst.exe文件5分钟跳过驱动签名验证修改指南

    [复制链接]
31#
发表于 2018-4-8 11:07:35 | 只看该作者
“为什么不尝试自己做?下载你附件到改好就1,2分钟 ”

小白啊,什么都不懂。
回复

使用道具 举报

32#
发表于 2018-4-8 11:25:27 | 只看该作者
有没有办法更暴力点?破解windows内核驱动签名校验
回复

使用道具 举报

33#
 楼主| 发表于 2018-4-8 17:50:42 | 只看该作者
本帖最后由 slore 于 2018-4-8 17:57 编辑
freesoft00 发表于 2018-4-8 11:05
请问一下,mbr或者pbr使用winhex保存的bin如何转换成汇编代码。
想看看bootice是查看哪里的特征区分mbr ...


磁盘扇区上的数据是16位的汇编指令,dumpbin只能识别32位和64位的Windows程序不适用。

高级点的你用IDA可以看。
搜索16位反编译器,会有很多,毕竟就是CPU指令的翻译,
我随便点了一个github上的C#的,SharpDisasm。

下了一个NET35支持的版本,WINHEX保存55AA的MBR为MBR.BIN,
然后复制16进制可视区域得到十六进制的文本MBR.TXT
  1. 33 C0 8E D0 BC 00 7C FB 8E C0 8E D8 8B F4 BF 00
  2. 06 B9 00 02 FC F3 A4 EA 60 06 00 00 00 00 00 00
  3. 50 4F 57 45 52 52 45 43 4F 56 45 52 00 00 00 00
  4. ...
  5. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  6. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
复制代码


然后运行:
type mbr.txt|| disasmcli.exe 16
  1. 0000 33 c0                          xor ax, ax
  2. 0002 8e d0                          mov ss, ax
  3. 0004 bc 00 7c                       mov sp, 0x7c00
  4. 0007 fb                             sti
  5. 0008 8e c0                          mov es, ax
  6. 000a 8e d8                          mov ds, ax
  7. 000c 8b f4                          mov si, sp
  8. 000e bf 00 06                       mov di, 0x600
  9. 0011 b9 00 02                       mov cx, 0x200
  10. 0014 fc                             cld
  11. 0015 f3 a4                          rep movsb
  12. 0017 ea 60 06 00 00                 jmp word 0x0:0x660
  13. 001c 00 00                          add [bx+si], al
  14. 001e 00 00                          add [bx+si], al
  15. 0020 50                             push ax
复制代码

也支持32位,64位。drvinst.exe的破解指令也可以看。

D:\Users\Slore\桌面\windisam\Net35>echo 8B F8 85 C0 75 09 |disasmcli.exe 64
0000000000000000 8b f8                          mov edi, eax
0000000000000002 85 c0                          test eax, eax
0000000000000004 75 09                          jnz 0xf

D:\Users\Slore\桌面\windisam\Net35>echo 33 c0 8b f8 90 90 |disasmcli.exe 64
0000000000000000 33 c0                          xor eax, eax
0000000000000002 8b f8                          mov edi, eax
0000000000000004 90                             nop
0000000000000005 90                             nop

D:\Users\Slore\桌面\windisam\Net35>echo 8B D8 85 DB 75 04|disasmcli.exe 32
00000000 8b d8                          mov ebx, eax
00000002 85 db                          test ebx, ebx
00000004 75 04                          jnz 0xa

D:\Users\Slore\桌面\windisam\Net35>echo 33 c0 8b D8 90 90|disasmcli.exe 32
00000000 33 c0                          xor eax, eax
00000002 8b d8                          mov ebx, eax
00000004 90                             nop
00000005 90                             nop


sharpdisasm_NET35.zip (67.07 KB, 下载次数: 33)
我没改,NET35里面的config写的是.net45,反正我WIN10下是可以运行。
删除config文件系统将自动识别,不过启动会变慢,卡顿0.5秒的感觉。

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5 必须支持

查看全部评分

回复

使用道具 举报

34#
 楼主| 发表于 2018-4-8 18:08:25 | 只看该作者
addaadda 发表于 2018-4-8 10:26
我看了win10x64的explorer可以反汇编(35MB),win8.1x64的就不行,不知道哪里的问题,系统是win10x64
...

windisam_dumpbin_x64.zip (1.98 MB, 下载次数: 66)

我不知道x86为什么不行,不过x64可以,我试着复制出来x64的最小文件,你可以试试,
如果不行的话,建议你安装Visual Studio自己找x64的dumpbin.exe

点评

多谢  详情 回复 发表于 2018-4-8 21:32
回复

使用道具 举报

35#
发表于 2018-4-8 18:18:31 | 只看该作者
破解的方法,试了下在win7里不行,不知道何故。
回复

使用道具 举报

36#
发表于 2018-4-8 21:32:47 | 只看该作者
slore 发表于 2018-4-8 18:08
我不知道x86为什么不行,不过x64可以,我试着复制出来x64的最小文件,你可以试试,
如果不行的话, ...

多谢
回复

使用道具 举报

37#
发表于 2018-4-8 22:30:46 | 只看该作者
本帖最后由 tegl 于 2018-4-8 22:32 编辑
红毛樱木 发表于 2018-4-8 18:18
破解的方法,试了下在win7里不行,不知道何故。


刚试了32位W7的DrvInst.exe,没问题啊
  0102CDF5: E8 06 D2 00 00     call        _pSetupValidateDriverPackage@36
  0102CDFA: 8B F0              mov         esi,eax
  0102CDFC: 85 F6              test        esi,esi
  0102CDFE: 75 07              jne         0102CE07
  0102CE00: 8B 03              mov         eax,dword ptr [ebx]
回复

使用道具 举报

38#
发表于 2018-4-9 06:47:30 来自手机 | 只看该作者
tegl 发表于 2018-4-8 22:30
刚试了32位W7的DrvInst.exe,没问题啊
  0102CDF5: E8 06 D2 00 00     call        _pSetupValidateD ...

改完这里,你装下驱动试试。全装不了了
回复

使用道具 举报

39#
发表于 2018-4-9 09:55:26 | 只看该作者
本帖最后由 红毛樱木 于 2018-4-9 10:19 编辑

ys是原始没改过的,另外一个是改过的

x86的是这样
  1.   0102CBFE: E8 27 D0 00 00     call        _pSetupValidateDriverPackage@36
  2.   0102CC03: 8B F0              mov         esi,eax
  3.   0102CC05: 85 F6              test        esi,esi
  4.   0102CC07: 75 07              jne         0102CC10
  5.   0102CC09: 8B 03              mov         eax,dword ptr [ebx]
  6.   0102CC0B: 89 47 08           mov         dword ptr [edi+8],eax
  7.   0102CC0E: EB 21              jmp         0102CC31
  8.   0102CC10: 56                 push        esi
  9.   0102CC11: 68 44 E8 00 01     push        offset ??_C@_0DL@BAACEHAK@Driver?5package?5failed?5signature?5@
  10.   0102CC16: 6A 01              push        1
  11.   0102CC18: 68 00 00 00 01     push        1000000h
  12.   0102CC1D: FF 75 FC           push        dword ptr [ebp-4]
  13.   0102CC20: FF 75 F8           push        dword ptr [ebp-8]
  14.   0102CC23: FF 15 28 13 00 01  call        dword ptr [__imp__SetupWriteTextLog]
  15.   0102CC29: 83 C4 18           add         esp,18h
  16.   0102CC2C: EB 03              jmp         0102CC31
  17.   0102CC2E: 6A 57              push        57h
  18.   0102CC30: 5E                 pop         esi
  19.   0102CC31: 5F                 pop         edi
复制代码


这种jne直接0102CC10的是push,是不是就直接跳过去了?
0102CC11也直接push了,是不是也跳过去了?实际是不是0102CC05的test基本就可以忽略不管它了呀。
这种情况是不是就不用破解了。。。
不太懂,瞎猜的。


-----------------------------------------------------------------------
x64是这样
  1.   0000000100006A58: E8 2B E4 00 00     call        pSetupValidateDriverPackage
  2.   0000000100006A5D: 8B D8              mov         ebx,eax
  3.   0000000100006A5F: 85 C0              test        eax,eax
  4.   0000000100006A61: 75 09              jne         0000000100006A6C
  5.   0000000100006A63: 41 8B 0C 24        mov         ecx,dword ptr [r12]
  6.   0000000100006A67: 89 4E 10           mov         dword ptr [rsi+10h],ecx
  7.   0000000100006A6A: EB 26              jmp         0000000100006A92
  8.   0000000100006A6C: 4C 8D 0D 5D B4 FF  lea         r9,[??_C@_0DL@BAACEHAK@Driver?5package?5failed?5signature?5@]
复制代码
照着置顶改的不行

win7.7z

81.7 KB, 下载次数: 25, 下载积分: 无忧币 -2

回复

使用道具 举报

40#
 楼主| 发表于 2018-4-9 11:30:03 | 只看该作者
红毛樱木 发表于 2018-4-9 09:55
ys是原始没改过的,另外一个是改过的

x86的是这样

x64,一次8字节指令,一句就够,x86要2句4字节指令,所以先push一个地址,在push出错信息。

汇编结果是对的,这里的逻辑也是和1楼一样的,你改的这几个字节也是对的。

只改这6个字节是好的,你在WIN7下可以运行,程序不出错。

但是通过FC命令比较,ys和你改的文件,变动比较多,你是改完还做了
文件校验和修改?

这个时候你改过的版本直接双击。

---------------------------
drvinst.exe - 应用程序错误
---------------------------
应用程序不能正确启动 (0xc000007b)。请点击[OK] 关闭应用。
---------------------------
OK   
---------------------------


WIN10是不需要校验和的,我不清楚WIN7是不是必须,如果是,那么是因为你这里错了,这个程序就运行不起来,所以驱动安装不了。

点评

确实是啊。。。我晕,我校验和处理过了之后我没运行一下测试。。。 难道win7的不能用校验和去处理下么  详情 回复 发表于 2018-4-9 11:33
哦,所有的我都做了校验和处理。  详情 回复 发表于 2018-4-9 11:32
回复

使用道具 举报

41#
发表于 2018-4-9 11:32:42 | 只看该作者
slore 发表于 2018-4-9 11:30
x64,一次8字节指令,一句就够,x86要2句4字节指令,所以先push一个地址,在push出错信息。

汇编结果 ...

哦,所有的我都做了校验和处理。
回复

使用道具 举报

42#
发表于 2018-4-9 11:33:39 | 只看该作者
slore 发表于 2018-4-9 11:30
x64,一次8字节指令,一句就够,x86要2句4字节指令,所以先push一个地址,在push出错信息。

汇编结果 ...

确实是啊。。。我晕,我校验和处理过了之后我没运行一下测试。。。

难道win7的不能用校验和去处理下么
回复

使用道具 举报

43#
发表于 2018-4-11 14:00:10 | 只看该作者
本帖最后由 wynew8au 于 2018-4-11 14:08 编辑

谢谢。666
回复

使用道具 举报

44#
发表于 2018-6-4 10:22:51 | 只看该作者
留贴拜读~~~
回复

使用道具 举报

45#
发表于 2018-6-24 01:37:55 | 只看该作者
技术贴,支持一下。
回复

使用道具 举报

46#
发表于 2019-1-13 07:11:09 | 只看该作者
好帖要顶!
回复

使用道具 举报

47#
发表于 2019-6-5 14:48:29 | 只看该作者
Windows 10 18908 好像有變化 ?
是否可抽空研究一下 , 謝謝
回复

使用道具 举报

48#
发表于 2019-6-5 15:25:54 | 只看该作者
Windows 10 18908 x64
8B F0 85 C0 74 47
改为
33 C0 8B F0 EB 47

评分

参与人数 1无忧币 +5 收起 理由
nf17b + 5 謝謝

查看全部评分

回复

使用道具 举报

49#
发表于 2019-6-12 10:34:13 | 只看该作者
很强大 学习了  
回复

使用道具 举报

50#
发表于 2019-7-19 21:13:45 | 只看该作者
本帖最后由 WAIGO 于 2019-7-19 21:15 编辑

19H2(18362.10005) x86 PE 用了没破解的原始 drvinst.exe 文件,始终出现警告字句。想按照首頁的説明自行破解一下,但开始执行 "3.拖动drvinst.exe文件到symbol_dl.bat" 之后出现了下面图一、二的画面,再按任意键并没有出现像您所写那样 "1,2秒左右,drvinst.pdb文件将生成一个Symbols文件夹"。制作无法继续。现将这个属於 19H2(18362.10005) x86PE 的原始 drvinst.exe 文件附去给您,恳请代为破解一下。非常感谢!






drvinst.exe (143 KB, 下载次数: 14)

点评

你网络环境没有问题么?我这里可以下载符号信息。 特征码如下: 另外不需要手动处理吧。WimBuilderd的自动处理也正常。。。  详情 回复 发表于 2019-7-20 23:16
没有的话,是微软没提供。。。我周末看看  发表于 2019-7-19 22:34
回复

使用道具 举报

51#
 楼主| 发表于 2019-7-20 23:16:05 | 只看该作者
WAIGO 发表于 2019-7-19 21:13
19H2(18362.10005) x86 PE 用了没破解的原始 drvinst.exe 文件,始终出现警告字句。想按照首頁的説明自行破 ...


你网络环境没有问题么?我这里可以下载符号信息。

symchk.exe "D:\Users\Slore\桌面\windisam\drvinst.exe" /s SRV*D:\Users\Slore\桌面\windisam\Symbols*http://msdl.microsoft.com/download/symbols
press any key to continue...

SYMCHK: FAILED files = 0
SYMCHK: PASSED + IGNORED files = 1
请按任意键继续. . .


特征码如下:
  1. 0040D6B0: FF 15 D4 11 42 00  call        dword ptr [__imp__pSetupValidateDriverPackage@40]
  2.   0040D6B6: 8B D8              mov         ebx,eax
  3.   0040D6B8: 85 DB              test        ebx,ebx
  4.   0040D6BA: 75 0A              jne         0040D6C6
  5.   0040D6BC: 8B 4D 10           mov         ecx,dword ptr [ebp+10h]
  6.   0040D6BF: 8B 07              mov         eax,dword ptr [edi]
  7.   0040D6C1: 89 41 08           mov         dword ptr [ecx+8],eax
  8.   0040D6C4: EB 2B              jmp         0040D6F1
  9.   0040D6C6: 53                 push        ebx
  10.   0040D6C7: 68 BC 24 40 00     push        offset ??_C@_0DL@BAACEHAK@Driver?5package?5failed?5signature@
复制代码



另外不需要手动处理吧。WimBuilder的自动处理也正常。。。
D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\Patch_drvinst>main.bat
.\drvinst.exe was successfully patched!
请按任意键继续. . .

回复

使用道具 举报

52#
发表于 2019-10-23 14:49:48 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-10-23 14:54 编辑


5分钟破解步骤:
1.解压到任意目录(最好简单没空格纯英文例如D:\windisam)

2.把drvinst.exe放到相同目录

3.拖动drvinst.exe文件到symbol_dl.bat

1,2秒左右,drvinst.pdb文件将生成一个Symbols文件夹

4.剪切drvinst.pdb到windisam根目录

5.拖动drivinst.exe到wdisasm.bat

1,2秒左右,将得到drvinst.asm反汇编文件
这里得到的drvinst.asm是空的,只有54字节,是怎么回事?上面一步出错了?我在WIN7 WIN10下面都试了不行,我换用windisam_dumpbin_x64也是出错,怎么办?我搜索了帖子里面所有的HEX特征码都找不到。

6.用记事本打开drvinst.asm文件,查找__imp_pSetupValidateDriverPackage
补充:有人问32位的,好像32位直接改注册表可以用不需要,既然问了就看了下。
32位的函数名是__imp__pSetupValidateDriverPackage
多了一个下划线,所以通用的话,用pSetupValidateDriverPackage就可以了。
        

drvinst14393.rar

94.04 KB, 下载次数: 21, 下载积分: 无忧币 -2

点评

拖exe进行反汇编,不是pdb。  发表于 2019-10-23 14:54
回复

使用道具 举报

53#
发表于 2019-10-23 15:10:59 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-10-23 15:34 编辑

哦,看错了,拖动exe。
14393:
8BD885C075088B06改成:33C08BF890908B06
不知道这个对不对?

  00000001400073FC: FF 15 BE 00 01 00  call        qword ptr [__imp_pSetupValidateDriverPackage]
  0000000140007402: 8B D8              mov         ebx,eax
  0000000140007404: 85 C0              test        eax,eax
  0000000140007406: 75 08              jne         0000000140007410
  0000000140007408: 8B 06              mov         eax,dword ptr [rsi]
  000000014000740A: 41 89 46 10        mov         dword ptr [r14+10h],eax
  000000014000740E: EB 3B              jmp         000000014000744B

G:\WimBuilder2-Full20191010\WimBuilder2-Full\Projects\WIN10XPE\01-Components\Patch_drvinst\main.bat
35行:
:AssemblePatch
echo Assemble Patch ...
set VER_NAME=%WB_PE_VER%
if %VER[3]% GTR 17000 set VER_NAME=win10.rs4later
if %VER[3]% GTR 17700 set VER_NAME=win10.rs5later
if %VER[3]% GTR 18908 set VER_NAME=win10.18908later
call :Drvinst_%VER_NAME%_%WB_PE_ARCH%
if "%PATCH_MODE%"=="local" pause
goto :EOF

:Drvinst_10.0.14393_x64
call :PATCH 8BD8 85C0 7508 8B06
goto :EOF
添加这个对不对?


:Drvinst_10.0.15063_x64
call :PATCH 8BF0 85C0 7509 418B
goto :EOF

:Drvinst_win10.rs4later_x64
call :PATCH 8BF8 85C0 7509 418B
goto :EOF

:Drvinst_win10.rs4later_x86
call :PATCH 8BD8 85DB 750A 8B4D
goto :EOF

:Drvinst_win10.rs5later_x64
call :PATCH 8BF0 85C0 7509 418B
goto :EOF

:Drvinst_win10.rs5later_x86
call :PATCH 8BD8 85DB 750A 8B4D
goto :EOF

:Drvinst_win10.18908later_x64
call :FULL_PATH 8BF0_85C0_7447 33C0_8BF0_EB47
goto :EOF

:Drvinst_win10.18908later_x86
call :FULL_PATH 8BD8_85DB_742B_53 33C0_8BD8_EB2B_53
goto :EOF

:FULL_PATH
binmay.exe -v -s "%1" -r "%2" -u "%X_SYS%\drvinst.exe"
goto :PATCH_CONFIRM

:PATCH
binmay.exe -v -s "%1%2%3%4" -r "33C0%19090%4" -u "%X_SYS%\drvinst.exe"
:PATCH_CONFIRM
fc /b "%X_SYS%\drvinst.exe.org" "%X_SYS%\drvinst.exe"
del /q "%X_SYS%\drvinst.exe.org"
        

点评

33C0 8BD8,你前面的写错了。不过代码好像没错。  发表于 2019-10-23 17:26
你先试试。里面还有测试的驱动文件。我目前没时间看。  发表于 2019-10-23 17:24
回复

使用道具 举报

54#
发表于 2019-10-23 20:16:09 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-10-23 20:26 编辑


7. UE打开drvinst.exe,搜索字节序,改之。
8B F8 85 C0 75 09 41 8B
改成如下:
33 C0 8B F8 90 90 41 8B

补充1:
某老版本的修正如下:
8B F0 85 C0 75 09 41 8B
改为
33 C0 8B F0 90 90 41 8B

17133对应:
8B F8 85 C0 75 09 41 8B
可能改成如下:
33 C0 8B F8 90 90 41 8B

这里面没有33C0 8BD8啊?
初步试了下,用破解版drvinst,用ljycslg的驱动包,可以进入桌面,但是在安装驱动的时候蓝屏了,报NETIO.SYS错误。
        

Windows 10 x64-2019-10-23-20-19-15.png (19.92 KB, 下载次数: 247)

Windows 10 x64-2019-10-23-20-19-15.png

点评

看颜色,给你现在找到的数学,对应。不同版本不相同,只是参照。  发表于 2019-10-23 20:19
回复

使用道具 举报

55#
发表于 2019-10-23 21:13:28 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-10-24 09:17 编辑

晕了,netio.sys蓝屏的原因是因为用了错误的破解文件,tcpipreg.sys和系统的版本不一致。改过来就好了。但是14393试了破解过的drvinst也还是无法安装第三方驱动。破解drvinst安装驱动就会提示“内存位置访问无效”.      

点评

14393的patch似乎不行啊,你解决了么  发表于 2019-12-1 13:56
回复

使用道具 举报

56#
发表于 2019-12-1 15:32:56 | 只看该作者
14393版本的drvinst.exe破解不行,不清楚原因,似乎不破解也可以安装驱动吧。没有深度测试。

点评

没有深度测试,我只是试了ljycslg14393PE提取的破解版drvinst,似乎还是不行,可能是哪个环节我没有做好,你试试看。  发表于 2019-12-1 16:14
ltsb还能用其他什么版本的drvinst?  发表于 2019-12-1 15:58
老版本是不是这个地方也不一定。。。没有看过老版本,先找有解决过的PE  发表于 2019-12-1 15:43
回复

使用道具 举报

57#
发表于 2019-12-1 15:56:42 | 只看该作者
我试了ljycslg14393PE里面的破解版drvinst替换我制作的14393PE,似乎也不行,可能是小版本号不同,没有深入研究。

点评

我以前居然弄过这个,看了你的破解,差了一个字节,到这里下载吧 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411861  发表于 2019-12-2 08:48
回复

使用道具 举报

58#
发表于 2019-12-1 23:17:41 | 只看该作者
支持原创,感谢分享
回复

使用道具 举报

59#
发表于 2019-12-2 11:47:22 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-12-2 11:49 编辑

addaadda,请问下drvinst对于14393不同的版本是否可以通用?小版本号另外,你说错了一个字节,是哪个字节?请详述

点评

[attachimg]406186[/attachimg] 第一个是原版,第二个是我改的,第三个是你改的  详情 回复 发表于 2019-12-2 14:17
你具体啥版本,我回头是试试看下,最近事特别多。  发表于 2019-12-2 11:56
看代码,微软有时候改动影响到了,就不一定了,通常没影响,WimBuilder2的包里有个测试驱动,main.bat你改下开关,没破解前不能装,破解可以装,用来验证的。  详情 回复 发表于 2019-12-2 11:55
回复

使用道具 举报

60#
 楼主| 发表于 2019-12-2 11:55:40 | 只看该作者
liuzhaoyzz 发表于 2019-12-2 11:47
addaadda,请问下drvinst对于14393不同的版本是否可以通用?小版本号另外,你说错了一个字节,是哪个字节? ...

看代码,微软有时候改动影响到了,就不一定了,通常没影响,WimBuilder2的包里有个测试驱动,main.bat你改下开关,没破解前不能装,破解可以装,用来验证的。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-24 17:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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