无忧启动论坛

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

[分享] 全新或升级安装Windows 11绕过TPM和安全启动等绕过硬件检测限制常用方法工具大全

    [复制链接]
31#
发表于 2024-10-3 14:58:32 | 只看该作者
回复

使用道具 举报

32#
发表于 2024-10-3 15:06:24 | 只看该作者
謝謝大大分享~感恩 ^^ 有您真好~!辛苦了!
回复

使用道具 举报

33#
发表于 2024-10-3 16:12:27 | 只看该作者

谢谢楼主分享
回复

使用道具 举报

34#
发表于 2024-10-3 16:28:50 | 只看该作者
谢谢辛苦提供分享!
回复

使用道具 举报

35#
发表于 2024-10-3 16:32:43 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

36#
发表于 2024-10-3 18:09:32 | 只看该作者

谢谢楼主
回复

使用道具 举报

37#
发表于 2024-10-3 18:20:30 | 只看该作者
感谢楼主分享
回复

使用道具 举报

38#
发表于 2024-10-3 18:48:16 | 只看该作者
感谢分享
回复

使用道具 举报

39#
发表于 2024-10-3 18:59:31 | 只看该作者
谢谢分享
回复

使用道具 举报

40#
发表于 2024-10-3 19:06:23 | 只看该作者
谢谢老师分享,辛苦了
回复

使用道具 举报

41#
发表于 2024-10-3 20:03:18 | 只看该作者
楼主牛逼
回复

使用道具 举报

42#
发表于 2024-10-3 20:55:14 | 只看该作者

谢谢分享!!
回复

使用道具 举报

43#
发表于 2024-10-3 20:56:11 | 只看该作者
谢谢分享
回复

使用道具 举报

44#
发表于 2024-10-3 22:39:54 | 只看该作者
不需要那么麻烦,把下面代码存为bat文件,直接拖动wim或iso文件到此bat文件即可,第一次解除tpm,第二次还原tpm。

@(echo off% <#%) &color 07 &title Quick 11 iso esd wim TPM toggle by AveYo - with SendTo menu entry
set "0=%~f0" &set "1=%~f1"&set "2=%~2"& powershell -nop -c iex ([io.file]::ReadAllText($env:0)) &pause &exit/b ||#>)[1]

#:: what's new in v1.2: add uninstall when run again without parameters (issue #96)
$timer = $(get-date)

#:: Install to SendTo menu when run from another location
$SendTo = [Environment]::GetFolderPath('ApplicationData') + '\Microsoft\Windows\SendTo'
$Script = "$SendTo\Quick_11_iso_esd_wim_TPM_toggle.bat"
if (!$env:1 -and $env:0 -and !(test-path $Script)) {
  write-host "`n No input iso / esd / wim file to patch! use 'Send to' context menu ...`n" -fore Yellow
  copy $env:0 $Script -force
}
elseif (!$env:1 -and $env:0 -and (test-path $Script)) {
  write-host "`n Removed 'Send to' entry - run again to install ...`n" -fore Magenta
  del $Script -force
}
if (!$env:1) { return }

#:: Can force either patch or undo via second commandline parameter: 1 to patch 0 to undo
if (1 -eq $env:2) {$toggle = 1} elseif (0 -eq $env:2) {$toggle = 0} else {$toggle = 2}

#:: Verify extension is .iso .esd or .wim
$input = get-item -lit $env:1; $invalid = '.iso','.esd','.wim' -notcontains $input.Extension
if ($invalid) {write-host "`n Input is not a iso / esd / wim file ...`n" -fore Yellow; return }
try {[io.file]::OpenWrite($input).close()} catch {write-host "`n ERROR! $input read-only or in use ...`n" -fore Red; return }

#:: TPM patch via InstallationType Server
$typeC = '<INSTALLATIONTYPE>Client'; $typeS = '<INSTALLATIONTYPE>Server'
$block = 1048576; $chunk = 2097152; $count = [uint64]([IO.FileInfo]$input).Length / $chunk - 1
$bytes = new-object "Byte[]" ($chunk); $begin = [uint64]0; $final = [uint64]0; $limit = [uint64]0
function tochars {return [Text.Encoding]::GetEncoding(28591).GetString([Text.Encoding]::Unicode.GetBytes($args[0]))}
$find1 = tochars "</INSTALLATIONTYPE>"; $find2 = tochars "</WIM>"; $cli = tochars $typeC; $srv = tochars $typeS

$f = new-object IO.FileStream ($input, 3, 3, 1); $p = 0; $p = $f.Seek(0, 2)
write-host "$input`nsearching $p bytes, please wait ...`n"
for ($o = 1; $o -le $count; $o++) {
  $p = $f.Seek(-$chunk, 1); $r = $f.Read($bytes, 0, $chunk); if ($r -ne $chunk) {write-host invalid block $r; break}
  $u = [Text.Encoding]::GetEncoding(28591).GetString($bytes); $t = $u.LastIndexOf($find1, [StringComparison]4)
  if ($t -ge 0) {
    $f.Seek(($t -$chunk), 1) >''
    for ($o = 1; $o -le $chunk; $o++) { $f.Seek(-2, 1) >''; if ($f.ReadByte() -eq 0xfe) {$begin = $f.Position; break} }
    $limit = $f.Length - $begin; if ($limit -lt $chunk) {$x = $limit} else {$x = $chunk}
    $bytes = new-object "Byte[]" ($x); $r = $f.Read($bytes, 0, $x);
    $u = [Text.Encoding]::GetEncoding(28591).GetString($bytes); $t = $u.IndexOf($find2, [StringComparison]4)
    if ($t -ge 0) {$f.Seek(($t + 12 -$x), 1) >''; $final = $f.Position} ; break
  } else { $p = $f.Seek(-$chunk, 1)}
}

if ($begin -gt 0 -and $final -gt $begin) {
  $x = $final - $begin; $f.Seek(-$x, 1) >''; $bytes = new-object "Byte[]" ($x); $r = $f.Read($bytes, 0, $x)
  if ($r -ne $x) {break}
  $t =  [Text.Encoding]::GetEncoding(28591).GetString($bytes)
  if ($t.IndexOf($cli, [StringComparison]4) -ge 0) {$src = 0} else {$src = 1}
  if ($src -eq 0 -and $toggle -ne 0) {$old = $cli; $new = $srv} elseif ($src -eq 1 -and $toggle -ne 1) {$old = $srv; $new = $cli}
  else {write-host "`n:) $input already has TPM patch $toggle"; $f.Dispose(); return}
  $t = $t.Replace($old, $new); $t; $b = [Text.Encoding]::GetEncoding(28591).GetBytes($t); $f.Seek(-$x, 1) >''; $f.Write($b, 0, $x)
  if ($src -eq 1) {write-host "`n :D TPM patch removed" -fore Green} else {write-host "`n:D TPM patch added" -fore Green}
  $f.Dispose(); [GC]::Collect()
} else {write-host "`n;( TPM patch failed" -fore Red; $f.Dispose()}

#:: how quick was that??
$(get-date) - $script:timer
#:: done

回复

使用道具 举报

45#
发表于 2024-10-3 23:20:45 | 只看该作者
谢谢分享
回复

使用道具 举报

46#
发表于 2024-10-3 23:21:03 | 只看该作者
谢谢分享
回复

使用道具 举报

47#
发表于 2024-10-4 08:51:03 | 只看该作者
实用啊,学习学习
回复

使用道具 举报

48#
发表于 2024-10-4 10:10:22 | 只看该作者
感谢楼主的分享!
回复

使用道具 举报

49#
发表于 2024-10-4 10:28:48 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

50#
发表于 2024-10-4 20:44:43 | 只看该作者
感谢分享         
回复

使用道具 举报

51#
发表于 2024-10-5 11:02:18 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

52#
发表于 2024-10-5 11:28:12 | 只看该作者
赞一个!
回复

使用道具 举报

53#
发表于 2024-10-5 15:11:12 | 只看该作者
感谢楼主分享
回复

使用道具 举报

54#
发表于 2024-10-5 15:14:25 | 只看该作者
快来看看就看
回复

使用道具 举报

55#
发表于 2024-10-5 15:17:41 | 只看该作者
一般都用修改版的,无此问题
回复

使用道具 举报

56#
发表于 2024-10-7 09:18:42 | 只看该作者
谢谢分享
回复

使用道具 举报

57#
发表于 2024-10-7 10:06:07 | 只看该作者
谢谢分享,收藏备用
回复

使用道具 举报

58#
发表于 2024-10-7 19:35:53 | 只看该作者
感谢您无私分享,支持一下。
回复

使用道具 举报

59#
发表于 2024-10-7 20:15:38 | 只看该作者
收藏以待不时之需
回复

使用道具 举报

60#
发表于 2024-10-7 20:24:07 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-14 12:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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