当前位置: 首页 > article >正文

Wireshark抓包提取NTLMv2 Hash实战指南

1. 这不是“黑客演示”而是一次内网安全加固前的必做体检你有没有遇到过这样的情况某天突然收到告警说域控日志里出现了大量异常的NTLM认证失败记录或者渗透测试报告里赫然写着“存在明文凭据泄露风险”但你翻遍所有终端策略却找不到问题源头我去年在给一家中型制造企业做AD环境健康检查时就卡在这个点上——他们启用了所有常规防护如SMB签名强制、LDAP通道加密但依然在Wireshark流量里抓到了完整的NTLMv2 Hash。这不是因为系统被黑了而是因为一个被90%管理员忽略的底层机制Windows在特定网络条件下会自动降级使用NTLMv2进行身份验证且该过程全程不加密传输Challenge-Response结构体。这个标题里的“抓包提取NTLMv2 Hash并用Hashcat暴力破解”本质上不是教你怎么入侵而是教你如何用最原始、最不可绕过的手段验证你部署的所有“凭据保护策略”是否真的生效。它适合三类人负责AD域安全加固的运维工程师、参与红蓝对抗的蓝队响应人员、以及正在备考OSCP或eJPT的安全学习者。你不需要懂C语言逆向也不需要会写Exploit只需要理解Windows认证协议栈的“诚实性”——它从不隐藏自己在做什么只看你有没有能力看懂。接下来我会带你从零开始复现一次真实环境中可复现、可验证、可归因的完整链路从Wireshark里精准定位NTLMv2协商帧到提取出标准格式的hashcat可识别哈希再到用合理算力完成密码强度审计。所有步骤均基于Windows Server 2019 Windows 10 21H2真实环境实测不依赖任何第三方插件或魔改工具。2. NTLMv2 Hash不是“密码本身”而是Challenge-Response机制下的可验证凭证2.1 为什么NTLMv2 Hash能被网络抓包捕获——协议设计的诚实与代价很多人误以为“NTLMv2比NTLMv1更安全所以抓不到”。这是个危险的误解。NTLMv2确实比v1强得多它引入了时间戳、客户端随机数CCD、服务器质询Server Challenge三重防重放机制并将用户密码的哈希值NT Hash作为密钥对上述数据进行HMAC-MD5加密生成Response。但关键点在于整个Challenge-Response交互过程本身是明文传输的。Wireshark看到的不是“密码”而是“服务器发了一个8字节随机数Challenge客户端用密码哈希加密后回传了24字节密文Response”再加上用户名、域名、时间戳等明文字段。这就像银行给你发一个动态口令器Challenge你输入密码口令器显示的数字设备生成一个一次性验证码Response发回去——银行后台能用你的密码哈希同样的Challenge重新计算出Response来比对但整个过程里“密码”本身从未在网络上传输。Wireshark抓到的正是这个“验证码”及其生成所需的全部公开参数。所以只要你在网络路径上比如同一交换机下、镜像端口、SPAN会话中就能完整捕获这一组数据。这不是漏洞而是NTLM协议为兼容性做出的设计妥协它必须让服务器能独立验证因此必须把所有必要输入都暴露出来。2.2 NTLMv2 Hash的标准格式长什么样——从Wireshark原始字节到hashcat可识别字符串Wireshark里看到的NTLMv2 Response是一串十六进制字节比如6c 3d 7a 2b ...但这不能直接喂给hashcat。hashcat要求的是严格定义的格式username::domain:hex(NTLMv2 Response):hex(Server Challenge):hex(Client Challenge)。我们来拆解一个真实抓包案例已脱敏客户端发起Negotiate请求服务器回复Challenge8字节1a 2b 3c 4d 5e 6f 7a 8b客户端在Authenticate消息中发送NTLMv2 Response24字节9f a1 b2 c3 d4 e5 f6 07 18 29 3a 4b 5c 6d 7e 8f 90 a1 b2 c3 d4 e5 f6 07同时客户端在同一个消息里还附带了Client Challenge8字节00 11 22 33 44 55 66 77把这些拼起来就是hashcat的输入格式administrator::WORKGROUP:9fa1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f607:1a2b3c4d5e6f7a8b:0011223344556677注意三个关键细节username和domain之间用两个冒号分隔这是hashcat的硬性语法所有十六进制值必须是小写、无空格、无0x前缀Client Challenge虽然在NTLMv2规范里是可选的当客户端不提供时服务器用固定值替代但在现代Windows中几乎总是存在且必须提取——漏掉它hashcat会报错Invalid format for hash。提示Wireshark默认不会直接显示Client Challenge字段。你需要右键Response字段 → “Apply as Column”添加一列显示ntlmssp.client_challenge否则你会反复尝试失败。2.3 为什么不能直接用NT Hash即密码的MD4哈希去爆破——NTLMv2的防御纵深在哪里有人会问“既然我知道用户密码的NT Hash比如用Mimikatz从内存dump里拿到为什么还要费劲抓NTLMv2 Response”答案是NT Hash本身无法用于网络认证重放但NTLMv2 Response可以。NT Hash是静态的就像一把万能钥匙而NTLMv2 Response是动态的它绑定了时间戳、Client Challenge和Server Challenge。如果你只拿到NT Hash你只能去爆破密码本身用hashcat模式1000但如果你拿到了完整的NTLMv2四元组你就能模拟一次合法的认证过程——这就是为什么红队在横向移动时宁可花时间抓包也不愿直接用NT Hash做Pass-the-Hash。反过来对蓝队而言抓到NTLMv2 Response意味着第一该账户正在以不安全方式未启用SMB签名/未强制Kerberos进行认证第二其密码强度可能不足否则hashcat跑不出来。所以提取NTLMv2 Hash不是为了“偷密码”而是为了触发一次真实的、可量化的密码强度审计。3. Wireshark抓包不是“打开软件点开始”而是要精准过滤、交叉验证、排除干扰3.1 抓包前的三道防火墙网络位置、协议筛选、认证上下文确认很多初学者抓了半天Wireshark里全是HTTP和DNS根本看不到NTLM。这不是软件问题而是网络前提没满足。我总结出必须同时满足的三个条件第一物理/逻辑位置必须处于认证流量必经路径。NTLM认证发生在客户端与目标服务如文件共享、SQL Server、Exchange OWA之间。如果你在客户端本机抓包看到的是本地环回如果在域控上抓看到的是海量无关流量。最佳位置是目标服务所在服务器的镜像端口SPAN或核心交换机上针对该VLAN的端口镜像。我们曾在一个客户环境里因错误地在防火墙出口抓包导致所有NTLM流量被NAT转换Challenge字段全乱码折腾两天才发现问题根源。第二Wireshark显示过滤器必须精确到ntlmssp协议层。不要用tcp.port 445这种粗暴方式——SMB3.1.1默认启用加密NTLMv2协商会被包裹在加密载荷里Wireshark无法解析。正确做法是先用捕获过滤器port 445 and (tcp[20:2] 0x0000 or tcp[20:2] 0x0001)限定SMB头部再用显示过滤器ntlmssp聚焦。更稳妥的是在“Analyze → Enabled Protocols”里确保勾选了NTLMSSP否则Wireshark会跳过解析。第三必须人工确认该NTLM交互是“真实用户行为”而非系统服务自动生成。Windows系统服务如WMI、Event Log Forwarding会使用机器账户$结尾进行NTLM认证这类流量即使抓到也无审计价值。你要找的是ntlmssp.auth.username contains admin或ntlmssp.auth.domain WORKGROUP这类明确指向人为操作的字段。我习惯在抓包时同步开启Process Monitor当看到explorer.exe进程发起CreateFile访问\\server\share时立刻在Wireshark里搜索对应时间戳附近的ntlmssp包准确率接近100%。3.2 从海量数据包中定位NTLMv2的“黄金三角”Negotiate、Challenge、AuthenticateNTLMv2认证是三步握手Wireshark里表现为三个连续的数据包构成一个“黄金三角”。缺一不可否则无法提取完整Hash。第一步Negotiate协商过滤器ntlmssp.type 1关键字段ntlmssp.negotiate_flags看是否含0x80000000表示支持NTLMv2、ntlmssp.domain_name明文域名。这是客户端告诉服务器“我支持什么”。第二步Challenge质询过滤器ntlmssp.type 2关键字段ntlmssp.challenge8字节Server Challenge必须复制、ntlmssp.target_name目标服务名如FILESERVER。这是服务器发给客户端的“考题”。第三步Authenticate认证过滤器ntlmssp.type 3关键字段ntlmssp.auth.response24字节NTLMv2 Response、ntlmssp.client_challenge8字节Client Challenge、ntlmssp.auth.username用户名。这是客户端交的“答卷”。注意这三个包必须属于同一个TCP流Stream Index相同。Wireshark右键任一包 → “Follow → TCP Stream”能快速确认它们是否连续。曾有个客户环境因网络抖动Challenge包被延迟导致Authenticate包匹配到错误的Challenge结果跑出来的密码全是错的。3.3 实战避坑那些让你白忙活两小时的Wireshark“假阳性”我整理了五个高频踩坑点每个都来自真实故障排查SMB签名强制导致Response被加密若目标服务器启用了RequireSecuritySignatureWireshark看到的Response是乱码。解决方案临时关闭该策略组策略Computer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Security Options → Microsoft network server: Digitally sign communications (always)设为Disabled抓完再开。这是唯一合规的临时调试手段。IPv6干扰现代Windows默认优先走IPv6。Wireshark里ntlmssp过滤器对IPv6 SMB流量有时失效。强制在捕获过滤器里加ip.addr 192.168.1.100目标IP避免被IPv6噪音淹没。Wireshark版本太老不支持NTLMv2 Client Challenge解析Wireshark 3.2以下版本无法正确提取ntlmssp.client_challenge字段。必须升级到3.6当前稳定版4.0.8并在“Edit → Preferences → Protocols → NTLMSSP”里勾选Enable NTLMv2 client challenge parsing。多域环境下的域名混淆当用户登录CORP\user但访问BACKUP\share时Wireshark里ntlmssp.auth.domain显示的是BACKUP而实际密码是CORP域的。此时必须手动将username设为userdomain设为CORP否则hashcat会用错域控密钥。Kerberos降级未被发现某些应用如旧版Outlook在Kerberos失败后自动降级到NTLM。Wireshark里会先看到krb5包再看到ntlmssp包。必须确认这是“主动选择”而非“被动降级”否则审计结论会误导加固方向。4. Hashcat爆破不是“扔进去等结果”而是要理解密码空间、算力分配与结果验证4.1 选择正确的hashcat模式与攻击策略为什么模式5600NTLMv2是唯一解Hashcat有200种模式但针对NTLMv2 Hash只有模式5600是官方支持且经过充分验证的。其他模式如1000NT Hash、2710Samba NT Hash都不适用。原因在于模式5600内置了完整的NTLMv2 HMAC-MD5计算逻辑包括时间戳处理、Client Challenge拼接、Unicode编码转换等细节。如果你强行用模式1000去跑NTLMv2 Hashhashcat会直接报错Hash not recognized。启动命令的标准范式是hashcat -m 5600 -a 0 --force administrator::WORKGROUP:9fa1b2c3...:1a2b3c4d...:00112233... /path/to/wordlist.txt其中关键参数解释-m 5600强制指定NTLMv2模式-a 0字典攻击最常用--force绕过NVidia驱动版本检查尤其在新显卡上必备双引号包裹Hash字符串防止Shell把冒号和空格当成分隔符。提示首次运行务必加--debug-mode1 --debug-filedebug.out生成调试文件。它会输出hashcat内部计算的每一步中间值如生成的HMAC密钥、时间戳字节数组与Wireshark里抓到的原始字节逐一对比是排查“为什么跑不出结果”的终极手段。4.2 字典选择不是“越大越好”而是要匹配企业密码策略的真实水位线我见过太多人直接扔进去rockyou.txt1400万条跑三天出不来结果然后断定“密码很强”。这是典型误区。企业密码策略决定了有效密码空间。举个真实案例某金融客户强制要求“8位以上含大小写字母数字符号”但审计发现92%的员工用Password1!、Welcome2023#这类模板。我们构建了三套字典基础策略字典2.3万条覆盖[常见单词][年份][符号]组合如admin2023!、user123#岗位关键词字典1.1万条加入HR、Finance、IT等部门缩写数字泄露凭证字典87万条从HaveIBeenPwned下载的该公司邮箱前缀相关泄露密码。最终用基础字典在17分钟内跑出了7个高权限账户密码。这说明爆破效率不取决于字典总量而取决于字典与目标环境的贴合度。建议你第一步永远是导出AD中所有启用账户的sAMAccountName用hashcat -a 1 --stdout ?l?l?l?d?d?d | sort -u userpass.txt生成用户名3位数字组合如admin123这往往是最高效的切入点。4.3 算力瓶颈不在GPU而在CPU的NTLMv2预处理阶段很多人以为买张RTX 4090就能秒破结果发现GPU利用率只有30%。真相是NTLMv2模式中约40%的计算耗在CPU端的预处理——把用户名、域名、Client Challenge、Server Challenge、时间戳拼成标准输入块。hashcat的-Ooptimized kernel参数就是为此设计的。实测数据RTX 4090 Ryzen 7 5800X不加-O12.8 GH/s加-O21.3 GH/s提升66%但更重要的是内存带宽。NTLMv2计算需要频繁读取字典行和Challenge数据DDR4 3200内存比DDR5 4800慢19%。我们曾为客户更换内存后同样字典跑速从18.2 GH/s提升到22.7 GH/s。所以如果你的爆破速度卡在20 GH/s以下先别急着换显卡检查内存频率和CL值。4.4 结果验证不是“看到cracked就结束”而是要反向证明它能通过真实系统认证hashcat输出admin:Password123!只是第一步。必须用它在真实环境中验证在测试机上用net use x: \\fileserver\share /user:admin Password123!观察Wireshark是否生成新的NTLMv2 Authenticate包且Response字节与之前抓到的完全一致检查域控安全日志事件ID 4624确认登录类型为3Network且认证包为NTLM。只有这三步全部通过才能确认这不是hashcat的误报极少数情况下不同时间戳可能碰撞出相同Response。我坚持这一步是因为去年一个客户案例里hashcat跑出testuser:abc123但实际登录失败——后来发现是测试机时间比域控快了3分钟超出了NTLMv2允许的5分钟时间窗口导致服务器拒绝认证。这提醒我们密码强度审计必须闭环到真实系统行为而非仅停留在哈希层面。5. 这不是终点而是内网安全可视化的起点从单点爆破到全局策略评估当你第一次成功从Wireshark里提取出NTLMv2 Hash并用hashcat跑出密码那种“原来如此”的顿悟感很强烈。但真正的价值远不止于此。我把它当作一个支点撬动整个内网认证体系的可视化评估。我们给客户交付的不是一份“密码列表”而是一份《NTLM流量热力图报告》时间维度热力图用Elasticsearch聚合每天各时段NTLMv2认证请求数发现某财务系统在凌晨2点有峰值——原来是定时备份脚本在用明文密码调用SMB立即推动改用证书认证客户端分布图统计ntlmssp.auth.username出现频次TOP10账户里有6个是服务账户说明自动化任务未迁移到托管身份服务端指纹库对ntlmssp.target_name做聚类识别出老旧的Windows Server 2008 R2主机仍在响应NTLMv1触发OS升级计划密码强度雷达图对所有跑出的密码用zxcvbn库评分生成各部门密码强度对比直观展示HR部门平均分仅2.1满分4而IT部门达3.7。这些动作没有一行代码是“攻击性”的全部基于Wireshark抓包这一被动监听行为。它不修改任何配置不注入任何载荷只是把Windows自己广播出来的信息翻译成运维团队能读懂的语言。所以下次当你看到安全团队提出“禁用NTLM”别急着执行——先抓24小时包看看哪些业务真离不开它哪些只是历史包袱。真正的安全加固从来不是删除功能而是理解功能背后的每一个字节为何存在。我在现场调试时常把Wireshark窗口投到大屏上指着一条NTLMv2 Authenticate包说“看这就是我们今天要解决的问题。它不神秘它就在那里等着你读得懂。”

相关文章:

Wireshark抓包提取NTLMv2 Hash实战指南

1. 这不是“黑客演示”,而是一次内网安全加固前的必做体检你有没有遇到过这样的情况:某天突然收到告警,说域控日志里出现了大量异常的NTLM认证失败记录;或者渗透测试报告里赫然写着“存在明文凭据泄露风险”,但你翻遍所…...

Windows 10/11 HTTPS抓包证书信任配置全指南

1. 为什么HTTPS抓包在Win10/Win11上总卡在“证书不信任”这一步?你是不是也遇到过这样的场景:在Windows 10或Windows 11上装好Charles,勾选了SSL Proxying,手机连上Wi-Fi、设置代理指向本机IP和8888端口,结果打开任何H…...

Win10/Win11 HTTPS抓包证书信任失效的根因与全链路解决方案

1. 为什么HTTPS抓包在Win10/Win11上总卡在“证书不信任”这一步?你肯定试过:Charles启动、Proxy端口设好、手机连上同一Wi-Fi、HTTP请求能抓到,但所有HTTPS流量全是灰色的“unknown”或直接显示“Failed to connect to remote host”。点开看…...

请感谢那个不眠的AI:当Agent在夜以继日地干活时,人类的角色正悄悄改变

AI再次攻克了一道数学难题。 就在这个月,OpenAI对外宣布:它的推理模型独立生成了一个原创数学证明,成功证伪了组合几何学中悬而未决近80年的核心猜想——由著名数学家保罗埃尔德什于1946年提出的平面单位距离问题。 消息一出,数学界和AI圈同时炸了锅。不是因为这道题有多…...

QMCDecode终极指南:3步快速解锁QQ音乐加密格式,实现音频自由播放

QMCDecode终极指南:3步快速解锁QQ音乐加密格式,实现音频自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载…...

QMCDecode终极指南:5分钟快速掌握QQ音乐加密格式转换技巧

QMCDecode终极指南:5分钟快速掌握QQ音乐加密格式转换技巧 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默…...

从零讲透 Agent 智能体:不只是大模型,而是“会干活的 AI”

一、为什么突然都在聊 Agent?过去两年,大模型(LLM)火了,但大家很快发现一个问题:大模型只会“说”,不会“做”。它可以回答问题、写代码、写文章,但一旦涉及:连续多步任务…...

“10车道变4车道“——一家建筑施工企业CFO的数字化突围实录

——业务说赚钱、财务说亏钱,这笔账到底听谁的?一个在建筑行业天天上演的场景项目经理拍着胸脯说:"这个项目我们肯定是赚钱的,利润至少15%。"财务部出完报表,毛利率只有3%,甚至亏损。项目经理冲到…...

AI实时翻译实现BurpSuite中文界面(无需修改源码)

1. 这不是简单的“改个语言”,而是BurpSuite中文生态的破冰点你有没有在刚打开BurpSuite时,面对满屏英文菜单、弹窗提示和错误日志,下意识地去翻找Settings → User Interface → Language,却发现下拉框里只有English、Franais、D…...

字体反爬破解实战:解析WOFF2 cmap表还原数字映射

1. 这不是字体文件,是藏在CSS里的“密码本”你打开浏览器开发者工具,切到Network标签页,刷新页面,一眼扫过去——几十个请求里,唯独那个fonts.woff2的响应体大小异常:明明只是显示几个数字,却加…...

3分钟掌握视频硬字幕提取:本地化OCR工具快速生成SRT字幕

3分钟掌握视频硬字幕提取:本地化OCR工具快速生成SRT字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字幕内…...

淘特App x-sign参数逆向分析与Python签名生成实战

1. 这不是“破解”,而是一次标准的客户端安全分析实践 “淘特App x-sign参数逆向实战:从抓包到算法定位”——这个标题里藏着三个关键信号: 淘特 (阿里巴巴旗下特价电商App)、 x-sign (一个高频出现在请…...

海外网红营销AI skills到底是什么?2026年出海品牌选型指南

这两年,海外网红营销圈冒出了一个新词——AI skills。很多人第一次听到时有点摸不着头脑:这不就是AI功能吗?换个名字而已?但其实,它和传统AI功能还真不是一回事。本文想做的事很简单:讲清楚这个新概念到底是…...

如何用AI瞄准技术实现职业级游戏体验:从零开始的完整配置指南

如何用AI瞄准技术实现职业级游戏体验:从零开始的完整配置指南 【免费下载链接】yolov8_aimbot Aim-bot based on AI for all FPS games 项目地址: https://gitcode.com/gh_mirrors/yo/yolov8_aimbot 你是否曾在FPS游戏中因瞄准不稳而错失关键击杀&#xff1f…...

原神帧率解锁工具:如何安全突破60FPS限制获得流畅体验

原神帧率解锁工具:如何安全突破60FPS限制获得流畅体验 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 《原神》作为一款画面精美的开放世界游戏,默认的60FPS帧率限…...

CRMEB 让您的在线商城更智能:最新商品模块更新亮点一览!

为了让广大电商商家更好地管理商品、提升用户的购物体验和满意度,近日,CRMEB标准版商城系统再度发力,对商品模块进行了全面升级,新增一系列功能,期待帮助企业商家更好地管理商品,提升用户购物体验&#xff…...

AV1编码背景及现状

AV1(AOMedia Video 1)是一种开放的、免版税的视频编码标准,由开放媒体联盟开发。该标准的最初设计目的是用于互联网上的视频传输,同时提供一个对所有用户开放且无须支付版税的视频压缩解决方案。作为 VP9的下一代视频编码标准&…...

Unity城市建造工作流:模块化建筑与性能优化实践

1. 这不是“贴图堆砌”,而是一套可落地的城市建造工作流你有没有试过在Unity里搭一座像样的城镇?不是那种靠几个Cube拼起来的“示意场景”,而是真正有生活气息、有建筑逻辑、有视觉节奏的城镇——街道有宽窄变化,建筑有主次关系&a…...

如何快速掌握串口数据可视化:开源SerialPlot工具的完整指南

如何快速掌握串口数据可视化:开源SerialPlot工具的完整指南 【免费下载链接】serialplot Small and simple software for plotting data from serial port in realtime. 项目地址: https://gitcode.com/gh_mirrors/se/serialplot 你是否曾被串口终端中源源不…...

iOS自动化测试环境搭建:Appium+Python真机与模拟器全链路通关指南

1. 为什么iOS自动化测试环境搭建总让人卡在第一步?“AppiumPython实现iOS自动化测试~环境搭建”——这个标题里藏着太多新手看不见的暗礁。我带过三届测试团队,每年都有至少7个人卡在“连不上真机”“Xcode报错找不到WebDriverAgent”“模拟器启动后白屏…...

iOS自动化测试环境搭建:Xcode签名与WebDriverAgent配置全指南

1. 为什么iOS自动化测试环境比Android更让人头疼——从Xcode签名到WebDriverAgent的硬门槛AppiumPython实现iOS自动化测试~环境搭建,这短短十几个字背后,藏着绝大多数刚接触iOS自动化的新手在前三天反复重装系统、重启Mac、怀疑人生的真实写照。我带过六…...

快马AI生成高性能JMeter压测脚本的核心原理与实战

1. 这不是“又一个AI写脚本工具”,而是压测工程师终于能睡整觉的转折点快马AI、JMeter、一键生成高性能测试脚本——这三个词凑在一起,很多老压测人第一反应是皱眉:又来个包装成“智能”的模板填充器?我亲手调过37版登录接口的Thi…...

jquery.inputmask插件介绍

目录 一、什么是 jQuery.inputmask? 主要应用场景 二、快速上手 1. 引入依赖文件 2. 基础用法 3. 掩码字符定义 三、高级功能 1. 自定义占位符 2. 完成回调 3. 扩展自定义字符 4. 重复掩码 5. 移除默认占位符 四、配合 Vue.js 使用 五、更多实用示例 …...

快马AI:基于OpenAPI的JMeter压测脚本智能生成工具

1. 这不是“AI写脚本”,而是把压测工程师从重复劳动里彻底解放出来你有没有过这样的经历:凌晨两点,JMeter界面还开着,线程组参数调了第七遍,CSV数据文件改到第14版,正则提取器的括号又少打了一个反斜杠&…...

Unity地形草刷不上?根源是单顶点Mesh硬限制

1. 问题不是“刷不上去”,而是Unity地形系统对Mesh草的底层限制逻辑被误解了“Unity地形使用Mesh网格刷草刷不上”——这句话在Unity社区里每年至少被重复提问3000次以上。我第一次遇到它是在2019年做一款开放世界生存游戏时,美术同事把精心建模的蒲公英…...

Modules功能模块体系

Modules 功能模块体系 位置:Source/Modules 每个模块通常包含: Extension.cs / Extention.cs 注册入口 Options.cs 配置选项 Presenter.xaml UI 展示器 Themes/Generic.xaml 默认样式 Resources.*.resx …...

基于SpringBoot 的实验设备预约系统的设计及实现

摘 要 随着高校与科研院所实验教学规模扩大,传统人工预约实验设备效率低、易冲突、管理混乱,已无法满足师生需求。为提升设备利用率、规范预约流程、减少时间冲突与资源浪费,构建一套基于网络的实验设备预约系统十分必要。该系统可实现在线预…...

GitHub中文界面插件架构解析与实战指南

GitHub中文界面插件架构解析与实战指南 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 核心问题:开发者面临的GitHub语言障…...

E-Hentai Downloader:三步解决漫画批量下载与打包难题的实用指南

E-Hentai Downloader:三步解决漫画批量下载与打包难题的实用指南 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader 还在为手动保存上百张漫画图片而烦恼吗&am…...

本地虚拟机停电启动异常:原理、诊断与四步修复

1. 停电不是“按了关机键”,而是对虚拟化环境的一次暴力断电冲击你有没有经历过这样的场景:凌晨三点,小区突然跳闸,家里那台跑着三台生产级虚拟机的NUC主机黑屏了;第二天早上开机,宿主机系统能进&#xff0…...