關(guān)于DotNet保護(hù)中字符串加密的技術(shù)
總體上字符串加密可以分為兩類, 第一類是混淆保護(hù)中的字符串加密技術(shù)。第二類就是加密殼中的字符串加密技術(shù)。
第一類,加密實(shí)現(xiàn)大致如下。
加密前:
加密后:
簡(jiǎn)單的說就是將原來使用字符串的地方,將直接使用字符串改為間接使用字符串。在這里保護(hù)軟件將字符串 "Hellow World!" 進(jìn)行加密 得到結(jié)果 "A34579dfbbeyu346563345/=="。 Helper.Decode 是保護(hù)軟件提供的一個(gè)解密函數(shù),它實(shí)現(xiàn)將 "A34579dfbbeyu346563345/==" 還原為 "Hellow World!" 。
因?yàn)槭腔煜Wo(hù),所以我們可以分析得到 Decode 的代碼。然后直接用這個(gè)函數(shù)的代碼寫一個(gè)小工具將程序集中所有加密的字符串都還原。生成一個(gè)字符串對(duì)應(yīng)表。以方便代碼閱讀和調(diào)試。
加密前:
加密后:
怎么還原,其實(shí)很簡(jiǎn)單,我們已經(jīng)知道了decode的代碼,而且已經(jīng)能實(shí)現(xiàn)字符串的解密了。得到了字符串的對(duì)應(yīng)表。
直接將
替換為
即可。寫一個(gè)小工具使用正則表達(dá)式搜索替換就可以了。
第二類字符串加密保護(hù):實(shí)現(xiàn)就是直接對(duì)元數(shù)據(jù)中的String流進(jìn)行加密。
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。







