本文中winwin7小編給大家分享介紹的這款A(yù)PK反編譯工具在使用apktool反編譯apk修改Smali文件之后再進(jìn)行build會(huì)出現(xiàn)錯(cuò)誤,這種情況下可以換一個(gè)更高版本的apktool試試。一個(gè)強(qiáng)大的apk文件編輯工具。執(zhí)行成功后你會(huì)發(fā)現(xiàn)tools目錄下多了一個(gè)classout文件夾,里面就是smali類型的文件,里面是反編譯出的代碼,但是不是java代碼,還是能看出變量和方法的。
APK反編譯工具詳細(xì)圖文教程
遇到比較高級(jí)的apk文件可以選擇使用baksmali+smali來進(jìn)行apk的修改及重新打包。
1.首先解壓apk文件,獲得classes.dex文件
2.使用baksmali反編譯classes.dex
命令為: java -jar baksmali.jar -o classout/ classes.dex
3.反編譯的smali文件存在./classout之中。&
4.此時(shí)對(duì)classout目錄下的smali文件就可以進(jìn)行修改了
修改過之后需要使用smali.jar將smali目錄重新編譯為classes.dex
5.使用壓縮工具將新生成的classes.dex塞入apk包替換原有的classes.dex
這里需要說明的就是使用baksmali.jar反編譯的生成的smali文件使用的是baksmali語法,和apktool反編譯生成的smali語法有些許的區(qū)別。
6.替換apk包中的classes.dex文件之后,需要對(duì)apk重新簽名才能安裝
smali/baksmali使用方法
android 合并apk和odex文件
前提:正確安裝jdk和配置環(huán)境變量
需要這個(gè)apk所在的rom里面的一些jar文件,
都在/system/framework里面:core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar。
當(dāng)然,這五個(gè)是最基本的,有可能還不夠,這種情況下面會(huì)講到。
總共分四步:
1、把下載好的smali-2.1.3.jar 和baksmali-2.1.3.jar ,還有rom里面摳出來的5個(gè)jar,放到工作目錄,然后apk和odex也放到一起。
2、分解odex文件為class文件。
將smali-2.1.3.jar 和baksmali-2.1.3.jar放在d:odex文件夾下
命令:鍵入 d:回車 鍵入cd odex 回車
java -jar baksmali-2.1.3.jar -x a.odex\a.odex喂odex文件的文件名在鍵入命令前務(wù)必正確安裝JDK和配置環(huán)境變量
a.odex;處是你要分解的odex文件的名字,命令完成之后,會(huì)生成一個(gè)out文件夾,里面就是所有的class文件。如果出現(xiàn)問題,
比如什么異常,缺少包什么的,就更到rom里面把出錯(cuò)信息里面要求的包拿出來,放到當(dāng)前目錄下。
3、將class生成為classes.dex文件。
命令:java -Xmx512M -jar smali-2.1.3.jar out -o classes.dex
4、 把classes.dex放入apk里面。
以上便是WinWin7小編給大家分享介紹的APK反編譯工具!