Mac下搭建 Android 反編譯環(huán)境

需要安裝的工具如下:apktool缀拭、dex2jar、jd-gui

Apk介紹

一個Android應(yīng)用程序的代碼想要在Android設(shè)備上運行,必須先進行編譯些侍,然后被打包成為一個被Android系統(tǒng)所能識別的文件才可以被運行,而這種能被Android系統(tǒng)識別并運行的文件格式便是“APK”政模。

一個APK文件內(nèi)包含被編譯的代碼文件(.dex 文件)岗宣,文件資源(resources), assets淋样,證書(certificates)耗式,和清單文件(manifest file)。

APK 文件基于 ZIP 文件格式趁猴,它與 JAR 文件的構(gòu)造方式相似刊咳。它的互聯(lián)網(wǎng)媒體類型是:application/vnd.android.package-archive

工具介紹

  • apktool

    apktool 是 Google 提供的 Apk 編譯工具,能夠編譯和反編譯 apk儡司。

    apktool 的介紹和使用

  • dex2jar

    dex2jar 是一個能將 .dex 文件轉(zhuǎn)化成 .jar 文件的工具集

  • jd-gui

    jd-gui 是一個獨立的圖形實用程序娱挨,可顯示“.class”文件的Java源代碼應(yīng)用。

安裝

如果嫌棄一個個官網(wǎng)下麻煩的可以直接使用下面的地址

百度網(wǎng)盤地址

Apktool 的版本為 2.3.3

dex2jar 的版本為 2.0

jd-gui 的版本為 1.4.0

安裝 apktool

apktool官網(wǎng)下載地址

  1. 檢查 jdk 是否安裝
  2. Mac OS X 下安裝
    1. 下載Mac包裝器腳本(右鍵單擊捕犬,將鏈接另存為apktool
    2. 下載apktool
    3. 將下載的jar重命名為 apktool.jar
    4. 將兩個文件(apktool.jarapktool)移動到/usr/local/bin(需要root)
    5. 確保兩個文件都是可執(zhí)行的(chmod +x
    6. 嘗試apktool通過命令提示符運行

有了上面的安裝步驟現(xiàn)在我們來安裝吧

  1. 前往官方的下載地址下載我們需要的兩個文件(apktool跷坝,apktool.jar)

    1. 下載apktool腳本酵镜,修改下載的文件名為 apktool 不加任何后綴名。
    image
    1. 下載 apktool.jar 柴钻,下載下來的文件名會帶有版本信息淮韭,將下載的jar重命名為 apktool.jar
  2. 將兩個文件移動到 /usr/local/bin

    1. 打卡文件管理系統(tǒng)按 command + shift + g 鍵,最后將文件保存在 /bin 文件夾下面
    image
  3. 確保兩個文件都是可執(zhí)行的(chmod +x

    1. 打開終端贴届,輸入

      chmod +x apktool.jar
      chmod +x apktool
      
  4. 測試 apktool 命令

    1. 在終端中輸入 apktool
    image-20180721143947106

安裝 dex2jar

dex2jar 官方下載地址

這個的安裝很簡單只需要把下載的壓縮文件解壓到你想的文件夾中即可靠粪。

安裝 jd-gui

jd-gui 官方下載地址

也是解壓即可

簡單的例子

下面我們?nèi)フ覀€ apk 文件練練手吧。

Apktool 的使用

打開終端

//切換到 apk 所在的目錄
輸入命令 apktool d demo.apk

它會在當前目錄生成一個跟 apk 文件同名的文件夾粱腻。

資源文件是有了庇配,那 java 代碼在哪里呢?apktool 只能提取到資源文件绍些,java 代碼還需要另外處理

dex2jar 使用

我們現(xiàn)在把 apk 當成一個壓縮包解壓開來捞慌,里面有個 .dex 文件。dex2jar 能把 .dex 文件轉(zhuǎn)化成 .jar 文件

1. 將 apk 中 .dex 文件移動到我們剛剛解壓 dex2jar 安裝的目錄下
2. 終端輸入 sh d2j-dex2jar.sh classes.dex

這時我們會在目錄中看到有個 .jar 文件柬批。

運行 sh d2j-dex2jar.sh classes.dex 如果出現(xiàn)了 Permission denied

只需要終端中運行 chmod +x d2j_invoke.sh 即可

jd-gui 使用

直接打開我們安裝的 JD_GUI.app 啸澡,將 .jar 文件拖入應(yīng)用上,我們即可看到 java 代碼了氮帐。

image-20180721151415259

到此一個簡單的例子就結(jié)束了

參考

APK 介紹維基百科

Apktool 介紹百度百科

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嗅虏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子上沐,更是在濱河造成了極大的恐慌皮服,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件参咙,死亡現(xiàn)場離奇詭異龄广,居然都是意外死亡,警方通過查閱死者的電腦和手機蕴侧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門择同,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人净宵,你說我怎么就攤上這事敲才。” “怎么了择葡?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵紧武,是天一觀的道長。 經(jīng)常有香客問我敏储,道長脏里,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任虹曙,我火速辦了婚禮迫横,結(jié)果婚禮上番舆,老公的妹妹穿的比我還像新娘。我一直安慰自己矾踱,他們只是感情好恨狈,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呛讲,像睡著了一般禾怠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贝搁,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天吗氏,我揣著相機與錄音,去河邊找鬼雷逆。 笑死弦讽,一個胖子當著我的面吹牛贱呐,可吹牛的內(nèi)容都是我干的胯甩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼撒犀,長吁一口氣:“原來是場噩夢啊……” “哼某宪!你這毒婦竟也來了仿村?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兴喂,失蹤者是張志新(化名)和其女友劉穎蔼囊,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衣迷,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡压真,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蘑险。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡岳悟,死狀恐怖佃迄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贵少,我是刑警寧澤呵俏,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站滔灶,受9級特大地震影響普碎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜录平,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一麻车、第九天 我趴在偏房一處隱蔽的房頂上張望缀皱。 院中可真熱鬧,春花似錦动猬、人聲如沸啤斗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钮莲。三九已至,卻和暖如春彼水,著一層夾襖步出監(jiān)牢的瞬間崔拥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工凤覆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留链瓦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓叛赚,卻偏偏與公主長得像澡绩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俺附,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容