㈠ 反編譯安卓apk問題
APK文件是用專業軟體eclipse編譯生成的文件包。在網上可以找到許多軟體來對APK的內容進行反編譯,例如:可以通過AXMLPrinter2工具和命令:java -jar AXMLPrinter2.jar androidManifest.xml 解開在apk中的AndroidManifest.xml。最近,業界有一個功能強大的解包打包工具包apktool,可以在Windows下用來方便快速地對APK文件進行解包和打包,給修改和編輯工作帶來許多方便。下面來介紹它的使用。
1) APKtool軟體包
APKtool軟體包有2個程序組成:apktool.jar 和 aapt.exe
另外提供一個批處理文件:apktool.bat,其內容為:
java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
運行apktools.jar需要java環境(1.6.0版本以上)。
apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。
2) APK文件的解包
下面以解開Contacts.apk為例。首先把Contacts.apk Copy到當前工作目錄下(例:Test)。在DOS下打入命令
apktool d Contacts.apk ABC
這里「d」表示要解碼。Contacts.apk是要解包的APK文件。ABC是子目錄名。所有解包的文件都會放在這個子目錄內。
3) APK文件的打包
在DOS下打入命令
apktool b ABC New-Contacts.apk
這里「b」表示要打包
ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的文件。
New-Contacts.apk是打包後產生的新的APK文件。
4) Framework框架文件
在解開APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些製造商使用了他們自己的框架文件,為了解包,就不得不從手機中把框架文件(framework-res.apk)提取出來,然後安裝到計算機。安裝命令是:
apktool if framework-res.apk
安裝後就會得到:~\apktool\framework\1.apk
5) 解包、解包和簽名批處理
在實際使用時,可能對多個APK文件進行處理。方便的做法是寫成批處理文件。打包和簽名可以一次完成。
解包批處理命令:
for %%i in (*.apk) do java -jar apktool.jar d %%i _%%i && move _%%i Modifying_Files && %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed!
打包和簽名批處理命令:
for /d %%i in (*) do cd.. && java -jar apktool.jar b Modifying_Files\%%i && java -jar signapk.jar testkey.x509.pem testkey.pk8 Modifying_Files\%%i\dist\*.apk %%i && ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete repacking and Signing! && cd Modifying_Files
㈡ 為什麼把APK軟體編譯後(試過直接反編譯然後馬上再編譯打包安裝還是一樣會出現提示)
網路啊
㈢ 反編譯framework-res.apk後再刷入系統,通知欄無故變形
路過······
㈣ apk反編譯後 什麼都沒有改 重新打包報錯 求解
反編譯後的文件夾內丟失apktool.yml文件!
這個文件是APKTOOL工具回編譯時必要的文件,在反編譯APK時會自動生成,裡麵包含APKTOOL反編譯某個APK文件的相關信息!此文件內容不可包含中文!
格式如下:
version:1.4.3
apkFileName:BluetoothFileTransfer_Ad-free_4.80.apk
isFrameworkApk:false
usesFramework:
ids:
-1
第一行代表APKTOOL程序的版本
第二行是APK程序名稱
第三行是說明該APK是不是Framework級的文件
第四行到最後,我不是很清楚,估計是使用Framework的級別吧
如果你回編譯的APK不屬於系統級文件,你可以按照以上內容新建一個apktool.yml文件。不過版本行一定要寫你當前使用的apktool程序的版本!
㈤ APKTOOL怎樣用的,我反編譯成功之後回編譯失敗,出現下圖這樣的情況是怎樣的
編譯失敗是操作過程中錯誤造成的。解決方式如下:
1、首先去官方網站點擊下載可用的最新ApkTool。
㈥ MiuiSystemUI.apk反編譯並且修改後無法回編譯,提示出錯。即使反編譯後什麼都不修改直接
、反編譯=回編譯後分別是smali目錄回編譯為classes.dex文件res目錄回編譯為resources.arsc文件2、回編譯順序在回編譯時,會先檢查「源」即resources當你漢化文件,修改出錯了(缺少一個符號也不行),那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali。所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,這要會大大加快回編譯速度。1、反編譯=回編譯後分別是smali目錄回編譯為classes.dex文件res目錄回編譯為resources.arsc文件2、回編譯順序在回編譯時,會先檢查「源」即resources當你漢化文件,修改出錯了(缺少一個符號也不行),那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali。所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,這要會大大加快回編譯速度。3、出錯問題1在漢化時,往往會不小心刪掉一些符號,如""符號等等。FileManager文件管理器/string>這些小小的錯誤都會導致回編時譯檢查出錯。所以漢化時,注意對校,然後再回編譯。建議使用一些高級的文本編輯器,支持語法高亮視圖的。4、出錯問題2最近發現有些APK文件反編譯後,就算不漢化直接回編譯,都會出錯。有可能的原因1,反編譯後XML文件語法中@符號前面多了"\"(\@),用文本編輯工具直接替換【\@】為【@】,應該可以解決。建議使用最新版本的反編譯工具。5、建議大家使用新版本的APKTool工具,當然如果新的有問題也可以試試舊的一、系統文件漢化再次強調1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、等等系統文件,一定要先安裝構架,具體看另個文件。2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。主要是,系統文件放在系統目錄,無需再次讀取簽名獲得許可權,已經是高級了。二、打包說明1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。但是建議大家不要直接使用該文件,進了使用替換法,替換掉你漢化後的文件,如:resources.arsc,如果修改過的圖片,等等…2、很多人對於APK文件解壓縮或壓縮都用「WinRAR」或「好壓」,這里不推薦。希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,不需要重新關聯apk直接右鍵打開就行了。替換直接拖拉進去,就OK了一、回編譯出錯問題(1.提示strings.xml最後一行錯誤,檢查是否符號錯誤;在漢化時,往往會不小心刪掉一些符號,如""符號等等。FileManager文件管理器/string>(2.提示strings.xml最頂部含中文代碼首行錯誤,編碼格式不對,轉換成UTF-8;(3.提示public.xml出錯,檢查改動過的arrays.xml是否代碼有錯誤的地方;二、一切能正常但無法回編譯還有一種情況,apktool最新版本能正常反編譯一個apk文件,在未做任何修改的情況下,無法回編譯。這是就要注意了,可以嘗試一下用低版本的apktool進行【反編譯】,然後在用高版本的apktoo工具【回編譯】。這里向大家推薦用【APKDB】這個工具,很方便,反編譯時可以選擇apktool的版本。
㈦ 安卓反編譯一般軟體成功,反編譯系統自帶軟體就不行。比如System.apk。錯誤提示如下:
安裝系統框架沒?
用re管理器到systemframework文件夾中找到framework-res.apk文件,然後復制到apktool目錄下。
成功解壓……
只是回編時要先刪除ststusbar_background.9.png……
w開頭的基本都是警告提示……
㈧ 安卓apk反編譯問題
愛加密平台的推出可以有效解決這些問題.APP通過使用愛加密平台 加密,可以從根本上防止應用在運營推廣過程中被反編譯、惡意篡改、注入扣費代碼、盜取數據等,提高應用的安全性、穩定性,讓打包黨無機可乘。
㈨ APK反編譯後回編譯失敗是為什麼
、反編譯=回編譯後分別是
smali目錄 回編譯為 classes.dex 文件
res目錄 回編譯為 resources.arsc 文件
2、回編譯順序
在回編譯時,會先檢查「源」即resources
當你漢化文件,修改出錯了(缺少一個符號也不行),
那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali 。
所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,
這要會大大加快回編譯速度。1、反編譯=回編譯後分別是
smali目錄 回編譯為 classes.dex 文件
res目錄 回編譯為 resources.arsc 文件
2、回編譯順序
在回編譯時,會先檢查「源」即resources
當你漢化文件,修改出錯了(缺少一個符號也不行),
那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali 。
所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,
這要會大大加快回編譯速度。
3、出錯問題1
在漢化時,往往會不小心刪掉一些符號,如 "<" ">"符號等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
這些小小的錯誤都會導致回編時譯檢查出錯。
所以漢化時,注意對校,然後再回編譯。
建議使用一些高級的文本編輯器,支持語法高亮視圖的。
4、出錯問題2
最近發現有些APK文件 反編譯後,就算不漢化直接回編譯,都會出錯。
有可能的原因1,反編譯後XML文件語法中@符號 前面多了"\" (\@ ),
用文本編輯工具 直接替換【\@】為【@】,應該可以解決。
建議使用最新版本的反編譯工具。
5、建議大家使用新版本的APKTool工具,
當然如果新的有問題也可以試試舊的一、系統文件漢化再次強調
1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、
等等系統文件,一定要先 安裝構架,具體看另個文件
<關於APKTool工具反編譯Settings.apk問題>。
2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。
主要是,系統文件放在系統目錄,無需再次讀取簽名獲得許可權,已經是高級了。
二、打包說明
1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。
但是建議大家不要直接使用該文件,進了使用替換法,替換掉你漢化後的文件,
如:resources.arsc,如果修改過的圖片,等等…
2、很多人對於APK文件 解壓縮或壓縮 都用「WinRAR」或「好壓」,這里不推薦。
希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,
不需要重新關聯apk 直接右鍵打開就行了。替換直接拖拉進去,就OK了一、回編譯出錯問題
(1.提示 strings.xml 最後一行錯誤,檢查是否</string>符號錯誤;
在漢化時,往往會不小心刪掉一些符號,如 "<" ">"符號等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
(2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;
(3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;
二、一切能正常但無法回編譯
還有一種情況,apktool最新版本能正常反編譯一個apk文件,在未做任何修改的情況下,無法回編譯。
這是就要注意了,可以嘗試一下用低版本的apktool進行【反編譯】,然後在用高版本的apktoo工具【回編譯】。
這里向大家推薦用 【APKDB】 這個工具,很方便,反編譯時可以選擇apktool的版本。
㈩ 怎樣用手機版apktool反編譯通知欄
下載apktool所需文件:
a、 apktool1.5.2.tar.bz2
b、apktool-install-windows-r05-ibot.tar.bz2 (windows系統)
解壓剛剛下載的文件,並將解壓的文件放入C:\Windows目錄下
啟動控制台,輸入apktool,回車可查看到apktool工具常用指令,如圖
新建一個文件夾,用於存放apk及待解壓的文件,這里筆者將文件夾建在D:\apk目錄,同時放入用於測試的android app包(test.apk)
控制台輸入:apktool d D:\apk\test.apk D:\apk\test 進行反編譯操作
中句話中「D:\apk\test.apk」指apk存放位置,「D:\apk\test」指反編譯後文件存放的位置
6
反編譯成功之後,進入D:\apk\test文件目錄可以查看到反編譯後的文件