一般檔案加密軟體核心流程分為 靜態加密 (檔案落地加密) 與 動態解密 (記憶體中透明解密) 兩階段:
image.png)。.key 檔。image.enc,原始檔案銷毀。image.enc 時,驅動攔截 ReadFile/open,透明解密後將明文資料傳給應用。ImageIO.read, BitmapFactory.decodeStream) 載入,拿到的是解密後的位元組流。答案:應用層直接 Load 加密檔,底層驅動透明解密,應用拿到的是明文。 即「Load 時解密」,而非「解密出臨時檔再 Load」(那樣會留下明文殘留、效能差、安全性低)。
seek,只解密被讀取的區塊 (如 AES-CTR 模式支援並行隨機讀取)。若你有原始碼,建議搜尋 IRP_MJ_READ (Windows)、fuse_read (Linux)、ClassLoader.defineClass (Java/Android) 等關鍵攔截點,理解透明解密實現細節。