Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

旗標電腦文摘 第218期 93.5.6
內容提供:
   旗標出版公司

旗 標 電 腦 文 摘

第218期 2004.5.6

旗標電腦文
已發行電子報


挑戰數位影像 峇里島的誘惑




DVD 無所不燒

書號:F514
定價:320 元

施威銘研究室 著

我要線上購買


本期文摘:防拷技術的辨識與破解

本文摘錄自旗標 F514「DVD 無所不燒 」一書

現在智慧財產權的意識抬頭, 遊戲軟體廠商都會在它的光碟產品上加上各種防拷技術, 例如 SafeDisc、StarForce 或 SecuRom 等。如此一來消費者如果想要備份自己心愛的遊戲母片時, 就必須先了解母片用的是什麼保護技術, 這樣才能知道要用什麼樣的方式來備份。


目前最常被利用來保護遊戲軟體的技術

目前遊戲光碟所使用的防盜技術多達 10 幾種, 其中以 SafeDiscSecuRomStarForce實體壞軌保護等方式較為常見, 下面就為您說明這幾種防拷方式的特色。

SafeDisc

這是由 Macrovision 公司所推出的光碟防護技術, 是一般商業光碟的最愛!原因無它, 因為 SafeDisc 可說是最難破解的保護技術之一, 不是燒錄時出現錯誤訊息、不然就是燒出來的光碟無法執行, 而且它也會對光碟進行檢查, 如果『資格不符』同樣無法執行, 要制服它,可是要克服重重難關喔!

而隨後推出的 SafeDisc 2 技術則將備份難度再往上提升, 光碟內含特殊處理的軌道, 在進行備份燒錄時, 會影響燒錄機的寫入動作, 導致備份片和原版光碟片的資料不一, 而無法執行遊戲。目前 SafeDisc 的最新版本已經堂堂進入到 3.15 版了。

與記憶體相關的設定也可能造成當機

記憶體所造成的當機, 其實與 CPU 所造成的當機狀況很類似, 都是因為提高了硬體元件的運作速度所導致, 而且超越正常狀態的運作方式本來就會造成硬體的損壞。如果曾經調整過記憶體的相關設定, 除了可能在調整後就出現當機的狀態之外, 也是有可能在使用了一段時間後才逐漸出現不穩定的情況。

SecuRom

這是由 Sony 所研發出來的保護技術, 也是遊戲廠商最常採用的防拷方式之一, 它會記錄原版光碟的各項資訊, 藉此比對您放入的是否為原版光碟。所以只要燒錄的過程有瑕疵, 如:資料讀取不完整、經過修正等等, 都無法通過檢測, 如果您發現在原版光碟上的內環有 DADC 字樣, 那就是有 SecuRom 保護的光碟。

而後 Sony 更推出新一代的 SecuRom *New* 技術, 不但資料比對的精準度更高, 並會在光碟中嵌入隱藏的辨識資訊, 用來區分原版片與備份片, 一些舊型機器完全拿它沒輒, 目前最新版本為 SecuRom *New* 5.x版。

StarForce

StarForce 是由俄羅斯一家光碟壓片工廠所研發的防拷技術, 實際運用在光碟產品上大約是在 2002 年 6 月左右。其運作原理和新版的 SecuRom *New* 類似, 同樣會檢查光碟中的辨識資訊, 並會偵測原版光碟片上獨特的物理特性, 如果比對不符就拒絕執行遊戲程式。新版的 StarForce 3 由於防護機制非常的完善, 到目前為止還沒有最佳的 1:1 完美複製之道。

實體破壞軌

前述 3 種保護都是屬於軟體防拷的方式, 另外也有廠商是利用硬體技術來達到防拷目的。所謂硬體保護是指, 直接以外力 (如:雷射、刀片) 破壞光碟讀寫面上的軌道, 以產生實際的『壞軌』, 讓燒錄作業無法順利執行。



要破解實體破壞軌的保護並不難, 常見的軟體如『Clone CD』或『Alcohol 120%』都能輕易複製成功, 但是由於光碟壞軌的面積很大, 讀取映像檔需要花費較多的時間 (一般至少在數小時以上), 讓不少人打退堂鼓, 因此也間接達到防拷的目的。

====note=========================================
以上介紹的是常見的光碟保護技術, 另外還有『CD-Cops』、『Laserlock』、『Protect CD VOB』和『Tages』等技術, 不過這些保護技術較少見, 而且大部份都可以被 Alcohol 120% 破解, 您不必過於憂慮。
=================================================
哪些遊戲用了什麼樣的保護?

看到筆者剛剛介紹的一堆光碟保護技術, 您會不會想知道最近有哪些新遊戲用了什麼保護技術呢?筆者在此就列舉幾個供您參考:

防拷種類 SafeDisc StarForce SecuRom (SecuRom *New*)

相關遊戲

決勝時刻 大富翁 7 魔戒之戰中土世界爭霸
世紀霸業 軒轅劍外傳蒼之濤 海商王
波斯王子 正宗台灣 16 張麻將 3 混亂軍團
魔戒 3 聖女之歌2 撒雷母天使 魔獸爭霸3資料片寒冰霸權


新一代防拷偵測程式 A-Ray Scanner

所謂『知己知彼、百戰不殆』, 這就是告訴我們, 要拆解光碟的保護技術之前, 就必須先知道這片光碟是用什麼類型的保護技術。如果您買了一套新遊戲, 它並不在筆者上列的軟體之內, 我們要怎樣知道這套遊戲是用哪種保護技術呢?不用擔心, 目前有一套非常好用的小程式, 那就是『A-Ray Scanner』, 它可以查出目前流行的所有保護技術, 然後我們就可以針對保護技術的特性來破解它了。

您可以到 A-Ray Scanner 的官方網站 http://www.aray-software.com/, 直接下載 A-Ray Scanner 的最新版本, 就可以檢查看看遊戲片是用什麼保護技術。

在這裡必須一提的是如果您的遊戲母片是 2 或 3 片裝的話, 其中有一片會有防拷機制, 通常廠商會將有加入防拷機制的光碟片標示為『遊戲片』。其他沒有防拷機制的母片就會標示成『安裝片』。我們的目標是用 A-Ray Scanner 掃描出哪一片是具有保護的遊戲片, 然後用相對應的方式來破解它。

不過 StraForce 3 的保護有點特別, 有些母片測出來可能是第 1 片有保護, 但是真正執行遊戲的卻是第 2 片, 如果遇到這種情況, 筆者建議您把這 2 片母片都用 StraForce 3 的方式來備份, 這樣子備份的成功率會比較高。

--- 本篇完


 
  • 這本書還有以下內容哦:
    • 大容量 DVD 燒錄新法
    • 將眾多 VCD 影片燒成一張 DVD
    • 多功能系統光碟製作攻略
    • 可隨身編輯的先進錄影格式 ─ DVD+VR
    • DVD 系統備份密招爆料
欲知詳情請參考:
   
F514 DVD 無所不燒          我要買這本書
........................................ ........................................



Linux 網路管理實務-調校、帳號、監控、安全

書號:F499
定價:580 元

施威銘研究室 著

我要線上購買

 


本期文摘:在 Linux 下同步管理多台主機 - Distributed Shell


本文摘錄自旗標 F499「Linux 網路管理實務-調校、帳號、監控、安全」一書

如果您管理的主機作業系統相似, 每天在所有主機上要輸入的指令也相同, 就算使用金鑰認證登入不需要密碼, 但一一到各主機重複鍵入同樣指令也很令人厭煩。本節將為您介紹的 Distributed Shell, 便能夠讓您輸入一次指令, 全部主機都能生效。今後只要在控管中心號令一次, 所有主機都會自動照著指令行動, 省下很多單調重複的動作, 就有更多的時間可以泡咖啡啦!

Distributed Shell 的應用:將軟體派送到所有主機

在您了解 Distributed Shell 各個指令的基本操作方法後, 您的腦海中是否開始思考這個軟體可能的應用呢?我們將介紹如何使用 Distributed Shell 將軟體快速派送到所有遠端主機, 讓您不再需要分別登入到每部主機安裝新軟體。

將編譯好的軟體派送到各個主機

如果需要安裝軟體的主機有相同的作業系統, 例如全部都是 Linux, 那麼可以先在本機上進行軟體編譯, 然後再將執行檔派送到所有遠端主機。不過該軟體的執行檔與設定檔最好全部安裝在同一個目錄, 才能藉由複製該目錄到遠端主機, 達到快速派送的目的。如果您欲安裝的軟體, 執行檔與設定檔放置的目錄很複雜, 建議使用稍後將介紹的 『將原始檔複製到各個主機進行編譯』 方法進行派送。 筆者以編譯 Apache 伺服器為例, 為您介紹如何進行軟體派送。首先至 http://archive.apache.org/dist/httpd/ 下載 Apache, 筆者撰寫本文時, 最新版本為 1.3.29, 因此下載的檔案為 apache_1.3.29.tar.gz。下載完成後, 將檔案放在 /usr/ local/src 目錄下, 然後執行下列步驟開始進行編譯:

================================================
[root@free root]# cd /usr/local/src ←切換到 /usr/loal/src
[root@free src]# tar zxf apache_1.3.29.tar.gz ←解開壓縮檔
[root@free src]# cd apache_1.3.29 ←切換到解開的 
                                    apache_1.3.29 目錄
[root@free apache_1.3.29]# ./configure ←產生組態設定檔
[root@free apache_1.3.29]# make ←編譯 Apache
================================================

編譯完成後, 先將 Apache 安裝在本機上:

================================================
[root@free apache_1.3.29]# make install
================================================

此時請執行下列指令啟動 Apache, 測試看看是否安裝
成功:

================================================
[root@free root]# /usr/local/apache/bin/apachectl start ←啟動 
                                                        Apache
/usr/local/apache/bin/apachectl start: httpd started
[root@free root]# ps h -C httpd ←使用 ps 指令尋找 httpd 是否
                                  正確執行 
17293 ?	S	0:00/usr/local/apache/bin/httpd ┐
17294 ?	S	0:00/usr/local/apache/bin/httpd │
17295 ?	S	0:00/usr/local/apache/bin/httpd ├ httpd
17296 ?	S	0:00/usr/local/apache/bin/httpd │ 已經
17297 ?	S	0:00/usr/local/apache/bin/httpd │ 執行
17298 ?	S	0:00/usr/local/apache/bin/httpd ┘
================================================ 

確認安裝無誤後, 便可以進行軟體派送。由於 Apache 
將所有執行檔與設定檔放在 /usr/local/apache, 所以
只要將這個目錄複製到所有主機上即可:

================================================
[root@free root]# dscp -rp /usr/local/apache []:/usr/local
                     			     ↑
		 將 /usr/local/apache 複製到遠端主機
[root@free root]# dssh ls /usr/local/apache
		          ↑
		 檢查看看 Apache 目錄是否已正確安裝

root@web2 bin   ──┐  
root@web2 cgi-bin   │	
root@web2 conf      │
root@web2 htdocs    │   遠端主機皆已安
...                 ├─ 裝 Apache 的執
root@web1 bin       │   行檔與設定檔
root@web1 cgi-bin   │
root@web1 conf      │
root@web1 htdocs  ─┘
...
================================================

確定複製成功後, 便可以執行下面指令啟動 Apache:

================================================
[root@free root]# dssh /usr/local/apache/bin/apachectl start
                                                      ↑
                       啟動所有遠端主機上的 Apache 伺服程序
root@web1 /usr/local/apache/bin/apachectl start: httpd started
root@web2 /usr/local/apache/bin/apachectl start: httpd started
[root@free root]# dps|grep httpd ←檢查遠端主機上的 httpd 是否
                                   正確執行
root@web1 19800 ?        00:00:00 httpd
root@web2 10315 ?        00:00:00 httpd
================================================

將發行版的軟體套件直接派送到各個主機

如果全部主機不只作業系統相同, 連發行版與版本都一樣, 便可以直接將發行版的軟體 套件派送到各個主機, 然後進行安裝。例如筆者要在所有主機安裝 Fedora Core 1 的 httpd 套件, 只需要執行下列指令即可:

[root@free root]# dscp httpd-2.0.47-10.i386.rpm []:/tmp ← 將 http 套件複製到遠端機

[root@free root]# dssh rpm -ivh /tmp/httpd-2.0.47-10.i386.rpm在遠端主機使用 rpm 指令安裝 httd 套件

如果您管理的主機並非使用同一個作業系統, 或是軟 體安裝的目錄很複雜, 不像剛才安裝的 Apache 全部 檔案都在同一個目錄, 此時只要該軟體在所有 Unix 或 Unix 類似系統的安裝步驟相同, 便可以直接將原 始檔派送到所有主機之後, 再進行編譯與安裝。 筆者依舊以 Apache 為例, 為您解說複製原始檔到遠 端主機後, 如何在遠端編譯軟體。首先需要建立編譯 軟體的指令稿, 請使用文書編輯器在 /usr/local/sb in 目錄下建立檔名為 buildapache 的新檔案, 內容 如下: ================================================ #!/bin/sh cd /usr/local/src tar zxf apache_1.3.29.tar.gz cd apache_1.3.29 ./configure >/dev/null make >/dev/null make install >/dev/null ================================================ 也許您已經注意到了, 這個指令稿的內容便是剛才在本 機編譯 Apache 的指令。我們將這些指令集合在指令稿 中, 等會兒一起派送到遠端主機上, 便可以使用這個指 令稿幫助我們編譯軟體。因此當在安裝軟體之前, 建議 您先在本機試裝, 確定成功後, 將所有步驟紀錄下來成 為指令稿。 接著請執行 chmod +x /usr/local/sbin/buildapache 指令將這個檔案設定為可執行, 然後如下操作, 將原始 檔與指令稿派送到所有遠端主機: ================================================ [root@free root]# dscp /usr/local/src/apache_1.3.29.tar.gz []: /usr/local/src/ ←將原始檔複製到遠端主機 [root@free root]# dscp /usr/local/sbin/buildapache []:/usr /local/sbin/ ← 將指令稿複製到遠端主機 [root@free root]# dssh ls /usr/local/src/ ←查看遠端主機的 /usr/local/src/目錄,檢查原始檔是否已正確複製 root@web1 apache_1.3.29.tar.gz ─┐ root@web2 apache_1.3.29.tar.gz ─┴ 原始檔已經複製到遠端主機了 [root@free root]# dssh ls /usr/local/sbin/buildapache ←┐ 查看遠端主機 /usr/local/sbin/ 目錄下的 buildapache 檔 ┘ ,確認指令稿是否已正確複製 root@web2 /usr/local/sbin/buildapache ┐ root@web1 /usr/local/sbin/buildapache ┴ 指令稿已複製到遠端主機 ================================================ 確認複製成功後, 便可以進行編譯了, 請執行下面指令 編譯 Apache: ================================================ [root@free root]# dssh /usr/local/sbin/buildapache ================================================ 如果某一台主機編譯時發生錯誤訊息, 則只好使用 SSH 登入該主機, 針對錯誤修改編譯指令稿, 或是進行手動 編譯與安裝。所有主機上安裝完成後, 請如下啟動遠端 主機上的 Apache: ================================================ [root@free root]# dssh /usr/local/apache/bin/apachectl start ↑ 啟動遠端主機的 Apache root@web1 /usr/local/apache/bin/apachectl start: httpd started root@web2 /usr/local/apache/bin/apachectl start: httpd started [root@free root]# dps|grep httpd ←檢查遠端主機上的 httpd 是否 正常執行 root@web1 9820 ? 00:00:00 httpd ┐ root@web2 19315 ? 00:00:00 httpd ┴ httpd 已經執行 ================================================
--- 本篇完

 
  • 這本書還有以下內容哦:
    • 中央控管 Linux 主機帳號 ─ NIS
    • 增進主機執行效率
    • 製作流量、負載、使用人數統計表 ─ MRTG
    • 監控同仁所瀏覽的網站 ─ iptables + Proxy + SARG
    • 偵測當機的中央警報系統 ─ Nagios
欲知詳情請參考:
 
F499 Linux 網路管理實務-調校、帳號、監控、安全
         我要買這本書
........................................ ........................................
我想索取前幾期的電子報  

好書能增進知識、提高學習效率
卓越的品質是旗標的信念與堅持

歡迎光臨旗標網站 - http://www.flag.com.tw


版權所有人:旗標出版股份有限公司
本電子報內容未經授權請勿轉載