手機(jī)apktool反編譯失敗 apk脫殼了,怎樣搞回以前那樣?
APK需要使用特殊的軟件來(lái)反編譯。直接解壓后,可以 不要把它壓縮回去。首先,反編譯,修改,然后選擇一個(gè)文件夾編譯回來(lái)。編譯回來(lái)后,需要對(duì)apk包進(jìn)行簽名。應(yīng)該注意,修改后的apk不能與安裝的原始APK
APK需要使用特殊的軟件來(lái)反編譯。直接解壓后,可以 不要把它壓縮回去。首先,反編譯,修改,然后選擇一個(gè)文件夾編譯回來(lái)。編譯回來(lái)后,需要對(duì)apk包進(jìn)行簽名。應(yīng)該注意,修改后的apk不能與安裝的原始APK共存,也不能被覆蓋。在安裝修改后的apk之前,只能刪除原來(lái)安裝的程序。類(lèi)似的軟件還有apktool、apk
注意:反編譯的前提是開(kāi)發(fā)者不使用proguard(java代碼混淆的java工具)。1.下載反編譯工具需要下載四個(gè)工具:
Smali2java是一個(gè)將Smali代碼反編譯成java代碼的工具?;赼pktool v1.5.0生成的Smali文件的Smali2java工具(baksmali v1.3.4)依賴(lài)于代碼的行數(shù)(。行關(guān)鍵字)和變量別名(。local關(guān)鍵字)放在smali文件中,可以最大程度的還原原來(lái)的java代碼。
恢復(fù)的java代碼將具有原始的變量名,并且代碼的順序?qū)⑴c原始java代碼保持一致。這個(gè)工具也有局限性,只適用于帶有行號(hào)和變量別名信息的smali文件(java編譯器的編譯選項(xiàng)可以將這些信息從生成的字節(jié)碼中排除)。
下載
1.反編譯Apk得到Java源代碼,必須下載兩個(gè)工具:dex2jar和JD-GUI。前者是把a(bǔ)pk轉(zhuǎn)換成Jar文件,而JD-GUI是反編譯工具,可以直接查看Jar包的源代碼。具體步驟:1。先把a(bǔ)pk文件的后綴改成zip,解壓得到,用java文件編譯,dx工具打包;
2.解壓下載的dex2jar,復(fù)制到目錄下。在命令行下,導(dǎo)航到所在目錄,運(yùn)行生成反編譯apk生成器的源代碼和圖片、XML配置、語(yǔ)言資源和其他文件,或者下載工具。這次我們用apktool的具體步驟:把下載的兩個(gè)包解壓到同一個(gè)文件夾,應(yīng)該有三個(gè)文件:aapt.exe,apktool.jar1把下載的兩個(gè)包解壓,apkto。ol-install-windows-r04-brut 1 . tar解壓后的包中包含aapt.exe和(注意要把a(bǔ)pktool1.4.1.tar解壓的一個(gè). jar文件復(fù)制到解壓后的apk tool-install-Windows-R04-brut 1文件夾中)。2.特別說(shuō)明:你要反編譯的文件必須放在c盤(pán)的根目錄下。