㈠ 安卓反編譯後可以使用原簽名簽名嗎
首先,了解一下為什麼需要反編譯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
㈡ apk反編譯後簽名為什麼不能運行
詳細描述一下問題,是無法正常安裝,還是安裝之後無法正常運行
現在部分APK自身帶有加密,簽名被改變就無法正常安裝或者運行
比如QQ,或者是一些系統應用
一些系統的應用,簽名不能被改變,哪怕文件被更改,也不能重新簽名,否則程序無法運行
㈢ 反編譯完APK文件後,從新簽名後,安裝,提示需要覆蓋以前的文件和程序,不提示覆蓋需要怎麼辦。
改包名、或改類名
改配置
㈣ apk反編譯過後簽名不能用
你只是替換圖片么?只是替換圖片無需反編譯!
㈤ 如何將手機apk 安裝包反編譯和重新打包簽名
android應用安裝到手機的是一個apk文件。apk是可以用工具進行反編譯並重新打包的。本文將介紹下如何用apktool對apk進行反編譯並重新打包。
工具/原料
apktool
auto sign
方法/步驟
首先我們新建一個android項目,裡面只有一個MainActivity,而且主界面只會顯示一個字元串:你好。
下面,我們切換到這個項目生成的apk文件所在的目錄,可以看到有一個hellodemo.apk。
在命令行輸入:apktool d -r hellodemo.apk。可以看到在當前目錄下生成了一個hellodemo文件夾。
進入到hellodemo\smali\com\example\hello,打開MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改為:
const-string v1, "hello",
然後在命令行輸入:apktool b hellodemo hellodemo1.apk。這回重新打包成hellodemo1.apk。
然後給新生成的apk進行簽名。把這個apk拷貝到autosign的目錄下面,然後切換過去,在命令行輸入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
步驟閱讀
把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!
㈥ 怎麼給修改後的apk重新簽名
1、首先我們要對apk文件進行改名與後綴,將其連同後綴一起改掉,如1.zip。
2、這時文件就變成一個zip壓縮包了,可提取解壓這個壓縮包,打開這個解壓的文件,會看到裡面構成程序文件的很多東西,然後根據網上教程對程序進行簡要修改。
(當然如果要反編譯的話就不是這樣子了,不過直接解壓也是可以修改很多東西的),這里修改操作建議在電腦端完成比較方便,修改後重新將這些文件壓縮成zip格式。
3、下載安裝ZipSigner手機簽名工具,並打開。
4、點擊輸入,瀏覽文件目錄找到剛修改好並重新壓縮的zip文件,在輸出選項可以修改其名稱,然後點擊簽名,模式為auto-testkey就可以了,等一會就簽名未完成了。
apk文件結構:
1、META-INF(注:Jar文件中常可以看到)。
2、res(注:存放資源文件的目錄)。
3、AndroidManifest.xml(注:程序全局配置文件)。
4、classes.dex(注:Dalvik位元組碼)。
5、resources.arsc(注:編譯後的二進制資源文件)。
㈦ 在android系統中,怎麼反編譯系統APK文件而不破壞以前的簽名就是不需要在重新編譯後簽名。
ApkDec-Release-0.1 試試這個工具
㈧ 今天把stk.apk反編譯後直接編譯簽名,也就是沒有更改任何東西得到的文件比原文件小了2k,再拿到手機上就
可能要用幸運破解器修正一下核心,以前我改過QQ,一開始也用不了,後來修正核心就能用了。
㈨ 怎樣在不改變原有簽名的情況下修改apk裡面的數據,比如我想替換裡面的圖片或者修改程序名但是不改變簽名
想太多了~~