18
【編者按】本文作者啟明星辰VP shotgun,為雷鋒網讀者獨家撰文分析:為什么盜版軟件經常會不穩定?死機藍屏或者是功能不正常?

盜版軟件經常不穩定是一個事實,原因很復雜,筆者嘗試著從多個方面對其進行分析。
1、盜版者破解正版軟件的方法與其他軟件發生了沖突。
一般對正版軟件的破解如果能夠制作出注冊機keygen,那么算是比較完美的破解方式。
此時的主要風險是注冊機本身是否帶毒,特別是有些注冊機要求必須在本機以管理員權限執行(因為需要取得硬件信息),所以不能用虛擬機運行去防范風險。但制作注冊機要求對該軟件的注冊模式十分清楚,而且破解了注冊碼的加密算法,有些軟件因為加密強度或者是防盜版方式不同的原因,是沒有辦法采取這種方式的。
第二種常見的方式是直接修改目標軟件的二進制文件。
最簡單的是目標軟件采用驗證注冊碼的模式,這時只需要把之后的跳轉語句從類似JNZ修改為JZ,或者直接JMP(修改了判斷注冊碼是否為真的條件,相當于把“如果注冊碼正確則跳轉”修改為“如果注冊碼錯誤則跳轉”或者“不管如何都跳轉”)。這樣的破解,并不會增加被破解軟件的不穩定性。

但是因為技術對抗的原因,現在的正版軟件并不會給你一個簡單的條件判斷,而是會利用一些隱藏邏輯在多次多處進行判斷,甚至有些是隱含在業務邏輯中的,此時貿然修改其中的一部分邏輯,很容易導致程序在某些特定情況下發生不可預測的后果。例如,雖然跳過了注冊碼驗證部分,但是注冊碼內含了某個業務參數,盜版軟件的這個參數變成了零或者隨機數,在需要這個參數的業務模塊,軟件可能會出錯甚至崩潰。此時,盜版軟件不穩定的主要癥狀包括:計算錯誤、隨機崩潰等。
由于對抗反編譯技術越來越成熟,直接修改目標軟件的二進制文件有時會是非常巨大的工作量,因此第三種常見的模式是制作loader(加載器),并且在內存中實時監控修改關鍵的參數(源二進制文件無論如何加密混淆,送到操作系統執行的時候必須解密,操作系統才能識別),而這種方式是更加不穩定的,因為加載器可能會使用到一些底層的技術對內存進行修改,從而實現截獲修改特定參數的功能,這些底層技術功能很有可能與目標軟件或者系統內的其他軟件(特別是安全防護軟件)發生沖突,導致整個系統不穩定。此時盜版軟件不穩定的癥狀會更加嚴重,例如會導致系統藍屏、崩潰甚至無法啟動。


2、盜版軟件自身帶毒。
破解軟件,特別是破解通用軟件本身并不能盈利,但是圍繞軟件破解,有完整的黑色與灰色產業鏈,其中就有利用流行盜版軟件進行掛馬盜號等惡意行為。無論是注冊機還是直接破解的盜版軟件,都有可能被第三方嵌入惡意代碼,對盜版使用者的機器進行入侵,盜竊賬號、密碼、隱私、資金等,其中一個副作用就是這些惡意代碼為了繞過防病毒軟件的檢測,很可能會使用一些導致系統不穩定的技術。

也有一些惡意軟件本身就是為了竊取被攻擊者的計算資源,進行比特幣挖礦、密碼破解、分布式拒絕服務攻擊等行為,這些也都會導致盜版使用者的電腦不穩定或者運行速度下降。
此時盜版軟件的不穩定癥狀主要有:計算機速度變慢、筆記本過熱、風扇速度加快、內存消耗過大、網絡速度變慢等等。
3、正版軟件防盜版措施中針對盜版進行了穩定性限制。
部分正版軟件,特別是一些價格昂貴的行業軟件,有可能會針對盜版進行穩定性或者功能限制,即:檢測到盜版后,并不立即退出,而是隨機的崩潰或者功能出錯,這樣可以讓使用者逐漸厭倦使用盜版,而去購買正版軟件。此時盜版軟件的主要癥狀是:特定功能不能使用,或者隨機退出。
4、盜版軟件缺少充分的兼容性測試,可能會引發其他軟件的bug。
大家知道其實整個計算機環境是有大量充滿著bug的軟件共同構成的,之所以正版環境我們看起來還算穩定,并非是因為軟件本身沒有bug,而是因為這些常用的正版軟件間經過了大量的測試和調整。在大多數情況下不會發生沖突,而盜版軟件很難具備同樣的條件,其他軟件既不會投入精力與盜版軟件進行兼容性測試和調整,也不會協助盜版軟件建立測試環境,或者調試bug,盜版軟件之間就更加容易發生沖突(可能會采用類似的破解技術)。
有的時候正版軟件發現了已知的bug后能夠通過自動升級等方式修復這些不穩定的因素,但是盜版軟件是沒有售后服務的,用戶也只能繼續使用著不穩定或者存在安全漏洞的低版本。
在這種情況下,使用盜版軟件的計算機不僅不穩定,也很容易成為攻擊者的目標,被植入木馬后門病毒等等,甚至有可能導致銀行賬號被盜。
綜上,由于盜版軟件實際上有很大的可能會往系統或者軟件內部插入一段沒有經過充分測試的代碼,而且這段代碼的權限還頗高,操作也比較危險,因此,有相當的可能性會導致軟件或者系統不穩定。
5、心理作用。
不可否認的是,大家覺得盜版軟件不穩定,除了上述的原因外,也存在著心理作用的因素,當一臺計算機不穩定時,如果我們找不到原因,會更加傾向于懷疑盜版軟件而不是正版軟件。
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。