无忧启动论坛

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

[分享] 使用SetupComplete.cmd代替unattend.xml实现无人值守安装系统

  [复制链接]
31#
发表于 2025-10-30 08:27:34 | 只看该作者
回复

使用道具 举报

32#
发表于 2025-10-30 08:43:31 | 只看该作者
谢谢分享
回复

使用道具 举报

33#
发表于 2025-10-30 20:15:28 | 只看该作者
感谢分享!
回复

使用道具 举报

34#
发表于 2025-12-19 19:18:46 | 只看该作者
这是个好办法
回复

使用道具 举报

35#
发表于 2025-12-21 11:51:54 来自手机 | 只看该作者
学习学习
回复

使用道具 举报

36#
发表于 2025-12-23 19:57:09 | 只看该作者
本帖最后由 yuping 于 2025-12-23 20:07 编辑
baby1277 发表于 2025-6-28 21:59
PS:设置密码会卡在登录界面,所以不能设置密码,暂时没能解决这个问题。

测试过ltsc_2019 和 win11_24h2 ...

我来告诉你为何会卡登陆。。
Windows系统登录密码在注册表中并不是以16进制明文存储的,而是经过加密的哈希值,比如NTLM Hash或LM Hash,它们本身是二进制数据,但通常以十六进制形式显示。

简单来说,密码在注册表中经历了这样的过程:

‌输入密码‌:你输入的密码(如"admin")会被系统转换为Unicode编码,再通过MD4算法加密,生成NTLM Hash。
‌存储位置‌:这些哈希值存储在注册表的HKEY_LOCAL_MACHINE\SAM中,但直接查看只能看到二进制数据,通常需要工具(如Cain)才能解析。
‌显示形式‌:虽然注册表编辑器可能以十六进制显示哈希值,但这只是二进制数据的可视化方式,并非原始密码。
所以,密码在注册表中是加密后的哈希值,而不是16进制明文,这是为了安全考虑。


ht===tps://blog.csdn.net/weixin_72632154/article/details/138469284

解决方法:先把想要设置的密码进行一次Hash 然后把这个值填入批处理中对应位置。


高阶玩法:批处理中加入一段hash加密函数,专门处理转换用户想要设置的密码,传入用户输入的密码变量进行哈希就行了
回复

使用道具 举报

37#
发表于 2025-12-23 20:09:50 | 只看该作者
本帖最后由 yuping 于 2025-12-23 20:19 编辑

NTLM Hash生成步骤如下(基于Windows系统):

1. ‌Unicode编码转换‌
输入密码‌:用户输入的密码(如admin)。
转换为Unicode‌:将密码转换为Unicode编码(小端序),例如admin → 610064006d0069006e00。
2. ‌MD4哈希计算‌
MD4加密‌:对Unicode编码后的字符串进行MD4哈希运算,生成128位(16字节)的哈希值。
示例‌:admin → 32ED87BDB5FDC5E9CBA88547376818D4。
3. ‌存储格式‌
十六进制显示‌:哈希值通常以大写十六进制字符串形式存储(如32ED87BDB5FDC5E9CBA88547376818D4)。
SAM文件‌:Windows系统将NTLM Hash存储在C:\Windows\System32\config\SAM文件中,格式为用户名:SID:LM-HASH:NTLM-HASH。
关键点说明
大小写敏感‌:NTLM Hash对明文密码的大小写敏感,无法通过哈希值判断原始密码长度或是否小于8字节。
安全性‌:MD4算法是单向哈希函数,破解难度较高,但可通过彩虹表等工具加速破解。
注意事项
LM Hash‌:Windows Vista及以上版本默认禁用LM Hash,仅保留NTLM Hash。
认证流程‌:NTLM协议通过挑战-响应机制验证用户身份,服务器发送随机挑战,客户端用密码哈希生成响应。


打开 ‌命令提示符(cmd)‌
输入以下命令(将 admin 替换为你想加密的密码):

powershell -Command "$pwd = 'admin'; $utf16 = [System.Text.Encoding]::Unicode.GetBytes($pwd); $md4 = New-Object System.Security.Cryptography.MD4CryptoServiceProvider; $hash = $md4.ComputeHash($utf16); [System.BitConverter]::ToString($hash).Replace('-', '').ToUpper()"

示例输出:
32ED87BDB5FDC5E9CBA88547376818D4



回复

使用道具 举报

38#
发表于 2025-12-29 21:08:08 | 只看该作者
学习学习,好高深,感谢各位大神
回复

使用道具 举报

39#
发表于 4 天前 | 只看该作者
Thanks for sharing
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2026-1-8 16:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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