當前位置:首頁 » 編程軟體 » apktool反編譯dex

apktool反編譯dex

發布時間: 2022-10-03 22:44:27

1. 用apktool工具反編譯apk後怎麼得到源碼

一、工具准備:apktool , dex2jar , jd-gui

二、使用dex2jar + jd-gui 得到apk的java源碼
1.用解壓工具從 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一個 jar文件
2.用jd-gui反編譯工具將得到.jar文件反編譯成.java文件

三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反編譯xxx.apk包
2.從 xxx_xml 文件夾得到xml文件

四、第二步 得到的程序源代碼 和 第三步 得到的xml文件組合下,即可得到完整的apk源碼。

五、應用: 漢化/去廣告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1.在步驟三的文件夾xxx_xml/res/ 下, 建文件夾: values-zh-rCN,values-zh-rTW
2.1復制values\strings.xml 到 values-zh-rCN 並翻譯.
2.2 去廣告見;
3.重建APK,用命令(apktool b xxx) ,輸出到ABC/dist/out.apk
或命令( apktool b xxx out.apk)

六、重新打包 和 簽名

2. Android APK+Dex文件反編譯及回編譯工具的常見問題

1、被殺毒軟體攔截誤殺(安裝前,關閉殺毒軟體)
2、沒有管理員許可權(右鍵以管理員身份運行C:Apkdb安裝.exe)或者,使用兼容模式 (右鍵-屬性-兼容性-兼容模式[Windows XP SP3])以及 特權等級 勾選「以管理員身份運行此程序」
3、UAC限制 安裝過程沒有寫入注冊表提示,直接顯示安裝完成(右鍵 我的電腦-管理-本地用戶和組-用戶-Administrator(√ 密碼永不過期)請在系統變數【path】里最前面添加 c:windows;c:windowssystem32;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 是否代碼有錯誤的地方;(4.其他錯誤,檢查是否復制aapt.exe 文件到系統目錄如:C:WindowsSystem32aapt.exe
9、安裝過程提示 systeminfo 提示「不是內部或外部命令」請在系統變數【path】里最前面添加 c:windows;c:windowssystem32;或者手動添加這個變數,如果還是不行可能系統不完整,重裝吧)
10、如果安裝過程中,未顯示【操作成功完成】只顯示:....................請在系統變數【path】里最前面添加 c:windows;c:windowssystem32;
11、64位系統,如果JAVA出錯,建議把32位和64位的JAVA一起裝上。
12、Win8用戶 需要注意一下,如果安裝了手機助手,需要,手動關聯APK文件apk文件滑鼠右鍵,【打開方式】-【選擇默認程序】-【APK安裝器】

3. 如何反編譯apk文件得到源碼和XML文件

最近因為一些事所以需要得到師兄的某個apk的源代碼,但師兄說那個項目包已經刪了,哎,沒辦法,只能自己想辦法了。後來找到了反編譯apk的方法,現在拿出來分享下。其實這個方法網上都有,我只是記載一下自己這段時間的學習情況。
1.下載工具
首先,要反編譯需要下面這
4個工具:
dex2jar:將apk中的classes.dex轉化成Jar文件。
JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。
2.解壓apk
直接右鍵解壓apk就行了,這沒什麼好說的。【解壓後會有個dex後綴的文件,下面會用到】
3.反編譯dex文件
1)解壓下載的dex2jar,把解壓後的文件夾放到系統盤跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。
2)DOS行命令如下:dex2jar.bat
xx\classes.dex(xx是classes.dex文件所在的路徑)。
將在同目錄得到普通jar包:【classes_dex2jar.jar】,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。
4.反編譯jar文件
1)解壓壓縮文件JD-GUI
2)運行該文件夾里的jd-gui.exe,打開上面生成的jar包,
即可看到源代碼了。
5.反編譯xml文件
為什麼要發編譯xml文件呢?因為直接解壓apk得到的xml文件是亂碼來的,我們需要用工具把它調會正常來
具體操作方法:
1)將下載的apktool和apktool-install-windows-r05-ibot兩個包解壓到同一個文件夾下,這個文件夾有三個文件:aapt.exe,apktool.bat,apktool.jar。
2)把這個文件夾也放到系統盤的根目錄中並把這個目錄加到path變數中。以HelloWord.apk為例:
3)在DOS命令行中輸入:apktool
d
xx\HelloWord.apk
HelloWord得到HelloWord文件夾,此文件夾中的xml文件就是編譯好的可以正常查看的文件。
6.後話
不過,說到底反編譯還是反編譯,還是不能完全地還原出真正的源代碼的,比如一般會出現下面這樣的問題:
setContentView(2130903048);
在真正的源代碼中其實是這樣的:
setContentView(R.layout.welcome)

4. 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資源。
注意:文件的路徑中最好不要出現中文!

5. 求助dex工具怎麼反編譯

反編譯apk工具使用最廣泛的就是apktool,這里先說一下整個流程用到的工具有:
1.apktool,下載後拿到apktool.bat和apktool.jar,然後把這兩個工具放到C:\Windows底下。這個工具的作用主要是得到apk的資源文件和配置文件
2.dex2jar 下載這個工具解壓後放到任意盤都可以,後面主要用這個根據apk的classes.dev文件生成供jd-gui工具解析的jar。
3.jd-gui上一步提到其作用,和2一樣,也是下載後放到任意盤即可,到時候只要運行jd-gui.exe打開上一步生成的jar即可查看源碼,下面對這個工具不再贅述
下面詳細說一下前面兩個工具類的詳細用法:
先說apktool的用法:
1.下載後拿到apktool.bat和apktool.jar,然後把這兩個工具放到C:\Windows底下
2.cmd打開後默認是你的計算機,默認的不用改,直接輸入apktool,如果出現如下圖的效果,即表示准備已就緒
接下來,apktool d f:\app-debug.apk f:\app像這樣輸入,這里的f:\app-debug.apk是你的將要被反編譯的apk的絕對路徑,後面的f:\app是apk反編譯後資源文件將要放入的文件夾,不需要事先新建好,在這里寫好就行了,輸入完回車,如果成功的話,即可在文件夾中看到資源文件,這里apktool的流程算完了。
接下來說一下第二個工具,dex2jar的使用流程:
1.把你將要反編譯的apk的擴展名改成壓縮包的擴展名(rar\zip等),然後對其解壓,找到classes.dev文件,將之復制後貼到dex2jar底下,效果如如下:
接下來又要寫命令了,同樣cmd,然後轉換到你的dex2jar目錄,然後輸入dex2jar.bat classes.dev,然後回車即可在dex2jar.目錄中看到一個classes_dex2jar.jar。好了,完了,貼圖
得到classes_dex2jar.jar了,前面說了jd-gui的作用了,直接打開這個就行了,得到的就是源代碼了

6. dex文件被破壞,如何反編譯apk或者此dex呢

可以使用 apktool工具反編譯 apk ,會把dex文件反編譯為samli源碼。

也可直接把dex文件從apk文件解壓出來,用dex2jar工具把它轉換成jar文件,這樣就可以用jd-gui工具看到java源碼了。

7. apk反編譯工具apktool、dex2jar和jd-gui有什麼不同

apktool 作用:資源文件獲取,可以提取出圖片文件和布局文件進行使用查看
dex2jar 作用:將apk反編譯成java源碼(classes.dex轉化成jar文件)
jd-gui 作用:查看APK中classes.dex轉化成出的jar文件,即源碼文件
組合起來一起用的效果會比較好。不過現在很多APP都有反編譯這個意識了,會用一些第三方APP安全服務平台工具如愛加密,要破解還是很有難度的。

8. 手機apktool怎麼回編譯

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工具,
當然如果新的有問題也可以試試舊的(作者說的)

9. 如何進行APK反編譯

如何進行APK反編譯

我們下載到某些apk的時候,可能總想學習下別人是怎麼進行程序設計的,或者怎樣使用xml文件布局的,這時就想到將apk文件的後綴改為rar並解壓,最終得到一些圖片資源和很多打開為亂碼的文件,可見這種方式不可行,這就需要使用下面的工具對apk進行反編譯了。

一、工具准備:apktool、dex2jar、jd-gui

工具包也可以在這里下載。

1、dex2jar可以在這里下載,jd-gui可以在這里下載。

2、apktool,可以到Google官方下載,apktool-1.0.0.tar.bz2(裡面有apktool.jar)和apktool-install-windows-2.1_r01-1.zip兩個包都要下。解壓apktool.jar到 C:\Windows,解壓apktool-install-windows.zip到任意文件夾(例如E盤根目錄)。

二、使用dex2jar + jd-gui 得到apk的java源碼,步驟如下:

1、用.rar打開apk文檔,將classes.dex文件解壓出來,然後使用工具反編譯成.jar文件。

在cmd下進入dex2jar.bat所在路徑,然後輸入「dex2jar.bat XXX」,XXX指的是你要反編譯的apk中的classes.dex文件所在路徑及名稱,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路徑下,classes.dex在D:\Android下,所以你進入到dex2jar.bat路徑後,輸入dex2jar.bat D:\Android\classes.dex,這樣會生成一個jar文件。

2、用jd-gui反編譯工具將得到.jar文件反編譯成.java文件。

三、使用apktool得到apk的xml文件

1、Win+R 運行CMD,用cd命令轉到apktool-install-windows所在文件夾,輸入命令:

apktool d XXX.apk ABC 反編譯XXX.apk到文件夾ABC

2、 在解壓後的文件夾中可以得到apk的xml配置文件。

四、第二步得到的程序源代碼和第三步得到的xml文件組合下,就成一個android工程,即可得到完整的apk源碼。

10. apktool中反編譯dex與反編譯全部有什麼區別

通俗點講,就是它的源代碼破譯它。
例如,我寫了
一個游戲
,經過編譯
反編譯
後的dll檔
,把
文件轉換
成的.cs
dll檔(在C#為例)是代碼文件。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372