這是jocky1.0.3 (原joc) java混淆器 去除jdk版本限制下載,不支持現(xiàn)在的1.6、1.7等更高版本,現(xiàn)在我把某部分限制代碼從class文件里面去除了,測試過可以用,更詳細的說明在壓縮包里面,希望有其他人能繼續(xù)完善后續(xù)工作,或希望能找到更好的混淆器...免分提供,請多叫些朋友下載幾次~~
jocky1.0.3 (原joc) java混淆器 去除jdk版本限制,研究了下jocky1.0.3的使用,發(fā)現(xiàn)編譯時提示引用類庫版本不對,搗弄了半個小時后終于理解,原來是我的jdk1.7版本過高,這貨是06年的版本,到現(xiàn)在都沒更新過,支持(限制)的最高版本是5.0(1.5),對應的類文件版本號是49....通過逆向編譯找了一個晚上,終于發(fā)現(xiàn)源代碼中一段關鍵判斷,但是又發(fā)現(xiàn)無法直接編譯修改過的源文件(引用的類太多..),今天早上尋找了下直接編輯class文件的方法,在同事幫助下把相應的字節(jié)碼段刪去了,導入回包里面,測試了次,貌似運行沒啥問題,混淆編譯也過去了,把編譯出的class文件逆向看了下,也差不多是那個樣子,名稱全部都變掉了,看著有點想吐。
使用jocky的時候,如果你的java文件使用了utf-8編碼,而windows默認是gbk編碼,可能會出現(xiàn)"unmappable character for encoding GBK"錯誤而導致jocky不能使用的情況。可以通過修改jocky_build.xml中的javac段,為其添加encoding="UTF-8"就可以解決這個問題了。
Jocky混淆編譯器是在Sun JDK中提供的Java編譯器(javac)的基礎上完成的,修改了其中的代碼生成過程,對編譯器生成的中間代碼進行混淆,最后再生成class文件,這樣編譯和混淆只需要一個步驟就可以完成。另外可以在源程序中插入 符號保留指令 來控制哪些符號需要保留,將混淆過程與開發(fā)過程融合在一起,不需要單獨的配置。