㈠ APK反編譯成功後為什麼不能簽名
圖片在android編譯時是自動生成的索引,圖片改了對應的索引就不正確,肯定會失敗
㈡ 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的版本。
㈢ Android APK+Dex文件反編譯及回編譯工具的注意事項
1、需要反編譯的APK文件名稱,不可以使用中文,否則無法回編譯。2、反編譯後的文件夾不要重命名,否則自動簽名會失敗(控制在:apktool.yml)。3、APK文件不能放在分區根目錄直接反編譯,請放在子目錄內。4、部分功能需要 .NET Framework 4.0 的支持!如:顯示APK自身圖標。
㈣ 在android系統中,怎麼反編譯系統APK文件而不破壞以前的簽名,就是在重新編譯的時候還是原來的簽名。在WIN
一般情況下 改了就要重新簽名的吧、簽名也不麻煩的
㈤ 如何反編譯android應用以及重編譯,簽名和對齊優化
工具/原料
電腦必須裝java
JAVA電腦環境教程
apktool
方法/步驟
1. 配置好JAVA環境變數,下載:apktool 解壓的文件放在C盤根目錄的apktool文件夾里(apktool文件夾自己創立)
打開命令提示符,(開始-運行-輸入cmd)
2. 輸入:cd \apktool 系統指令到了apktool文件夾(這里就是為什麼要把解壓的apktool解壓的文件放到apktool文件夾的原因,當然你也可以自命名文件夾的名稱,那麼比如arc,那麼指令就變成了:cd \arc 前提是你必須把apktool解壓的文件放到這個文件夾裡面)
3. 使用RE管理器把系統裡面的framework-res.apk 與 SystemUI.apk 提取出來放在apktool文件夾裡面
4. 如果只是想反編譯framework-res.apk
輸入apktool if framework-res.apk(框架的建立)
5. 開始最重要的反編譯,輸入指令,apktool d framework-res.apk
(反編輯的APK一定要用沒換過圖片的,否則回編輯失敗)
6. 最後反編譯完成
7. 修改代碼完成後,輸入代碼:apktool d framework-res 即可完成回編譯
8. 如果反編譯的是系統文件,比如,SystemUI.apk 那麼必須進行掛載框架,反編譯時,必須敲入一下命令:(然後再重復4-7步驟)
apktool if framework-res.apk
apktool if SystemUI.apk
9. 對於三星手機(比如9100、9108/9100G),如果反編譯SystemUI.apk要敲入一下命令進行框架掛載apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
10. 回編譯的命令是 apktool b XXX (沒有後面的apk後綴)反編譯的命令是 apktool d xxx (有後面的apk)
㈥ apktool反編譯後能用eclipse打包簽名嗎
把要反編譯的APK文件放到跟APKTool四個文件的同一個目錄(例如C:\APK);
點擊「開始」--「運行」,輸入cmd,然後執行:
cd C:\APK
然後執行:
apktool d apkname.apk foldername
apkname.apk 表示要進行反編譯的APK文件
foldername表示反編譯後文件存放的目錄,即在當前目錄下會自動建一個新目錄存放(如:C:\APK\foldername)
執行完上面語句後,如果沒有出現錯誤提示,則成功解包了,找到foldername目錄,打開smali目錄即為反編譯出來的位元組。
【重新打包】
修改需要改變的文件後,就要重新打包成APK文件了:
apktool b foldername new.apk
其中foldername即放反編譯結果的目錄,執行成功後會在該目錄的dist目錄下有一個重新打包後的apk文件。
到此就成功打包了一個新的apk文件了,但還不要高興得太早,該文件是一個沒有簽名的apk,有了解過android的應該都知道,沒有簽名是無法安裝的。那就要重新為該文件簽一下名了。
【簽名】
簽名我們需要用到的工具是Auto-sign。它主要是利用批處理命令,使用signapk.jar對APK文件進行簽名的。
把new.apk文件復制到簽名軟體的目錄下,再用記事本打開Sign.bat,將其修改為如下代碼:
java -jar signapk.jar testkey.x509.pem testkey.pk8 new.apk new_signed.apk
最後雙擊一下Sign.bat即可簽名完成,
簽名後的APK文件就可以在模擬器或者Android機器上安裝了。
㈦ 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自身圖標。
㈧ 如何反編譯android應用以及重編譯,簽名和對齊優化
首先,了解一下為什麼需要反編譯apk
大部分情況下,是由於想本地化一款優秀的應用,才需要做這事兒;又或者進行少量的smali修改以達到想要的效果(如添加歸屬地,使3G版Nexus 7支持Wi-Fi熱點)。
下面先准備運行環境和工具
建立工作目錄,如.\workspace\apktoolbox (下面同樣以此路徑為例)
必不可少的JDK:Oracle Java下載,安裝完成後把<jdk-inst-path>\bin添加到$PATH環境變數中
反編譯和重編譯工具apktool:Google Code下載,按平台下載(一個apktool-install-<platform>-<ver>-tar.bz2,一個apktool<ver>.tar.bz2,下載完成後解壓至.\workspace\apktoolbox\bin
密鑰文件,共4組。test/shared/media/platform,從android source中獲取,分別對應不同共享用戶ID時簽名所需(查看應用AndroidManifest.xml第二行android:sharedUserId項 ),放到.\workspace\apktoolbox\bin下
test - 無android:sharedUserId項
shared - android:sharedUserId=android.uid.shared
media - android:sharedUserId=android.uid.media
platform - android:sharedUserId=android.uid.system
簽名工具signapk.jar,放到.\workspace\apktoolbox\bin下
對齊優化工具zipalign(從android sdk中獲取,在tools目錄下),放到.\workspace\apktoolbox\bin下
准備工作完成
接下來就要開始工作了(以本地化工作為例)
把待反編譯的apk放到.\workspace\apktoolbox\apks下
在命令行模式下進入.\workspace\apktoolbox\bin目錄,輸入以下命令進行解包(反編譯)
apktool d ..\apks\<apkfile>.apk ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\res下的values目錄(英文原版)和values-r<locale>目錄(本地化)就是需要的對象。
本地化工作完成後,在命令行中輸入以下命令進行重新打包(重新編譯)
apktool b ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\dist目錄下會生成重新打包後的apk(未簽名,未對齊優化)
重新打包完成後,在命令行中輸入以下命令進行簽名(根據實際情況選用密鑰,這里以test密鑰為例)
java -jar signapk.jar testkey.x509.pem testkey.pk8 ..\apks\<outdir>\dist\<apkfile>.apk ..\apks\<apkfile>_signed.apk
簽名完成後,在命令行中輸入以下命令進行對齊優化
zipalign -f -v 4 ..\apks\<apkfile>_signed.apk ..\apks\<apkfile>_zipaligned.apk
<apkfile>_zipaligned.apk就是最終需要的apk了。
完成
部分apk需要系統框架資源,沒有的話在重新打包時會報錯,這種情況下只需要先安裝一下對應系統框架即可(從目標ROM中把/system/framework/framework-res.apk提取出,放到.\workspace\apktoolbox\apks下)。在命令行中輸入以下命令進行安裝
apktool if ..\apks\framework-res.apk
㈨ 今天把stk.apk反編譯後直接編譯簽名,也就是沒有更改任何東西得到的文件比原文件小了2k,再拿到手機上就
可能要用幸運破解器修正一下核心,以前我改過QQ,一開始也用不了,後來修正核心就能用了。
㈩ 將原安卓apk反編譯後簽名,有原簽名文件
一、可以使用如APKTool之類的反編譯工具,使用方法網上有介紹,反編譯完成後修改所有引用包名的地方及對應的文件夾,然後重新編譯為新的APK,最後再用簽名工具簽名就行。
二、第一步是用命令行的形式進行的,如果不願意進行繁瑣的配置過程,可以使用一些可視化的APK修改工作,如APK改之理、VTS(Virtuous Ten Stdio)等,但主要修改的地方更第一步是一致的。