軟件是如何被“破解”的?開發者可以阻止破解版的產生嗎?

只為__的杜雯潔


軟件破解基本上都是通過反編譯的方式實現的

一、反編譯原理

軟件都是通過編程語言編寫而成,然後再編譯成機器語言發佈出來,就是我們日常使用的軟件了,這種叫做正向編譯,有的人肯定會想,既然有正向編譯,是不是還有反向編譯?沒錯,由於正向編譯都是有規律可尋的,市面上就出現了針對各種編程語言的反編譯器,可以將軟件反編譯成可讀的編程語言,然後再查看軟件加密方式和原理進行針對性破解

二、完全破解

大多數軟件都是通過註冊碼來激活的,完全破解方式就是,將軟件反編譯出來後,調試查看該軟件的註冊碼生成和驗證激活方式,再寫個相同的工具生成相同原理格式的註冊碼,即可完全激活該軟件,基本上跟正版的激活碼沒有區別,還能正常升級。

三、補丁破解

由於目前加密方式越來越先進難以破解甚至無法破解,如md5加密是不可逆的,這種很難做到完全破解,只能另外想辦法,把整個加密文件給替點,繞過其正版檢驗的邏輯,從而達到破解的目的,但是無法跟正版一起升級。

四、軟件一旦被破解,在軟件不聯網的情況下很難阻止破解,現在很多軟件商為了防止盜版軟件,採取了聯網檢驗的方式,軟件使用過程中必須要時刻保持聯網狀態,不定時的進行正版驗證。或者採用更先進的加密方式,防止破解。


奇趣軟件


道高一尺魔高兩丈,微軟牛吧,那怎麼大家還能用上盜版的windows?所以想阻止破解就算了。破解的思路樓下已經說清楚了,反編譯,照軟件的規則做個註冊碼或者乾脆繞過註冊碼校驗這一步。

現在的情況就是這樣,只要能賺錢的點子,立即就會有人跟進,做個網站有人抄襲,做個軟件有人破解,想靠一碗飯一直吃下去是不可能了,得天天都跑在前面才有飯吃。


五四瘋哥


軟件的破解屬於正常流程的反向過程,破解軟件主要目的在於如何最大程度的獲取利益,而且大部分的破解軟件都和正版收費有一定的關聯,破解軟件之所以有如此大的市場就是因為強烈的市場需求,特別是在國內範圍很多國外的軟件只要發現有收費的行為,立即尋找破解版而且基本上都能找到,這是破解市場如此火熱的主要原因。

作為軟件的開發者難道就對破解沒有任何的辦法?很明顯答案是否定的,為了防止軟件被破解,會在軟件的外圍增加一層殼,這就是軟件的加殼保護機制,就是為了防止軟件被暴力破解,只是加殼技術並不能萬事大吉,很多人專門研究跳過殼子的辦法,當然很多軟件由於在設計上並不嚴謹可能通過簡單的技巧繞過登錄就可以輕鬆地操控軟件,除了很厲害的加殼技術保障之外要有嚴謹的設計理念,避免出現一些低價的錯誤。

只是通過加殼技術很難軟件不被破解,於是程序員專門設置一種暗樁,隨機的修改驗證的key,而且沒有任何規律的驗證,這種情況很難總結軟件的運行規律,讓破解者自行退去 ,這種方式在很多軟件設計中都存在,程序員的寫法也是千差萬別,不同程序員對於暗樁的設計取決於程序員本身對於應用場景的理解。

當然為了進一步提升軟件的安全性能,很多軟件的操作都上傳到雲服務器上處理,保證數據過程中不被破解,這種方式已經越來越多被很多企業所認同,雲計算在未來軟件架構中的作用越來越強,不僅僅在數據安全方面,雲服務器在數據處理方面也有獨特的優勢。

不同企業對於軟件破解的理解也不相同,很多 企業軟件的破解版本就是公司研發人員專門製作的,包括強大的微軟公司對於盜版也是睜一隻眼閉一隻眼,目的很明確就是為了讓產品流傳的更加久遠一些,幾乎對所有的個人用戶採取置之不理的情況,典型的養羊策略具體收割賺錢完全靠企業用戶,對於中小企業幾乎也採用置之不理狀態,一旦企業上市微軟的法務部門就開始發函詢問了,微軟Windows系統大部分收益來源就是這種方式,當然還有一部分靠著微軟的文字處理軟件全家桶來獲取收益,Windows在短時間內很難有人能夠撼動,通過盜版軟件方式已經把系統推廣到了全世界,雖然中間有Linux的衝擊,但是出發點不一樣幾乎沒有什麼大的影響。

防止軟件被破解屬於軟件安全模塊的功能,很難做到百分百的防禦,只能最大程度的規避,不規範的代碼寫作習慣也會引起軟件被破解,越是架構合理代碼嚴謹的代碼軟件被攻破的成本也會加倍的增長,程序員平時也要反覆得修整自己寫過的代碼,優秀的代碼很多都是修改出來的,很少有代碼一次性就搞定的,即使存在概率也會非常低,希望能幫到你。


大學生編程指南


程序是一步一步執行的,比如最簡單的流程

用戶輸入的註冊碼和正確的註冊碼對比,對的話就提示註冊成功,並執行第三步,錯的話就提示註冊失敗

可以通過反編譯 把判斷註冊碼那關鍵跳,直接跳到正確那裡!

正常流程:

1,判斷

2,正確就執行第3步,錯誤就跳到4步

3,註冊碼正確

4,註冊碼錯誤

被破解後的流程

1,判斷

2,不管錯對直接執行第3步

3,註冊碼正確

4,註冊碼錯誤


8090影視遊戲


軟件網站的破解主要是兩個方法:1、反編譯,也是最主要的破解方式。通過反編譯知道代碼邏輯,偽造參數

2、接口,開發人員故意留了後臺可以進入系統,這種在目前,並不多見,被公司發現,是可以起訴,判刑的。因為軟件都有知識產權

其實還有一種,像視頻vip的破解,這種其實並不算破解,是能算是換了種實現方法,比如將視頻收集好,放在網盤裡,然後用戶指定哪個電視劇的第幾集,然後播放


珏170686943


在本機執行的程序,原理上說,沒有絕對不可破解的,開發者防止不了這個。花費精力防破解,可以說是徒勞,最多是延緩破解的時間,在被破解之前趕快撈一筆。破解的時間,視乎軟件的使用價值,即破解者是否看中了你。那些號稱“安全”的軟件,包括什麼操作系統,都一樣,吹哪個系統夠安全,說這種話的要麼自己從來不寫程序,要麼是存心欺騙。

開發者要保護自己的軟件,最有效的方法是持續維護,靠服務延續軟件生命期和保住用戶,破解者不會提供服務,因為划不來,而服務的價值在數據,持續投入勞動,才能增值。保程序沒用的,保數據!


TonyDeng


最近的軟件都是基於網絡服務器的了,要破解你需要入侵服務器。因為網絡普及度高了,而還提供不聯網的軟件可能就是因為保密或者工控軟件,將軟件某部分關鍵處理步驟放到服務器上就可以讓破解困難的多。


分享到:


相關文章: