發表文章

目前顯示的是 4月 12, 2026的文章

【技術實戰】利用 strace 逆向分析:徹底重置 ZWCAD 與 GstarCAD Linux 試用機制

在 Linux 環境下,CAD 軟體(如 ZWCAD 或 GstarCAD)的試用保護並非單純鎖在安裝目錄,而是採用「多點分散標記」。只要漏掉一個隱藏檔案,軟體就會互相同步修復。本文將教你如何利用 strace 工具,從零開始抓出這些躲在系統角落的「影子檔案」。 🛠️ 第一階段:通緝執行檔 —— 當啟動腳本「點不開」時 很多人卡在第一步:明明有啟動腳本 .sh ,但 strace 卻報格式錯誤,或是直接執行程式報函式庫(libraries)找不到。 1. 穿透層層目錄找「真身」 大型 Linux 軟體通常藏在 /opt/apps/ 底下。如果直接執行 strace 報錯,請先進入該軟體根目錄找出真正的執行主程式: Bash find /opt/apps/軟體名稱 -maxdepth 2 -executable - type f 關鍵技巧 :通常檔名 全大寫 (如 ZWCAD )或是與軟體同名的檔案就是目標。 2. 強制引導追蹤 若直接跑主程式報 shared libraries 錯誤,請回頭跑 .sh 腳本,並加上 /bin/bash 強制引導啟動: Bash strace -f -e trace=file -o ~/trace.txt /bin/bash ./啟動腳本.sh 🔍 第二階段:照妖鏡實戰 —— 找出藏匿點 軟體啟動後看到試用視窗,直接關閉,開始分析 trace.txt 。 1. 影子檔案藏匿規律 系統暫存標記 :位於 /var/tmp/ ,這比 /tmp 狡猾,因為重啟電腦也不會消失。 個人文件夾標記 (GstarCAD 關鍵) :會隱藏在 ~/Documents/ 底下的 .xxx.x 檔案。 通用雜湊標記 :家目錄下點開頭的亂碼檔,如 .6EB28D2E... 。 2. 萬用過濾指令 (餵給 AI 的情報) 如果你看不懂萬行日誌,執行這條指令把結果貼給 AI(如 Gemini): Bash grep -E "openat|access" ~/trace.txt | grep -E "HOME|var|tmp|Documents" | grep -v "\.so" | tail -n 100 AI 提問範例 : 「這是我在 Linux 執行 CAD 的檔案存取...