国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java的破解和反破解之道

2019-11-18 15:47:18
字體:
供稿:網(wǎng)友

  java字節(jié)碼能夠很輕易被反編譯大家都曉得啦,今天下午我為了得到一個(gè)心儀已久的jbuilder opentools(昨天1.0 Released,新鮮出爐!但只能用14天,這怎么行,于是我不惜放下其他工作,研究了一把該軟件加密方法的破解和反破解,結(jié)合以前的一些經(jīng)驗(yàn),作文一篇與大家共饗,并不是鼓勵(lì)大家......

  破解之道:


(圖片較大,請(qǐng)拉動(dòng)滾動(dòng)條觀看)

  對(duì)一些提供license.key(包含授權(quán)信息的加密文件)的軟件,一般這種文件會(huì)采用DES,RAS和CRC校驗(yàn)而且一般是二進(jìn)制的(即使有時(shí)輸出成BASE64編碼),直接修改文件是浪費(fèi)時(shí)間的,你可以先反編譯通過閱讀源程序來探究解密過程,假如過程是可逆的,那么你自己實(shí)現(xiàn)一個(gè)加密過程,可以很輕易的生成你自己想要的license key;假如過程不可逆也不是就搞不定了,有些強(qiáng)度不大的加密算法還是可以用暴力破解法來搞定,還有一種情況是對(duì)數(shù)字加密(一般指過期時(shí)間)假如你能修改這個(gè)過期時(shí)間那么你就可以多用一會(huì)兒了,用數(shù)學(xué)方法描述一下:

  假設(shè)集合 X 是明文包含的元素集合,Y是X經(jīng)過算法后的映射,包含密文元素,,假如有存在兩個(gè)算法A和B,能使得{ Y -A-> X } = { Y -B-> X },A算法可逆,但B算法是不可逆的,生產(chǎn)方用A的逆算法加密授權(quán)信息(X:String) 到(Y:byte[]),并在軟件中用B算法解密,這樣你就搞不定了,但假如集合X的元素是有限的,假設(shè)只有0-9 (new Date().getTime()格式),那么算法B就稱為不可逆但不可靠的,因?yàn)槟阃ㄟ^一個(gè)樣本(一般都會(huì)給你評(píng)價(jià)版的license啦!),是可以得到某些Y集合中元素在X集合中的逆映射的,這樣你可以直接用這張映射表來修改license了...

  反破解之道

  假如是做產(chǎn)品或提供演示程序,加密還是有好處的,加密的軟件可以用上面提到的JODE,一般都是對(duì)編譯好的class文件進(jìn)行擾亂,因?yàn)椴⒉皇撬械姆?hào)都需要擾亂,假如你開發(fā)的是一個(gè)類庫,或者某些類需要?jiǎng)討B(tài)裝載,那些公共API就必須保留符號(hào)不變,這樣別人才能使用你的類庫。先編寫腳本對(duì)那些需要保留的符號(hào)名稱進(jìn)行配置,某些擾亂器能夠調(diào)整字節(jié)碼的順序,使反編譯更加困難。假如你用的代碼擾亂器能保證別人不能通過反編譯來修改或代替你的class,那么你還得注重不要用不可靠的加密算法。我自己寫了一個(gè)不可逆且可靠的算法,正在申請(qǐng)專利中....進(jìn)入討論組討論。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉义市| 寿宁县| 阜南县| 六安市| 呼玛县| 新乡县| 邓州市| 辽宁省| 衡阳市| 西乡县| 安阳市| 双峰县| 卓尼县| 连云港市| 西畴县| 渭南市| 沙雅县| 鸡西市| 南郑县| 达州市| 宁陕县| 上蔡县| 鹿泉市| 方山县| 乃东县| 洪泽县| 永善县| 昭苏县| 通州区| 金堂县| 连城县| 简阳市| 太保市| 子长县| 东乡族自治县| 合川市| 桓台县| 潞西市| 安国市| 德安县| 德江县|