部落格
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年秋季(令和5年)下午問1解說 ── 16則評論卻只顯示2則的儲存型XSS
以資訊處理安全確保支援士考試2023年秋季(令和5年)下午問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能否成為裝置搭載的OS ── 與Windows IoT、嵌入式Linux的比較
工業設備的OS選型中,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 Code的讀取值 ── 錯誤更正通過不代表值就正確
QR Code的錯誤更正,並不是一套「只要更正通過就保證值正確」的機制。本文以樣本圖片與兩種解碼器的實測為依據,說明髒污落點不同就會被讀成另一個值的原因,以及業務系統端必須做的驗證。
-
在 Windows 應用程式中處理 USB 裝置的方法 ── 虛擬 COM・HID・WinUSB・專用 SDK 的選擇方式
本文比較從Windows應用程式控制設備與USB裝置的四種方式──虛擬COM埠、HID、WinUSB、廠商製SDK。並以實務角度整理是否需要安裝驅動程式、多台連接時的識別方式、如何追蹤拔插,以及效能上限。
-
用 winget + PowerShell 自動化 PC 配置 ── 讓操作手冊變得可執行
本文整理讓新進員工 PC 的環境建置可重現的方法,涵蓋以 winget 進行應用程式導入與 export/import、WinGet Configuration 的宣告式組態、以 PowerShell 補充的設定,以及無人執行時的注意事項。
-
PowerShell 的安全性強化 ── 日誌・AMSI・語言模式・JEA
本文整理在不禁止 PowerShell 的前提下安全使用它的實務做法。內容涵蓋啟用指令碼區塊記錄與逐字稿記錄、停用 AMSI 與舊版本、以語言模式進行限制,以及透過 JEA 委派權限。
-
使用 Get-WinEvent 有效率地調查事件記錄 ── 篩選的速度決定調查所需的時間
本文整理如何用 PowerShell 有效率地進行 Windows 事件記錄的調查。說明以 Where-Object 篩選為什麼慢、FilterHashtable 與 XPath 的使用區分、重新開機、登入、應用程式異常結束等調查手法,以及跨多台伺服器收集記錄的方法。
-
PowerShell 模組的公司內部分發與更新 ── PSResourceGet 與內部儲存庫
整理如何告別複製共用資料夾中的 ps1 檔案並重複使用的運作方式。內容涵蓋模組資訊清單(manifest)的撰寫方式、版本管理、用 PSResourceGet 建立內部儲存庫並進行分發與更新,以及與簽章搭配運用的做法。
-
用 PSScriptAnalyzer 守護 PowerShell 腳本的品質 ── 規則挑選與 CI 導入
本文是將 PowerShell 靜態分析工具 PSScriptAnalyzer 導入公司內部腳本的實務指南。內容涵蓋應優先啟用的規則、設定檔的寫法、對既有資產的階段性導入,以及在 GitHub Actions 中建置 CI 的方法。
-
PowerShell與REST API串接 ── Invoke-RestMethod的實務
本文整理從PowerShell呼叫公司內部API或SaaS REST API的實務作法。內容涵蓋認證標頭的傳遞方式、日文JSON亂碼的因應對策、4xx/5xx的錯誤處理、429的重試、分頁,以及Proxy與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 的實務指南。內容說明連線與範圍(Scope)設計、以憑證進行的無人執行,以及使用者盤點、授權彙總等經典腳本。
-
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 實戰系列第 2 彈。從實務角度解說 Process Explorer 的控制代碼搜尋、執行緒堆疊、洩漏監控欄位、handle.exe,以及用 VMMap 拆解記憶體組成的做法。
-
如何替換使用中的 exe/DLL ── Restart Manager 與自動更新的「檔案使用中」問題
使用中的 exe/DLL 為什麼無法替換?本文將整理執行中檔案的鎖定與「可以改名」這項特性、Restart Manager 對佔用程序的列舉・終止・重新啟動、rename-then-replace 與 MoveFileEx 的重新開機時置換,並附上 C# 診斷程式碼。
-
用 Kiosk 模式固定業務終端 ── Assigned Access・Shell Launcher 的選型與運用設計
整理接待終端、裝置操作畫面等只執行特定應用程式的 Windows 終端的建置方式。從實務角度解說 Assigned Access・Shell Launcher・多應用程式 Kiosk 的差異與版本需求、PowerShell 和 XML 的設定範例,直到自動登入與從異常終止復原。