本來(lái)認(rèn)為混淆是個(gè)十分簡(jiǎn)單的事情,搞個(gè)工具隨便執(zhí)行下就OK了,今天要混淆的小程序才知道完全不是怎么回事,嗨E文太差,搞了半天終于弄明白了,貼出來(lái)大家不要笑話我啊,留個(gè)備忘主要.
下載地址http://proguard.sourceforge.net/
主要3個(gè)jar文件proguard.jar,proguardgui.jar,retrace.jar第一個(gè)是核心程序,第二個(gè)是界面(可選的),第三個(gè)不知道呵呵應(yīng)該也是可選的,看名字分析似乎是反混淆,個(gè)人認(rèn)為沒什么用暫時(shí).
混淆jar包的方式有兩種
1.使用GUI程序,
第一個(gè)頁(yè)簽可加載也有的配置文件
第二個(gè)頁(yè)簽(input/output),指定帶混淆的jar和目標(biāo)路徑,以及依賴,注意要添加全部依賴,包括rt.jar
第三個(gè)頁(yè)簽(shrinking)壓縮代碼,幫助你刪除一些,沒有使用的代碼,默認(rèn)勾選了保留數(shù)據(jù)庫(kù)驅(qū)動(dòng)和swing等選項(xiàng)
第四個(gè)頁(yè)簽(Obfuscator)混淆是很關(guān)鍵的配置 不建議勾選use mixed-case class names,傳說(shuō)文件多時(shí)會(huì)有覆蓋情況,我沒發(fā)現(xiàn)不過(guò),我覺得本來(lái)也不需要勾選
第五個(gè)頁(yè)簽(Optimization)性能優(yōu)化,優(yōu)化一些代碼,個(gè)人認(rèn)為這個(gè)就沒必要了,小程序而已.使用1.4的jre打開Proguard時(shí),這里不能勾keep enumerations.這個(gè)功能最容易導(dǎo)致混淆后的程序出錯(cuò).
第六個(gè)頁(yè)簽建議保留默認(rèn)否則混淆時(shí)會(huì)報(bào)錯(cuò)的
第七個(gè)頁(yè)簽執(zhí)行混淆操作,還可以在這里保存配置文件
2.使用ant腳本,非常簡(jiǎn)單,而且執(zhí)行起來(lái)很快,比使用gui快
建議使用gui配置ant執(zhí)行.
配置中很多usage的地方,其實(shí)就是指定混淆單詞的來(lái)源比如使用,克林頓演講稿中的詞匯作為.
配置文件我就不貼了沒什么意義,Gui生成后一看就知道什么意思了.
聯(lián)系客服