所謂的盜版不穩定有何依據?為什麼不穩定?體現在哪裡?

如題,總會聽到有人說什麼盜版不穩定之類的話,覺得毫無根據。


盜版破解時使用的一些技術手段,是有可能導致系統更加不穩定的。

簡單說就是防盜版的技術措施和盜版的破解措施進行技術對抗時,如果破解不完全,或者破解時採用的技術不穩定,是會導致被破解的軟體運行不穩定,特別是容易與防病毒或者加密類的產品發生衝突,畢竟這些使用了系統底層技術的安全軟體不會特意去和盜版軟體做兼容性測試。

之前我們發布的一些信息安全軟體與盜版的CAD、PS軟體等都很容易發生衝突,而由於盜版的版本太多,且盜版使用者並非我們的主要目標用戶,最重要的是盜版使用者出現軟體故障我們的責任幾乎為零,所以對這些衝突的測試覆蓋率一直並不高,結果就是使用盜版者容易發生崩潰或藍屏。

此外也有少量的軟體故意使用了「破解陷阱」,即在進行破解對抗時,並不直接返回錯誤信息而是通過低概率崩潰事件損害破解版本的口碑,當然個人認為這並非一種良好的反盜版策略。

至於說盜版軟體被打包了後門病毒導致整個系統變慢或者不穩定,也是蠻常見的現象,因為有專門的黑產來做這個。

詳細地舉幾個例子來說說:

一般對正版軟體的破解如果能夠製作出註冊機keygen,那麼算是比較完美的破解方式,此時的主要風險是註冊機本身是否帶毒,特別是有些註冊機要求必須在本機以管理員許可權執行(因為需要取得硬體信息),所以不能用虛擬機運行去防範風險。但製作註冊機要求對該軟體的註冊模式十分清楚,而且破解了註冊碼的加密演算法,有些軟體因為加密強度或者是防盜版方式不同的原因,是沒有辦法採取這種方式的。

第二種常見的方式是直接修改目標軟體的二進位文件,最簡單的是目標軟體採用驗證註冊碼的模式,這時只需要把之後的跳轉語句從類似JNZ修改為JZ,或者直接JMP(修改了判斷註冊碼是否為真的條件,類似於把「如果註冊碼正確則跳轉」修改為「如果註冊碼錯誤則跳轉」或者「不管如何都跳轉」),這樣的破解,並不會增加被破解軟體的不穩定性。但是因為技術對抗的原因,現在的正版軟體並不會給你一個簡單的條件判斷,而是會利用一些隱藏邏輯在多次多處進行判斷,甚至有些是隱含在業務邏輯中的,此時貿然修改其中的一部分邏輯,很容易導致程序在某些特定情況下發生不可預測的後果。例如,雖然跳過了註冊碼驗證部分,但是註冊碼內含了某個業務參數,盜版軟體的這個參數變成了零或者隨機數,在需要這個參數的業務模塊,軟體可能會出錯甚至崩潰。

由於對抗反編譯技術的越來越成熟,直接修改目標軟體的二進位文件有時會是非常巨大的工作量,因此第三種常見的模式是製作loader(載入器),並且在內存中實時監控修改關鍵的參數(源二進位文件無論如何加密混淆,送到操作系統執行的時候必須解密,操作系統才能識別),而這種方式是更加不穩定的,因為載入器可能會使用到一些底層的技術對內存進行修改,從而實現截獲修改特定參數的功能,這些底層技術功能很有可能與目標軟體或者系統內的其他軟體(特別是安全防護軟體)發生衝突,導致整個系統不穩定。

綜上,由於盜版軟體實際上有很大的可能會往系統或者軟體內部插入一段沒有經過充分測試的代碼(未能經過充分測試的具體原因可以參見 @沈萬馬 的回答 ),而且這段代碼的許可權還頗高,操作也比較危險,因此,導致軟體或者系統不穩定的可能性並不會太低。

註:以上的描述為了通俗易懂,略去了部分技術細節,實際的破解與反破解對抗要更加複雜,因此帶來的風險也是更加難以估算的。


大多數人都不是去自行破解,而是去下載別人破解玩的硬碟版,天知道裡面塞了多少木馬。


注意這裡只討論收費的軟體,包括正版時需要收費購買的軟體和免費使用但是收費升級或開啟功能的軟體。純免費軟體不在討論範圍內。

核心問題是,

正版軟體的最基本目標是讓你不想退貨

盜版軟體的最基本目標是讓你能用

這之間的差別就大了。

正版軟體就拚命要讓你用著穩定。你一次不穩定丟了幾十萬,你不找他們拚命么?盜版就無所謂,你能用已經省了好多錢了,你還來要求啥你有資格么?

正版軟體就不好意思插個木馬啥的。你用正版軟體他們想收集資料還得客客氣氣問你願意不願意給。盜版就無所謂,你能用了高興吧順便讓我也爽爽唄,你不干你有啥資格不幹?

正版軟體還拚命要保證你將來還得來花錢。你們用戶是不是要個新功能?我加上你看看好不好再給我點錢?盜版就無所謂,你都免費用了還指望我做更好?你有啥資格要求我再多費勁?

當然,並不是說盜版軟體就一定不想讓你用著完美,正版軟體就一定在意你這筆生意。盜版組織也有名聲高於一切原軟體有bug還幫著修的,正版也有賣你一筆就跑不管你將來死活的。但總體上拿人的手軟吃人的嘴軟,正版是要捧著你的,盜版是要利用你的,這是關鍵性的差異。


盜版windows打補丁稍微麻煩點,很多盜版用戶都沒自動更新,所以從統計角度看應該比正版的補丁更新率低-&>不穩定,比如我碰到過有人能中3年前的一個補丁的0day攻擊,這是見很無語的事情。

當然像裝了360自動打補丁的情況, 就可能是另一種不穩定了。。。


從正反兩個角度來說穩定性的問題

1、我們正經做軟體的,幾乎無時無刻不在跟缺陷和BUG做鬥爭。因為做好了有錢收,出了質量問題是要賠償+倒牌子的,隨便就是數百萬上千萬的金額出入。

2、做好了自己不算,還要做兼容性測試,包括OS兼容、資料庫兼容、各種中間件介面兼容、各種補丁兼容、各種運行環境兼容……自己不能出問題,也不能導致別人出問題,更不能被別人搞得出問題。有些系統,光兼容性測試就要做3個月起…

3、卧槽,發布版出缺陷了!怎麼辦?修改缺陷並不容易,那是一個殫精竭慮。並不是說找到缺陷位置改一下就好了,誰知道這個修改會不會導致新的缺陷呢?BUG越改越多的奇葩事情,業界每年總會聽說幾次的。

最直接的體現,就是出補丁可能很快,但為了驗證這個補丁是否穩定肯定需要很久。

4、盜版誰不煩啊,影響收入,反盜版的措施也大把。要是有心,多設計幾個觸發陷阱,部分行業甚至有直接讓系統down掉的。你說你要是遇到這事,做到一半的工作嗝屁了,甚至原始數據和材料都完蛋了,找誰說理去。

站在盜版組織的角度,說說他們的風險

1、最首要和主要的風險,就是法律風險啦,證據確鑿分分鐘坐牢的。

2、其次呢,是財務風險。辛苦半天沒收入也挺扯的是不,免費貢獻也不能餓死。

3、質量風險?這個主要出於競爭,也可以叫黑色商譽。但這種商譽壓力顯然沒有軟體公司壓力大,投入也就相當有限,基本維持軟體能跑即可。

4、實現方式?這就是不穩定的源頭了。

不同於常規軟體的從源碼開始編譯,盜版組織一般都是直接用二進位破解的方式做(註冊碼生成器這種就不討論了)。所謂二進位破解,簡單點說,就是強行修改、替換正版軟體的二進位代碼,要麼來個代碼跳轉直接旁路掉正版驗證部分的邏輯,要麼來個代碼替換直接返回個驗證OK的結果欺騙驗證模塊。看起來是不是毫無風險?

看起來破解很簡單,但是很多正版軟體也不甘心就這樣被搞定,會採用很多方法來對抗。

比如代碼混淆,讓破解者找不到正確的邏輯點從而難以對應修改;

比如多點驗證,讓破解者改不完所有的驗證代碼,漏一個就出問題;

比如聯機驗證,時不時就來檢查下自己的程序是不是被改過,發現了就罷工。

比如用加密狗,部分關鍵邏輯藏在加密狗里,是個黑盒,在二進位代碼中看不見。破解者如果不知道原始邏輯強行自己蒙,多半蒙錯。

開發者會犯錯,盜版破解的人也會犯錯,而且由於他是直接改二進位代碼的,稍微不小心就會改錯,比改源碼導致錯誤的幾率高多了。這個錯誤一般不會直接導致程序崩潰(否則他不好意思放出來,你也不會用),但很有可能打亂了程序運行的正常邏輯和數據,從而在不知道什麼時候來個error。

神馬?他知道這個軟體的所有邏輯所以絕不犯錯?還搞啥破解啊,直接做開發競爭賺錢就行了。

再八卦一下他們的收入,大家看個樂子,順便也了解一下自己怎麼被黑的。

很久以前呢,盜版是可以賣碟錢的,現在看起來還蠻簡單正常的循環,能從最重客戶那裡拿到收入,只是多了幾個環節。

後來呢,打擊太厲害,不能或者很難賣碟了,就改成網路化,做軟體站流量站,賣賣頁面廣告賺廣告費。到現在,很多站都是這個路子。到這裡都還好。

再後來呢,有些軟體站分化了,因為有黑產引誘他們。黑產需要肉雞,弄肉雞要麼直接進攻(太難或太慢),要麼就引誘它們吃毒餌(主動運行木馬軟體),最好的毒餌散布方式之一就是軟體站。在盜版軟體甚至免費軟體中嵌入木馬再發布…嗯,你懂的。

再後來,不僅僅是黑產這麼幹了,互聯網狂潮來了!但是千萬種軟體、站點和服務要推廣,競爭太激烈,總有人不規規矩矩來做推廣的,於是軟體站很happy地又有一部分跟推廣灰產聯手了,鬧得紛紛揚揚的軟體捆綁就是這麼來的。


我來說說一些盜版的行業軟體吧

我是做結構設計的,同行應該比較清楚,結構設計計算建模用的比較多的PKPM MIDAS等,畫圖用天正 CAD等。畫圖倒無所謂,盜版的天正 CAD等該有的功能都有,盜版的PKPM MIDAS也是該有的功能都有,但計算結果的準確性不能保證。話對用慣了計算機軟體而手工校核能力較差的人來說,如果結果出錯就是災難性的了,而結果的準確性是整個結構設計的根本(房子倒了可以去吃牢飯了)


盜版軟體不穩定有兩點:

1. 程序里可能有破解者沒有去掉的暗樁,比如我的程序里有個自校驗,每周一觸發,發現軟體被修改了就格你盤,破解者成功破解了軟體,但是他破解的時候暗樁沒有觸發,你下載下來用,到了周一,暗樁觸發,這就會引發未知後果,如果是不正規的小軟體外掛啥的,格你盤還真是可能的

2.你永遠也不知道破解者往程序里加了什麼料

綜上所述,自己動手,豐衣足食,少爆破多keygen


盜版並不會不穩定。因為一份軟體是否是盜版,取決於授權,而非運行的代碼。二十年前你用盜版的Win95和正版的一樣(不)穩定。

準確的說是破解版通常會不穩定,原因大概是這樣:

像上面提到Win95這樣的靠純序列號驗證的軟體幾乎銷聲匿跡了,軟體公司為了保證自己的利益當然要增加破解的難度,甚至把用於正版驗證的代碼和功能代碼部分耦合在一起。對軟體的破解行為並不是軟體本身設計的一部分,進行這種修改可能會影響原有代碼的執行。考慮到破解者通常沒有足夠的財力進行充分的測試,出問題的可能性就更大了。

海外很多破解都是以patch或者keygen的方式提供的,國內很多小白用戶更愛綠色破解漢化版,這個綠色破解漢化版,在製作的時候可是想夾什麼私貨就夾什麼的。

不過現在地球上還是存在CD Projekt RED這樣的公司,不做版權保護,沒有DRM。如果你真的沒錢,去下載了一份Witcher,其實不會有任何不穩定。但是你還是應該知道自己用了盜版,是欠了債的,有機會最好要還上。

結論:

1. 盜版不等於不穩定。

2. 破解版很可能會不穩定,沒準還帶木馬。


法律意義上的盜版和軟體意義上的盜版是兩個概念

如果是通過軟體破解來實現盜版的話確實會造成不穩定


無論需要不需要破解,從非官方渠道下載的程序都有可能綁一些東西。參見最近XCodeGhost。


不是還有一句老話:

您可能是正版軟體的受害者

至於cracker的節操問題,我們還是先來討論討論一小撮盜版用戶的節操問題吧。


作為一個政府部門人員,主要關注的還是法律意義上的盜版軟體導致的風險,因為一個軟體的崩潰導致的系統崩潰和數據丟失,進而業務停擺,其損失動輒是以萬計算,在一個推卸責任成為基本技能的時代,這種巨大的漏洞留著就是給自己脖子上套根繩子,屬於典型找死的行為,所以有時候政府和企業思路是不一樣的,企業思路是夠用就行,政府思路是寧可多花錢,也要保證不出錯,採購了最貴最好的設備和軟體,如果還出錯或者出事,至少可以說:你看,我已經用了最好的設備,還出了事,這已經不是我的責任了。而且,至少可以追究廠商的責任。


我們的軟體自己都容易寫crash,別人破解能有多大穩定性(逃


要是告訴你,盜版比正版穩定好用,你還買正版么?

上面說的都對,但是搞盜版的也有操守,也是技術活,但肯定有敗類。

好用的軟體你比如Microsoft Adobe的基本上都有盜版,沒聽說有什麼危險不穩定,但是你也別吃螃蟹,當年最開始的盜版都會有局限,等等1年,基本就穩定了。 你看看很多企業用的電腦都是盜版系統,沒啥不穩定的。

再有獲取盜版的來源也很重要。天知道他的破解程序加了什麼,也把好用的裝進去了。

還有說什麼設置邏輯檢測,有各種觸發條件,發現盜版就格式化硬碟,先不說他檢測程序是不是100%不錯誤,有一個正版客戶被格式化硬碟都跟你廠商玩命,硬碟都格式化了,人家拿出證據購買了正版,你廠商就得吃憋。

更何況當年江民的邏輯鎖問題,就算你反盜版你也不能破壞形象客戶用電腦。所以大廠商一般提示說可能是盜版受害者,讓你做一系列動作驗證正版,而不是鎖死電腦。誰鎖電腦人家就來一個我一秒鐘上下幾個億,怎麼賠償。

盜版成熟的一般都是重要的大型軟體,使用完全沒問題,破解也完美。小軟體,不是找不到破解就是破解不徹底,或者作者有惡意的保護檢測,或者程序本身有bug,作者也焦頭爛額,盜版也不好用。


盜版系統,用原版鏡像安裝,換法子打補丁,照樣沒問題。正版系統,裝完瞎折騰,亂改註冊表、裝360等全家桶,早晚要完。


這個問題很簡單

破解最基礎的原理和做法是

使用跟蹤器找到 這個軟體 檢查註冊的---程序塊

然後用彙編中的 jump 轉移功能跳過檢查塊

直接到檢查成功的區塊,或者開始運行的區塊

一般來說,破解者不知道是不是完美迴避了「重複檢查」

同時,破解者也不知道是不是激活了程序全部功能

同時,如果JNZ之類跳轉沒有空白地方寫,就要覆蓋一段已有的程序彙編代碼,這可能造成特定情況下的程序崩潰


盜版不一定全部不穩定,因為盜版和破解不在同一個維度上,破解也不一定全部不穩定,因為破解手段不同。

我看過的針對原版軟體(官方提供安裝包)的破解方式大概包括:註冊機(Keygen)、替換驗證文件、繞過在線驗證、指向本地驗證……

其中只有使用註冊機在離線情況下是能有和正版有一樣的使用體驗(此處使用體驗不包括任何在線功能和售後服務,下同)。可以使用註冊機破解的軟體一般在反盜版措施上只有本地激活這一道坎,驗證機制驗證邏輯都是放在本地的,破解出激活碼特徵和演算法就可以近乎無限制的激活盜版軟體。這時候對於軟體來說,使用者提供的激活碼是符合軟體製作之初設定的正版邏輯的,因此軟體本身會把你認定為正版用戶,提供完整功能。此法不損壞軟體本體,因此使用與正版相同。

替換驗證文件就是把未激活軟體的驗證結構替換為一個已經驗證激活的軟體的驗證文件,此時驗證機制驗證到「已激活」,進入軟體使用。此時替換的驗證文件不一定是單純的驗證功能,有可能損壞軟體本身的業務功能。這個過程中基本都是經驗總結該怎麼做,沒有官方的業務邏輯,只能認為是一種類似中醫的方法論,有效,但是副作用不明。

繞過在線驗證和指向本地驗證兩個破解方式是軟體商逐步引入在線驗證後慢慢產生的。在線驗證是軟體商自己存一份激活信息,激活時判斷用戶的激活信息和已售出使用權是否相符,激活或者換用其他方式激活等。

繞過在線驗證就是跳過驗證環節直接進入業務部分,此時可能涉及到對軟體的改寫和「短路」,後續業務中可能再次觸發驗證機制(例如更新)導致軟體報錯。例如一些對PS軟體的破解。

指向本地激活就是把電腦本身當做驗證伺服器。通過hosts文件和其他一些軟體把驗證伺服器指向本機,然後由軟體假裝成驗證伺服器返回成功激活的信息。這個方法實現各有不同,有破壞原軟體指向本地的也有用hosts指定驗證伺服器為127.0.0.1的。好像KMSpico是用的這個手法?

以上就是破解手段,有損壞軟體的破解也有不損壞軟體的破解,但有一個共同點就是全部基於官方提供的安裝包進行破解,和現在大部分小白使用的綠色版破解版是不同的。官方包的所有業務邏輯是為用戶服務,不存在第三方介入,可以說基於官方包的破解在系統環境中是完全安全的。而綠色版、破解版都是被二次封包提供給你,官方包到破解版的過程是完全不可控的!裡面可能帶有木馬,帶有XcodeGhost,帶有偽裝成軟體功能的上傳機制,任何一種都是對信息安全的極大威脅!


盜版軟體說哎呀那個木馬是破解的不能刪哦

你沒刪

天知道那個木馬究竟是幹啥的


盜版系統很多人都還在用ghost,ghost是被人修改過的不知道裡面裝了啥的,能比原版穩定?

第二種盜版系統是用kms一鍵激活的,這種軟體也是要往系統里注入程序的(正常情況下的kms不會報毒,但是軟體幾乎全部被wd攔截)被人注入了不知道啥東西的系統能比原版正版穩定?

再說遊戲,遊戲的破解(不含中文的一般還包括了漢化)都是要修改遊戲文件的,綠色版的還好,沒那麼容易中招,硬碟安裝版的,在安裝的時候修改一下註冊表你都不會知道,更別說那種需要裝完打漢化補丁的,這些除了相信發布者的良心之外能比正版穩定?

如果題主是盜版(根據提問語氣應該是八九不離十了)就不要給自己用盜版找一個心安理得的理由了,早日退盜入正吧


你說什麼?盜版軟體不穩定?育碧笑了


推薦閱讀:

一個對點滑鼠深惡痛絕的計算機學生有什麼出路?
你怎麼看 Windows 8 的「開始」菜單?

TAG:軟體 | MicrosoftWindows | 盜版 | 數字版權管理DRM |