新聞中心
背景:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了薩迦免費(fèi)建站歡迎大家使用!
在推廣產(chǎn)品時(shí)經(jīng)常需要搭建演示環(huán)境,而每次都需要經(jīng)過(guò)繁瑣的序列號(hào)申請(qǐng)過(guò)程,很是麻煩。尤其是在著急確認(rèn)某功能時(shí),越是著急越容易出問(wèn)題,經(jīng)常需要發(fā)送好幾遍序列號(hào)。我實(shí)在受不了這種折騰,就想弄個(gè)產(chǎn)品演示版本,遠(yuǎn)離繁雜耗時(shí)的lic申請(qǐng)。
目的:
破解產(chǎn)品序列號(hào)限制,不影響產(chǎn)品正常使用。
條件:
無(wú)產(chǎn)品源代碼;已知產(chǎn)品使用.Net 4.0開(kāi)發(fā);已知正常序列號(hào)為一加密文件;
工具:
.Net Refletor、UE、IDA.Pro.Advanced.v6.1、MSIL微軟中間語(yǔ)言
推薦一篇文章
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 由淺入深認(rèn)識(shí)CIL的基本構(gòu)成+CIL操作碼速記表+CIL操作碼大全速查(二)
方法步驟:
首先,通過(guò)reflector找到與序列號(hào)相關(guān)的程序代碼,這個(gè)比較好達(dá)到,明顯的標(biāo)志licenseValidate類;
第二,分析license驗(yàn)證機(jī)制,尋找突破口。驗(yàn)證流程為讀取加密lic文件,解密文件,通過(guò)RSA算法進(jìn)行序列號(hào)校驗(yàn),根據(jù)校驗(yàn)結(jié)果返回驗(yàn)證結(jié)果。這個(gè)校驗(yàn)還是比較糙的,我們可以直接對(duì)校驗(yàn)結(jié)果的返回值進(jìn)行patch,也就是不管驗(yàn)證結(jié)果是否正確,都返回true,這樣就繞開(kāi)序列號(hào)限制了。
第三,使用IDA打開(kāi)待破解的文件,按照在reflector看到的方法名進(jìn)行定位,IDA中提供圖形化界面及對(duì)應(yīng)的16進(jìn)制聯(lián)動(dòng)功能,可以很方便的幫我們定位到需要修改的16進(jìn)制地址。IDA中顯示的是IL文件格式,我們通過(guò)走讀可以找到最終校驗(yàn)返回的代碼位置,就是將返回false的地方修改為返回true。這個(gè)地方需要使用《CIL操作碼速記表+CIL操作碼大全速查》,以便于我們理解程序。
第四,使用UE打開(kāi)待修改文件,定位到我們要修改的位置,可以按照每行的16進(jìn)制地址號(hào)定位,我們需要返回false對(duì)應(yīng)的中間語(yǔ)言部分ldc.i4.0修改為ldc.i4.1,對(duì)應(yīng)到hex模式下就是將ldc.i4.0對(duì)應(yīng)的操作碼為16,修改為ldc.i4.1對(duì)應(yīng)的操作碼為17。
第四,修改完成后直接保存,測(cè)試程序是否可正常運(yùn)行。
感悟:
對(duì)于.net代碼需要在編譯時(shí)進(jìn)行混淆或加殼防護(hù),對(duì)序列號(hào)的校驗(yàn)應(yīng)該增強(qiáng)校驗(yàn)方式。
當(dāng)前文章:那些年干過(guò)的事(三)—系統(tǒng)序列號(hào)破解與防護(hù)
文章地址:http://www.dlmjj.cn/article/jihgdd.html