apkdb反編譯成java
1. 是不是已經簽名的apk 無法使用apkdb反編譯
一、可以使用如APKTool之類的反編譯工具,使用方法網上有介紹,反編譯完成後修改所有引用包名的地方及對應的文件夾,然後重新編譯為新的APK,最後再用簽名工具簽名就行。
二、第一步是用命令行的形式進行的,如果不願意進行繁瑣的配置過程,可以使用一些可視化的APK修改工作,如APK改之理、VTS(Virtuous Ten Stdio)等,但主要修改的地方更第一步是一致的。
2. Android APK+Dex文件反編譯及回編譯工具的使用說明
本工具執行安裝後,直接在【滑鼠右鍵】生成快捷鍵,自動關聯APK、DEX、Odex、Zip等文件。只要在電腦任意「非分區根目錄」,【滑鼠右鍵】點擊相關文件,即可編譯操作。如,反編譯APK及DEX文件,反編譯後生成可編譯的同名文件夾,漢化修改完成後,對文件夾點擊【滑鼠右鍵】根據文件夾反編譯前的文件類型,現在【使用 APKDB編譯】即可!
同時,針對apk和zip文件增加簽名操作,只要【滑鼠右鍵】點擊,選擇【使用 APKDB編譯】選擇【[S]簽名APK文件】即可!簽名前無需刪除原來的【META-INF】簽名數據。本工具會判別apk還是zip並自動刪除簽名數據。
3. apkdb執行反編譯一閃而過就什麼也沒有
APKDB是一款,針對Android OS系統的APK程序,直接反編譯修改的工具。其實,本工具是一個工具集合箱,直接在【滑鼠右鍵】創建快捷菜單;非常方便漢化工作者,對APK或Dex文件進行簡易的反編譯回編譯操作;集合了當今最強悍,最犀利的APK及Dex文件編譯工具;
但安裝過程阻礙多多,這里向大家說說這個工具的安裝經驗:
1、被殺毒軟體攔截誤殺(安裝前,關閉殺毒軟體)
2、沒有管理員許可權(右鍵以管理員身份運行C:\Apkdb\安裝.exe)
或者,使用兼容模式 (右鍵-屬性-兼容性-兼容模式[Windows XP SP3])
以及 特權等級 勾選「以管理員身份運行此程序」
3、UAC限制 安裝過程沒有寫入注冊表提示,直接顯示安裝完成
(右鍵 我的電腦-管理-本地用戶和組-用戶-Administrator(√ 密碼永不過期)
4、安裝成功,安裝過程有寫入注冊表提示,但是右鍵APK 沒有菜單
(檢查是不是安裝了PC版的手機管理工具,關聯了APK文件。請手動管理本工具的安裝器)
5、安裝後無法編譯文件,提示JAVA 錯誤
(未安裝JAVA平台,或安裝錯誤。請卸載後重啟電腦,重裝再次重啟電腦)
6、安裝成功後,編譯文件提示 「Can't create the output directory \\****\smali」
(這是文件夾 沒有寫入許可權。檢查是否直接在硬碟分區根目錄編譯了?
Apktool不能在磁碟分區。如:C盤 D盤 根目錄!
如果不是根目錄,請檢查apk文件名稱是不是有問題。如,文件名結尾空格。)
7、能反編譯,但無法回編譯
(可能是被舊版本的Apktool編譯過,試試用舊版的反編譯,用新版的回編譯)
8、回編譯出錯問題:
(1.提示 strings.xml 最後一行錯誤,檢查是否</string>符號錯誤;
(2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;
(3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;
使用過程中的說明
1、需要反編譯的APK文件名稱,不可以使用中文,否則無法回編譯。
2、反編譯後的文件夾不要重命名,否則自動簽名會失敗(控制在:apktool.yml)。
3、APK文件不能放在分區根目錄直接反編譯,請放在子目錄內。
4、部分功能需要 NET.Framework 4.0 的支持!如:顯示APK自身圖標。
4. 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的版本。