日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu环境下Android反编译apk教程

發(fā)布時間:2023/12/9 Ubuntu 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu环境下Android反编译apk教程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 前言

??????? 在工作中,當(dāng)開發(fā)某個功能,或者通過對比兩個apk的表現(xiàn)形式不同,想看看這個apk中的內(nèi)部文件,無奈只是一個純apk,而且不是自己開發(fā)的,又沒有源碼,那怎么辦呢?這個時候你就需要用到反編譯,好了,本篇文章來講一下Ubuntu下反編譯環(huán)境的安裝和步驟。

2. 工具

??????? 反編譯apk,我們需要如下3個開發(fā)工具:Apktool?? dex2jar?? jd-gui

??????? Apktool : 這個工具是用來反編譯apk中的資源文件,如res,AndroidManifest.xml等

??????? dex2jar :??? 這個工具是用來反編譯apk的代碼

??????? jd-gui?? :? 這個用來查看代碼的工具

2.1 apktool

官網(wǎng)下載地址:https://ibotpeaches.github.io/Apktool/install/

我們是Ubuntu開發(fā)環(huán)境,當(dāng)然下載Linux版本的,如下:

?Installation for Apktool

  • Linux:
  • Download Linux wrapper script (Right click, Save Link As apktool)
  • Download apktool-2 (find newest here)
  • Rename downloaded jar to apktool.jar
  • Move both files (apktool.jar & apktool) to /usr/local/bin (root needed)
  • Make sure both files are executable (chmod +x)
  • Try running apktool via cli

按照上面的描述,我們一步一步操作

1.? 第一步下載是apktool腳本執(zhí)行文件,需要VPN翻墻才能下載到,文章結(jié)尾會把需要的工具統(tǒng)一打包共享出來

2.? 下載最新的apktool_x.x.x.jar 包
3.?? 把下載的jar包重命名為 apktool.jar
4. 把apktool 腳本文件 和 apktool.jar 這兩個文件拷貝到 /usr/local/bin 下(root權(quán)限)

5.?? 給這兩個文件添加可執(zhí)行權(quán)限

最后結(jié)果如下:

工具安裝完成后,我們開始反編譯apk,然后查看里面的資源文件

步驟一: 把需要反編譯的apk放置某個文件夾中,終端命令進(jìn)入到該目錄,執(zhí)行

apktool d test.apk

?? d就是decode解碼的意思

apktool d test.apk -o <dir>

? ? -o? 是output,代表輸出目錄

??? 該命令可用于指定反編譯后文件的存儲位置,其中<dir>表示目標(biāo)存儲位置

如果遇到這樣的錯誤:Destination directory? already exists. Use -f switch if you want to overwrite it.,表示你所指定的目錄已存在,可以改用命令:

apktool d -f test.apk -o <dir>

????? -f 是force 表示強制覆蓋

執(zhí)行過程如下:

?成功后,會在同目錄下生成一個test文件夾

步驟二: test文件夾中所有的資源文件都是可以查看的,不是亂碼

字符串:

AndroidManifest.xml:

2.2 dex2jar

??????? 工具下載地址:dex2jar - Browse Files at SourceForge.net

??? 把下載最新的dex2jar-x.xzip包解壓到當(dāng)前目錄, 找到目標(biāo)的腳本文件 d2j-dex2jar.sh

????????接下來我們在反編譯apk代碼:

步驟一: 我們把test.apk 后綴名修改為 test.zip, 然后解壓到當(dāng)前目錄

?打開test文件夾,有個classes.dex 該文件中存放的就是java代碼

?步驟二: 接下來將classes.dex文件拷貝到d2j-dex2jar的解壓目錄下,執(zhí)行命令

sh d2j-dex2jar.sh classes.dex

過程如下:

home@home-MS-7B89:~/worktools/decodeapk/dex2jar-2.1/dex-tools-2.1$ sh d2j-dex2jar.sh classes.dex dex2jar classes.dex -> ./classes-dex2jar.jar

? 接下來會在同級目錄下生成一個 classes-dex2jar.jar 文件,則表示成功:

?當(dāng)dex 文件轉(zhuǎn)換成 jar文件后,我們?nèi)匀粺o法直接查看jar中的class具體內(nèi)容,這里我們需要借助于

jd-gui這個查看代碼的工具

2.3 jd-gui

??????? 工具下載地址: Java Decompiler

選擇Linux版本: jd-gui-1.6.6.deb

?步驟一: 首先我們先安裝一下這個工具,命令如下:

sudo dpkg -i jd-gui-1.6.6.deb

安裝完成后,在Ubuntu 應(yīng)用程序列表中找到j(luò)d-gui 工具打開

步驟二: 通過菜單選項 File -- openFile 打開剛才反編譯出來的 classes-dex2jar.jar包

?查看里面任何一個class文件,不會顯示亂碼

????????好了,到這里就大功告成了,本文中所有需要的開發(fā)工具打包后上傳到這里:?Android反編譯apk工具包-Android文檔類資源-CSDN下載?不需要C幣,供有需要的小伙伴下載使用。

總結(jié)

以上是生活随笔為你收集整理的Ubuntu环境下Android反编译apk教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。