溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

那些年干過的事(三)—系統(tǒng)序列號破解與防護

發(fā)布時間:2020-07-29 13:48:18 來源:網絡 閱讀:342 作者:山東大蔥哥 欄目:安全技術

背景:

在推廣產品時經常需要搭建演示環(huán)境,而每次都需要經過繁瑣的序列號申請過程,很是麻煩。尤其是在著急確認某功能時,越是著急越容易出問題,經常需要發(fā)送好幾遍序列號。我實在受不了這種折騰,就想弄個產品演示版本,遠離繁雜耗時的lic申請。

目的:

破解產品序列號限制,不影響產品正常使用。

條件:

無產品源代碼;已知產品使用.Net 4.0開發(fā);已知正常序列號為一加密文件;

工具:

.Net Refletor、UE、IDA.Pro.Advanced.v6.1、MSIL微軟中間語言

推薦一篇文章

http://www.topzs.com/tech-box/you_qian_ru_shen_ren_shi_cil_de_ji_ben_gou_cheng_cil_cao_zuo_ma_su_ji_biao_cil_cao_zuo_ma_da_quan_su 由淺入深認識CIL的基本構成+CIL操作碼速記表+CIL操作碼大全速查(二)

方法步驟:

首先,通過reflector找到與序列號相關的程序代碼,這個比較好達到,明顯的標志licenseValidate類;

第二,分析license驗證機制,尋找突破口。驗證流程為讀取加密lic文件,解密文件,通過RSA算法進行序列號校驗,根據校驗結果返回驗證結果。這個校驗還是比較糙的,我們可以直接對校驗結果的返回值進行patch,也就是不管驗證結果是否正確,都返回true,這樣就繞開序列號限制了。

第三,使用IDA打開待破解的文件,按照在reflector看到的方法名進行定位,IDA中提供圖形化界面及對應的16進制聯動功能,可以很方便的幫我們定位到需要修改的16進制地址。IDA中顯示的是IL文件格式,我們通過走讀可以找到最終校驗返回的代碼位置,就是將返回false的地方修改為返回true。這個地方需要使用《CIL操作碼速記表+CIL操作碼大全速查》,以便于我們理解程序。

第四,使用UE打開待修改文件,定位到我們要修改的位置,可以按照每行的16進制地址號定位,我們需要返回false對應的中間語言部分ldc.i4.0修改為ldc.i4.1,對應到hex模式下就是將ldc.i4.0對應的操作碼為16,修改為ldc.i4.1對應的操作碼為17。

第四,修改完成后直接保存,測試程序是否可正常運行。

感悟:

對于.net代碼需要在編譯時進行混淆或加殼防護,對序列號的校驗應該增強校驗方式。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI