導航:首頁 > 源碼編譯 > apktool回編譯apk並且簽名

apktool回編譯apk並且簽名

發布時間:2022-08-15 20:32:37

㈠ 如何將手機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並重新打包和簽名後怎麼和原app共存

反編譯所使用的到的工具
apktool,反編譯apk,從apk中提取圖片和布局資源
dex2jar,將可運行文件classes.dex反編譯為jar源碼文件
java-decompiler(jd-gui),主要用來查看jar源碼文件
在反編譯之前要確保電腦上有Java
檢查有無Java的方法,打開命令行,輸入java -version
如果出現如下圖所示就是安裝了Java,沒有的話需要自行配置環境
在這里插入圖片描述
下載apktool.bat腳本(右鍵,鏈接另存為…)
在這里插入圖片描述
下載最新版本的apktool.jar,並且重命名為apktool.jar
將apktool.bat和apktool.jar還有需要反編譯的Apk文件放在同一目錄下就可以正常使用了
反編譯命令行:
output_dir代表文件的輸出路徑
test.apk代表Apk的文件名
apktool.bat d -o
test.apk
1
1
-o 指定解碼目標文件夾的名稱(默認使用APK文件的名字來命名目標文件夾)
然後繼續執行命令行
apk-file是上一步輸出的文件夾的名字
apktool.bat b apk-file
1
1
會發現執行該命令行後會多出下面兩個文件夾,dist文件夾下面放的就是apk文件
在這里插入圖片描述
此時,可以查看AndroidManifest.xml,res及smali文件了。甚至可以修改這個目錄下的資源文件或者smali文件,然後重新編譯。如果需要修改圖片的話,只需要找到對應位置替換掉就好了;
apktool反編譯出來只能得到apk的smali文件,即匯編語言版本,並不能得到源代碼。

㈢ 請教Camera 360 1.8利用apktool 反編譯後再編譯簽名為什麼不能運行

apktool
反編譯之後重新編譯的文件可能無法常運行。如果你只是修改了語言文件,可以在重新編譯以後,用壓縮軟體提取出
resources.arsc
文件,替換掉原軟體中的同名文件。注意這個文件不要壓縮(用
WinRAR
替換該文件的話,壓縮方式選「存儲」),否則可能有問題。也可以試試用原來的
apk
裡面的
classes.dex
文件將新軟體包裡面的那個替換掉。這樣一般可以運行。
查看原帖>>

㈣ apktool可以反編譯未簽名的apk嗎

可以的,按以下步驟試試看

1.下載反編譯工具
需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:將apk中的classes.dex轉化成Jar文件。
JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。

2.解壓縮APK包
apk文件也是一種常見的zip,常用的壓縮軟體就可輕松地解壓apk文件。用壓縮軟體將apk文件中的文件解壓到一個文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。

3.反編譯dex文件
解壓apk文件後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉換成普通的jar包。
解壓下載的dex2jar,把解壓後的文件夾放到系統盤跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。

DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路徑)。
將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件

4.反編譯jar包
得到jar包後,下載自已喜歡的反編譯工具,推薦使用JD-GUI,有比較簡單的圖形界面,可以反編譯單個class文件,也可以反編譯jar包,比較方便。
打開壓縮文件JD-GUI,運行jd-gui.exe,打開上面生成的jar包,即可看到源代碼了

5.反編譯xml文件
打開解壓的res\layout目錄,有很多xml文件,如果你想看下作者是如何設計界面的,你會很失望,因為你看到的是一大堆亂碼!這個時候我們需要用到的是apktool。
具體操作方法:將下載的apktool和apktool-install-windows-r05-ibot兩個包解壓到同一個文件夾下,這個文件夾有三個文件:aapt.exe,apktool.bat,apktool.jar。把這個文件夾也放到系統盤的根目錄中並把這個目錄加到path變數中。以HelloWord.apk為例:
在DOS命令行中輸入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夾,此文件夾中的xml文件就是編譯好的可以正常查看的文件。

這樣就得到了可以得到編譯的源碼和XML資源。

㈤ 誰能幫我反編譯一個APK的簽名和版本號。這個軟體老提示更新,但是更新後會收費,很煩。

將要修改的apk重命名,如123.apk,名字不能含有漢字,如原名沒有漢字可忽略;
解壓「一鍵APKtool」,將123.apk托至該文件夾下;
點擊「一鍵APKtool.exe」,先進行1,載入框架,然後2,反編譯;
進入該文件夾找到反編譯出來的123文件夾,裡面找到AndroidManifest.xml
打開,第二行<manifest android:versionCode="300" android:versionName="4.0.003" ,修改版本號,如為9.9.999,保存;
然後打開「一鍵APKtool.exe」進行3,回編apk;
在「回編apk生成目錄」便可以找到回編後的apk;
打開「ApkTool.exe」,將該apk拉到「簽名那一欄」,點擊簽名;
等待簽名成功,即可使用~

㈥ 如何利用apktool反編譯apk

電腦必須裝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 反編譯後簽名為什麼不能運行

apktool反編譯之後重新編譯的文件可能無法常運行。如果你只是修改了語言文件,可以在重新編譯以後,用壓縮軟體提取出resources.arsc文件,替換掉原軟體中的同名文件。注意這個文件不要壓縮(用WinRAR替換該文件的話,壓縮方式選「存儲」),否則可能有問題。也可以試試用原來的apk裡面的classes.dex文件將新軟體包裡面的那個替換掉。這樣一般可以運行。

㈧ 用APKTOOL回編譯報錯,求解答

1、反編譯=回編譯後分別是
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反編譯及回編譯的問題!!(修改candycrush的內容)

apktool有問題,用我自己修改的apktool吧

http://ishare.iask.sina.com.cn/f/35253480.html

㈩ 如何反編譯android應用並重新打包

反編譯android步驟入下:

第一:使用apktool直接反編譯apk

第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!

閱讀全文

與apktool回編譯apk並且簽名相關的資料

熱點內容
qd123壓縮機 瀏覽:969
pn532讀取加密門禁卡 瀏覽:85
win10文件夾屬性里無法加密 瀏覽:34
比特幣加密的條件 瀏覽:848
求購現成影視app源碼 瀏覽:572
wdsecurity加密版 瀏覽:813
雲伺服器和雲豐雲 瀏覽:188
伺服器如何設置獨立ip 瀏覽:857
tar命令打包文件夾 瀏覽:998
刪除linux用戶和組 瀏覽:548
小米的程序員都用什麼筆記本 瀏覽:703
位元組三面演算法題 瀏覽:971
伺服器保護有什麼好處 瀏覽:894
全部下載完後進行統一解壓 瀏覽:393
遠嫁的程序員媽媽 瀏覽:555
1024程序員節安全攻防挑戰賽 瀏覽:786
怎麼解除txt加密 瀏覽:772
javahttp流 瀏覽:656
交叉編譯工具前綴是什麼 瀏覽:528
如何往伺服器上寫東西 瀏覽:391