┌┐┌┐∞         ┌───────────────────┐
   ┘└┘└┘         │ 智慧財產權已開始實施 ,請各位多加配合 │
  拷貝心得37集        └───────────────────┘
==================================================================
    新年到了 ,筆者在此先向大家拜個年 ,祝大家身體健康 萬事如意!!
筆者因為事業煩重 ,可能將來出本心得的速度不會太快 ;如果您覺得本內容
撰寫的很好的話 ,請廣為流傳....但禁販賣圖利。
------------------------------------------------------------------
    這陣子各位大爺或許注意到『電子公佈欄』上的休閒軟體越來越少了 ,
有人說這是因為休閒軟體已逐漸走向合法化 ,同時巧遇三○一 ,所以許多站
台都因忌諱被抓 ,而不敢輕易擺出合法軟體 ;不管這點是否屬實 ,但軟體高
價位的時代確實來臨了 ,任何常買休閒軟體的人一定發現所有的軟體幾乎都
要近五百元才買的到 ,這對玩者是一大負擔沒錯 ,不過也因此可見到廠商在
上市前多半會推出試玩版或Demo版 ,買到爛軟體的機會也因此減少 ,相形之
下反而為玩家省下一筆『試玩』的費用。

    以前買遊戲常常會買到不好玩的遊戲 ,現在幾乎都是支援 VGA256 色 ,

    以前買遊戲常常會買到不好玩的遊戲 ,現在幾乎都是支援 VGA256 色 ,
並且大包裝的軟體越來越多 ,買軟體前不妨多聽聽買的人的感想。
------------------------------------------------------------------
    前一陣子某休閒軟體公司一口氣出了數片的中文遊戲 ,每一個遊戲都得
到很多人的叫好(不知道叫不叫座) ,無奈據說是因為保護手法太兇悍 ,在某
些爛機器下跑常會當機 ,影響該公司已建立的信譽。

    原來台灣的破解高手過多 ,任何軟體皆可能被破解 ,所以被迫使用『特
別的防破軟體』 ,底下咱們來看看保護與破解的演進過程吧。若您有常看本
心得 ,那麼底下說的您應該都很眼熟 ,不懂就趕快查查前面幾集吧。
------------------------------------------------------------------
┌────┐
│保護部份│
└────┘
    軟體保護最初是使用磁碟防拷 ,當時的軟體幾乎沒有防破能力 ,且多是
在文字模式便開始檢查保護 ,所以極易被破解。

        CALL    驗證保護          ┐
        OR      AX,AX             │以前的保護就是這麼簡單
        JZ      驗證成功與否      ┘


    緊接著出現幾套有防破能力的遊戲 ,就是將INT_03幹掉 ,當時防破也剖

    緊接著出現幾套有防破能力的遊戲 ,就是將INT_03幹掉 ,當時防破也剖
為單純 ,僅僅將INT_03指向別的地方 ,造成軟體無法正常 DEBUG ,但是只要
將這段程式碼跳過即可繼續 DEBUG。

    CHKSUM這種防程式碼被竄改的手段本來是解毒程式在運用 ,卻被拿來當
成防破手段之一 ,就是將程式碼從頭加到尾 ,看看比對的數值是否相同 ,就
可以知道程式碼是否被改。

    後來許多軟體公司為了防止被 DEBUG ,故意把營幕顯示模式改為繪圖模
式 ,或關掉營幕來防除錯。

    最後甚至當掉使用者的鍵盤 ,將鍵盤指向自己的程式 ,或是關掉鍵盤 ,
有的程式設計師為了省功 ,都用最簡單的方法當掉鍵盤。

        IN      AL,21h
        OR      AL,02h
        OUT     21h,AL

    就在除錯程式不斷的進步下 ,軟體保護開始使用INT_01或INT_03來為自
己的程式做解碼 ,如果這個向量被人使用 ,便無法正確解碼。同時又利用堆
疊指標的作怪 ,故意在程式最前端加上 CLI ,然後把堆疊指標指向程式中間
 ,若有其它程式使用堆疊 ,便會蓋過執行程式 ,所以嚴禁中斷程式執行 ,否
則執行程式會因有程式用到堆疊(如INT_1C)而毀掉執行的程式碼。

則執行程式會因有程式用到堆疊(如INT_1C)而毀掉執行的程式碼。

    壓縮軟體是一種能節省軟體商磁片的使用量 ,又兼具軟體防竄改的極佳
手段 ,有一陣子廣為軟體商採用 ,且某些壓縮軟體各版本間並不相容 ,所以
對.EXE檔無法還原的人來說 ,即使找到破解法也無法找到程式碼加以修改。

    可惜台灣高手眾多 ,這些防破方法仍然有人會破 ,所以最後被迫走向保
護模式 (筆者不懂該模式 ,故不多做解釋) ,因為市面上能 DEBUG 保護模式
的軟體不多 ,所以確實有效的防止破解。



┌──────┐
│除錯程式部份│
└──────┘
    軟體的破解一般都是用 DEBUG. 去抓出破解碼 ,可是因為軟體防破能力
越來越強 ,所以單純的除錯程式已不管用了 ,改為 SYMDEB. 來取代 DOS 附
的除錯程式。

    如果軟體進入繪圖模式的話 , SYMDEB 似乎已嫌不夠力了 ,緊接著出現
的TURBO DEBUGGER能夠做兩頁切換 ,所以能夠照樣切入核心做除錯的工作。
同時另一套SOFT-ICE也標榜能做兩頁切換 ,所以對於繪圖模式根本無法防止
程式碼被窺看 ,更強的是它有硬體中斷機能 ,即使鍵盤鎖死 ,照樣能夠靠硬

同時另一套SOFT-ICE也標榜能做兩頁切換 ,所以對於繪圖模式根本無法防止
程式碼被窺看 ,更強的是它有硬體中斷機能 ,即使鍵盤鎖死 ,照樣能夠靠硬
體中斷來中斷程式執行。

    當然以一台80286.的機種也不夠高級了 ,因為要驅動硬體中斷 ,至少要
80386.才玩的起。

    應用軟體越來越佔記憶體 ,有時載入一個除錯程式就可能不夠記憶體 ,
更別談要除錯了 ,所以你的電腦記憶體必需有 4MB以上才能用一些較高級的
除錯程式 ,將程式完全搬到 1MB以外的位址 ,將主記憶體完全空出來給應用
程式。


┌──────┐
│應用程式部份│
└──────┘
    一些專騙KeyDisk的小軟體紛紛被人開發 ,一套比一套強 ,使的採用Key
Disk保護的人必需捨棄相容性的作法 ,才能完全避開『騙』的動作。

    EXEWRITE的出現更如火上加油 ,原來的軟體加上一層層的壓縮軟體 ,或
是使用外加保護的人 ,通通都可能被剝殼 ,實為這個攻防極為激烈的戰爭添
下一個怪異的變數。
------------------------------------------------------------------