資源描述:
《proguard使用指南(陳柏屹)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、proguard混淆器使用指南撰寫人:陳柏屹項(xiàng)目ID:001撰寫日期:2009-06-30Proguard混淆器使用指南項(xiàng)目ID:0901內(nèi)容內(nèi)容21.下載/安裝31.1.下載地址31.2.啟動(dòng)proguard31.3.混淆器原理功能5IQMSPage23of23TemplateVersion:1.2Lastchanged:01七月2009at20:49Proguard混淆器使用指南項(xiàng)目ID:0901下載/安裝1.1.下載地址http://proguard.sourceforge.net/1.2.啟動(dòng)pr
2、oguard1.解壓下載的proguard4.4beta3,解壓后進(jìn)入lib文件把proguard.jar拷貝到自己新建的文件夾里如圖:2.把需要混淆的jar和jar所依賴的包也放到新建的文件夾,都放在一起,如下圖。3.寫一個(gè)配置文件,名稱自己定,舉個(gè)簡單配置文件例子,內(nèi)容如下,其中-injars:是你需要混淆的jar,-outjars:是你混淆后輸出的jar,-libraryjars:是你混淆的jar需要所依賴的jar包,后面的不在一一說明,可以參考proguard文檔,配置文件可以參考文檔來對(duì)自己混淆
3、的需求來寫配置文件。-injarsTheFirstDesktopApplication1.jarIQMSPage23of23TemplateVersion:1.2Lastchanged:01七月2009at20:49Proguard混淆器使用指南項(xiàng)目ID:0901-outjarsTheFirstDesktopApplication1_out.jar-libraryjars/lib/rt.jar-libraryjarsappframework-1.0.3.jar-libraryjars
4、swing-worker-1.1.jar-printmappingproguard.map-overloadaggressively-defaultpackage''-allowaccessmodification-dontoptimize-keeppublicclass{publicprotected;}-keeppublicclassorg.-keeppublicclassit.4.把配置文件保存到你建的文件夾下,如下圖。5.點(diǎn)擊開始,運(yùn)行,輸入cmd,進(jìn)入你建的文件夾下,如下圖。IQMSPage23
5、of23TemplateVersion:1.2Lastchanged:01七月2009at20:49Proguard混淆器使用指南項(xiàng)目ID:09016.然后輸入命令語句:java-jarproguard.Jar@a然后回車,如下圖。7.混淆成功,在產(chǎn)生TheFirstDesktopApplication1_out.jar如下圖。IQMSPage23of23TemplateVersion:1.2Lastchanged:01七月2009at20:49Proguard混淆器使用指南項(xiàng)目ID:09018.混淆器后
6、,利用反編譯器對(duì)沒TheFirstDesktopApplication1_out.jar反編譯,多了好多a,b,c之類的類文件,對(duì)反編譯的java文件是很難編譯的,即說明混淆成功。1.1.混淆器原理功能通常情況下,編譯后的字節(jié)碼仍然包含了大量的調(diào)試信息:源文件名,行號(hào),字段名,方法名,參數(shù)名,變量名等等。這些信息使得它很容易被反編譯和通過逆向工程獲得完整的程序。例如像ProGuard這樣的混淆器就能刪除這些調(diào)試信息,并用無意義的字符序列來替換所有名字,使得它很難進(jìn)行逆向工程,它進(jìn)一步免費(fèi)的精簡代碼。除了異
7、常堆棧信息所需要的類名,方法名和行號(hào)外,程序只會(huì)保留功能上的等價(jià)。ProGuard介紹你可以用JB來簡單的把JAVA文件混淆一下,然后,再發(fā)布就是,你也可以使用。proguard用法如下:ProGuard是一款免費(fèi)的Java類文件壓縮器、優(yōu)化器和混淆器。它能發(fā)現(xiàn)并刪除無用類、字段(field)、方法和屬性值(attribute)。它也能優(yōu)化字節(jié)碼并刪除無用的指令。最后,它使用簡單無意義的名字來重命名你的類名、字段名和方法名。經(jīng)過以上操作的jar文件會(huì)變得更小,并很難進(jìn)行逆向工程。這里提到了IQMSPage
8、23of23TemplateVersion:1.2Lastchanged:01七月2009at20:49Proguard混淆器使用指南項(xiàng)目ID:0901ProGuard的主要功能是壓縮、優(yōu)化和混淆,下面我就先介紹一下這些概念,然后再介紹ProGuard的基本使用方法。l什么是壓縮:Java源代碼(.java文件)通常被編譯為字節(jié)碼(.class文件)。而完整的程序或程序庫通常被壓縮和發(fā)布成Java文檔(.jar文件)。字節(jié)碼比