博客
KomuraSoft LLC 围绕网站建设、SEO、Google 广告投放、Windows 开发、既有资产利用与故障排查,分享可在实际工作中运用的思路。
全站 AI 搜索
搜索关键字会发送至 Cloudflare AI Search 以生成结果,请勿输入个人信息。
-
Windows I/O 底层原理(第 5 篇)——NTFS 的内部结构:从 MFT 理解文件系统
本文是图解 NTFS 内部结构的系列第 5 篇。从开发者视角梳理 MFT 与文件记录、多数据流(Zone.Identifier)、硬链接与 8.3 短名、重解析点、两种日志,以及稀疏与压缩。
-
Windows I/O 底层原理(第 4 篇)——缓存管理器:你的 WriteFile 何时才真正写入磁盘
本文是图解讲解 Windows 缓存管理器的系列第 4 篇。梳理以文件映射方式实现的缓存、预读与延迟写入、FlushFileBuffers 与 FILE_FLAG_NO_BUFFERING 的取舍,以及断电导致数据丢失的条件。
-
Windows I/O 底层原理(第 3 篇)——I/O 完成端口(IOCP)与 .NET 线程池:async/await 的地下室
本文是图解讲解 I/O 完成端口(IOCP)的系列第 3 篇。梳理把完成队列与线程数控制融为一体的设计、并发值与 LIFO 释放,以及 .NET 线程池和 async/await 续体的执行线程。
-
MSMQ 还能用多久——“连弃用都算不上”的遗留队列迁移判断
MSMQ 没有列入官方的弃用清单,但 System.Messaging 只存在于 .NET Framework,会阻碍向 .NET 的迁移。本文用事实梳理废止传闻与实际现状,总结继续使用还是迁移的判断标准,以及迁移目标的选法。
-
Windows I/O 底层原理(第 2 篇)——同步 I/O 与异步 I/O:OVERLAPPED 的真正含义
本文是图解讲解 Windows 同步 I/O 与异步 I/O(重叠 I/O)的系列第 2 篇。梳理 FILE_FLAG_OVERLAPPED 的含义、完成通知的 4 种方式、本应异步却同步完成的条件、取消的正确做法,以及与 .NET 的对应关系。
-
信息处理安全保障支援士 2023 年秋季午后问 1 解说——16 条评论只显示 2 条的存储型 XSS
以信息处理安全保障支援士考试 2023 年秋季午后问 1 为题材,讲解存储型 XSS 的攻击流程。梳理字数限制被分多次投稿突破的原因、会话 ID 不发往外部而以图片形式被带走的路径,以及在那里真正起作用的对策。
-
AppLocker、App Control for Business(WDAC)与业务应用分发——在被“执行控制”拦截之前
梳理 AppLocker、App Control for Business(原 WDAC)与 Smart App Control 的区别,以及开发与分发方如何避免自家业务应用在客户环境的执行控制下被拦截。同时汇总被拦截时事件日志的读法。
-
Windows I/O 底层原理(第 1 篇)——所有读写最终都会变成 IRP:I/O 系统全貌
本文是从底层讲解 Windows I/O 系统的系列第 1 篇。用图解梳理对象管理器的命名空间,驱动程序、设备、文件这三种对象,IRP 的生命周期,直到 CloseHandle 背后的机制。
-
SMB 签名与 LDAP 通道绑定——在实务中收紧 NTLM 对策的“另一半”
在停用 NTLM 之前,抑制中继攻击危害的防御手段是 SMB 签名与 LDAP 签名、通道绑定。本文从实务角度梳理各操作系统的默认值、审计事件的解读方法、推进到强制的步骤,以及业务应用和设备的修复方法。
-
图解 NTLM 与 Kerberos——认证为什么会“回退”到 NTLM
用图解梳理 NTLM 与 Kerberos 的区别。依据官方文档讲解挑战/响应、TGT 与服务票据、SPN 解析不出来时 Negotiate 回退到 NTLM 的条件、中继攻击与 Pass-the-Hash 成立的原因,直至 NTLMv1 被移除。
-
OpenHarmony 能否成为设备搭载的操作系统——与 Windows IoT、嵌入式 Linux 的比较
工业设备的操作系统选型中 OpenHarmony 能否入选。基于一手资料比较 Windows IoT Enterprise LTSC、嵌入式 Linux 与 OpenHarmony 的维护期限、所需内存、开发环境和采购难度,并用判断表整理可以采用与应当放弃的条件。
-
NTLM 停用会导致业务应用停止运行吗——审计日志的采集方法与消除依赖的顺序
围绕 NTLM 停用,整理出梳理本公司 Windows 环境与业务应用在何处依赖 NTLM 的步骤:审计策略、NTLM/Operational 日志中事件 8001~8004 的追踪方法、回退到 NTLM 的典型模式与修复方式,以及 SMB 的 NTLM 阻止。
-
什么是 OpenHarmony——梳理它与 HarmonyOS、HarmonyOS NEXT 的区别
OpenHarmony 与 HarmonyOS 不是同一样东西。本文依据一手资料,系统梳理由 OpenAtom 基金会运营的开源操作系统、华为的商用操作系统,以及去掉 Android 兼容的 HarmonyOS NEXT 之后各世代之间的关系。
-
Windows 的 TPM 是什么——图解“不让密钥离开芯片的保险柜”与度量启动
用图解讲解 TPM:密钥不出芯片的机制、PCR 与度量启动、BitLocker 和 Windows Hello 的用法、dTPM/fTPM/Pluton 的差异、Get-Tpm 的确认方法、被要求输入恢复密钥时的应对,均按实务视角梳理。
-
不要直接使用 QR 码的读取值——纠错通过也不保证值是正确的
QR 码的纠错并不是一种只要纠错通过就保证值正确的机制。本文基于样本图像和两种解码器的实测,讲解污损落点不同会被读成另一个值的原因,以及业务系统一侧必须做的验证。
-
在 Windows 应用中处理 USB 设备的方法 ── 虚拟 COM、HID、WinUSB、专用 SDK 该如何选择
从 Windows 应用控制装置和 USB 设备的方法,按虚拟 COM 端口、HID、WinUSB、供应商 SDK 四种方式进行比较。从是否需要安装驱动程序、多台连接时的识别、拔插追踪,到性能上限,都以实务视角进行梳理。
-
用 winget + PowerShell 自动化 PC 装机 ── 让操作手册可执行
本文整理了让新员工电脑的初始设置具备可复现性的方法,涵盖通过 winget 进行应用安装与 export/import、WinGet Configuration 的声明式配置、用 PowerShell 补充的设置,直至无人值守执行时的注意事项。
-
PowerShell 的安全加固 ── 日志・AMSI・语言模式・JEA
本文整理了在不禁止 PowerShell 的前提下安全使用它的实务要点,讲解启用脚本块日志与转录、禁用 AMSI 与旧版本引擎的绕过路径、通过语言模式加以限制,直至用 JEA 进行权限委任。
-
用 Get-WinEvent 实务排查事件日志 ── 筛选速度决定调查时间
本文整理用 PowerShell 提升 Windows 事件日志调查效率的方法,涵盖用 Where-Object 筛选为何缓慢、FilterHashtable 与 XPath 的区分使用、重启・登录・应用异常终止的调查方法,直至多台计算机的日志收集。
-
PowerShell 模块的内部分发与更新 ── PSResourceGet 与内部仓库
本文整理了如何摆脱复制共享文件夹中的 ps1 反复使用的运维方式。内容涵盖模块清单的编写方法、版本管理、用 PSResourceGet 构建内部仓库并进行分发与更新,直至与签名的配合使用。
-
用 PSScriptAnalyzer 守护 PowerShell 脚本质量 ── 规则选型与 CI 导入
本文是将 PowerShell 静态分析工具 PSScriptAnalyzer 引入企业内部脚本的实务指南,讲解应最先启用的规则、配置文件的写法、对既有资产的分阶段导入,直至通过 GitHub Actions 实现 CI 化的完整流程。
-
用 PowerShell 与 REST API 集成 ── Invoke-RestMethod 的实务
本文整理从 PowerShell 调用内部系统 API 与 SaaS REST API 的实务做法,涵盖认证请求头的传递方式、日语 JSON 乱码的应对、4xx/5xx 错误处理、429 重试、分页,直至代理与 TLS 的陷阱。
-
PowerShell脚本运行慢时该看哪里 ── 数组・管道・匹配的诀窍
整理 PowerShell 脚本变慢的常见原因。从数组 += 导致 O(n^2) 的原理、管道与 foreach 的差异、匹配的哈希表化、文件 I/O 的改善,到正确的测量方法,从实务角度进行讲解。
-
不再使用 Write-Host ── PowerShell 的输出流与日志设计
本文整理 PowerShell 六个输出流的用法区分、Write-Host 存在的问题与正确的使用场景、函数返回值被污染的原因、通过 -Verbose 与 -InformationVariable 实现调用方控制,以及结构化日志的留存方法。
-
Microsoft Graph PowerShell 入门 ── AzureAD・MSOnline 废弃后的 Microsoft 365 运维
本文是将 AzureAD・MSOnline 模块废弃后的 Microsoft 365 运维迁移到 Microsoft Graph PowerShell 的实务指南,讲解连接与作用域设计、基于证书的无人值守执行,以及用户盘点、许可证汇总等常用脚本。
-
PowerShell 的并行处理 ── ForEach-Object -Parallel 与作业(Job)的选用之道
本文从实务角度整理 ForEach-Object -Parallel、Start-ThreadJob、Start-Job 的区别与选用之道,$using: 与线程安全性,ThrottleLimit 的确定方法,以及反而会变慢的情形。
-
从 PowerShell 正确调用外部 exe ── 参数引用、退出代码与乱码的陷阱
从 PowerShell 调用 robocopy 或公司内部 EXE 时,参数会损坏、拿不到退出代码、输出还会出现乱码。本文从实务角度整理 PowerShell 7.3 的参数传递变更、停止解析令牌 --%、以及 Start-Process 的使用区分。
-
Process Explorer / Handle / VMMap 实战 ── 从此刻的状态追查挂起・泄漏・「文件正在使用」问题
这是排查「逐渐变卡」「文件删不掉」「挂起无响应」问题的 Sysinternals 实战第二弹。从实务角度讲解 Process Explorer 的句柄搜索・线程堆栈・泄漏监控列、handle.exe,以及用 VMMap 对内存构成进行切分的方法。
-
如何替换正在使用中的 exe/DLL ── Restart Manager 与自动更新的「文件被占用」问题
为什么正在使用中的 exe/DLL 无法直接替换?本文整理运行中文件的锁定机制与「可以重命名」这一特性、Restart Manager 对占用进程的列举・终止・重启、rename-then-replace 与 MoveFileEx 的重启时替换,并附带 C# 诊断代码。
-
用信息亭模式固化业务终端 ── Assigned Access・Shell Launcher 的选择方法与运维设计
整理前台终端、设备操作画面等专用于特定应用的 Windows 终端的构建方法。从实务角度讲解 Assigned Access・Shell Launcher・多应用信息亭模式的区别与版本要求、PowerShell 与 XML 的配置示例,直至自动登录与异常退出后的恢复。