資源描述:
《apktool反編譯、編譯和簽名》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、反編譯、編譯和簽名№.1??反編譯 1、反編譯:高級語言源程序經(jīng)過“編譯”變成可執(zhí)行文件,反編譯就是逆過程?! 〉峭ǔ2荒馨芽蓤?zhí)行文件變成高級語言源代碼,只能轉(zhuǎn)換成匯編程序?! ?、通過反編譯我們都能做什么: 簡單的說通過反編譯我們可以修改任意參數(shù)來使其達(dá)到我們預(yù)想中的效果,比如修改APP名字 3、APK的反編譯(APKTool) 3.1、APKTool的使用環(huán)境配置請參見第一講:在PC端搭建JAVA環(huán)境 3.2、下載所需附件 ?、俅蜷_地址:鏈接地址見原文 ②下載兩個文件“apktool1.4.3.tar.bz2”和“apktool-i
2、nstall-windows-r04-brut1.tar.bz2” 3.3、安裝APKTool(其實算不上“安裝”) ?、俳鈮荷弦徊较螺d的兩個文件,得到三個文件,如圖所示 ?、趯⒔鈮撼鰜淼娜齻€文件移動到C盤的windows目錄下 ?、鄞蜷_CMD命令(方法在第一講中有介紹),直接輸入“apktool”,然后“回車” 如果沒有提示錯誤信息,就說明安裝成功(如下圖) 3.4、反編譯.apk文件(以“MiuiMusic.apk”為例) ①打開CMD命令(方法在第一講中有介紹),輸入代碼:apktooldD:MiuiMus
3、ic.apkD:APK ▲這里第一個D表示要反編譯的apk文件所在的目錄,所以首先要將apk文件放到D盤里 再舉個例子,假如我把apk文件放到了D盤的“abcd”文件夾里了, 那么我要輸入的代碼就應(yīng)該是:apktooldD:abcdMiuiMusic.apkD:APK ▲這里第二個D表示反編譯apk后的目錄,意思就反編譯到D盤的APK文件夾里 再舉個例子,假如我要把apk文件反編譯到E盤的“abcd”文件夾里, 那么我要輸入的代碼就應(yīng)該是:apktooldD:MiuiMusic.apkE:abcd
4、 ?、趯τ谶@段代碼的詳細(xì)解釋,如下圖所示 ▲輸出目錄文件夾名字可以自定義,輸入代碼后,會自動在指定目錄下創(chuàng)建文件夾 ③代碼輸入完成后“回車”,稍等片刻,即可反編譯完成 那么這個時候在代碼中所指定的目錄里就可以找到反編譯后的文件了! 3.5、有些apk需要framework框架支持,下面說說如何導(dǎo)入該框架 ?、儆脡嚎s軟件打開apk文件所在ROM(這里以MIUIROM為例)如圖所示 ②打開文件夾systemframework,找到文件“framework-res.apk”,并將它復(fù)制到C盤的Windows文件夾里
5、 ?、鄞蜷_CMD命令,輸入代碼:apktoolifC:windowsframework-res.apk,然后“回車” 瞬間就會完成,如下圖所示,即導(dǎo)入框架成功! 4、JAR的反編譯(JD-GUI) 這里僅介紹JD-GUI這個軟件,其他更復(fù)雜的修改在以后我會繼續(xù)為大家?guī)斫坛獭 ∵@款反編譯器叫"JavaDecompiler",由PavelKouznetsov開發(fā),目前最新版本為0.3.3; 它由C++開發(fā),并且官方可以下載windows、linux和蘋果MacOs三個平臺的可執(zhí)行程序?! ∠螺d地址:(鏈接地址見原文)
6、№.2??編譯 反編譯掌握后,編譯就相對簡單許多了,只是一句代碼的事情,下面詳細(xì)來說 在上面的反編譯教程中,我將MiuiMusic.apk反編譯到了D盤的APK文件夾里了, 那么我現(xiàn)在要編譯回來,該如何操作呢? 1、打開CMD命令,直接輸入代碼:apktoolbD:APK 然后“回車”,稍等片刻 ▲這里要注意的仍然是代碼中的路徑 2、編譯完成后會在D盤的APK目錄下自動生成新文件夾“dist”,編譯后的apk就在這里啦! 3、重新編譯后的APK需要簽名之后才能正常使用,那么下面就開始說說簽名的相關(guān)事項№.3??簽名 目前網(wǎng)
7、絡(luò)上的簽名工具是玲瑯滿目,非常之多,這里我只給大家介紹一種,原理基本相同 1、簽名有什么用? 使用特殊的key簽名可以獲取一些不同的特殊權(quán)限 APK如果使用一個key簽名,發(fā)布時另一個key簽名的文件將無法安裝或覆蓋老的版本APK 這樣可以防止已安裝的應(yīng)用被惡意的第三方覆蓋或替換掉 當(dāng)然了,這里我們不介紹使用key簽名的方法,做為一個普及給大家看看吧 2、簽名apk ①推薦簽名工具APKSign(目前我也在使用):173835n2arn0qrzrna7221.zip(1.88MB,下載地址見原文) ?、谙螺d附件后