Android反編譯:Apktool师郑、dex2jar环葵、JD-GUI的使用

Android反編譯:Apktool、dex2jar宝冕、JD-GUI的使用

一张遭、概述

如果看到某款應(yīng)用的功能很好奇,而對于其實現(xiàn)方式一頭霧水猬仁。那么就可以對其進行反編譯帝璧,來獲取其中的實現(xiàn)方式。

Apktool:

  1. 可以用來將資源恢復(fù)到原來的形式湿刽,包括resources.arc 的烁、classes.dex9.pngXML文件
  2. 可以將反編譯后的資源文件重新打包成二進制的APK/JAR文件

dex2jar: 用來將classes.dex轉(zhuǎn)為jar文件

JD-GUI: 用來將查看jar文件诈闺,機制是將jar中的.class文件轉(zhuǎn)為.java文件

二渴庆、準備工作(Mac版)

  • ApkTool:

    • 下載地址:ApkTool運行腳本ApkTool運行庫

    • 安裝:

      1. apktool_x.x.x.jar命名為apktool.jar

      2. apktool腳本雅镊、apktool.jar文件移動到/usr/local/bin目錄下

      3. 為上述兩個文件增加可執(zhí)行權(quán)限襟雷,命令如下:

        chmod +x apktool
        chmod +x apktool.jar
        
  • dex2jar:

    • 下載地址:dex2jar

    • 安裝:

      1. 將下載好的dex2jar壓縮包解壓,將d2j-dex2jar.sh重命名為dex2jar.sh(這個命令最常用仁烹,名稱短一點好)

      2. 將解壓后的文件夾復(fù)制到/usr/local/bin目錄下

      3. d2j_invoke.sh增加可執(zhí)行權(quán)限

        chmod +x d2j_invoke.sh
        
      4. 配置環(huán)境變量(因為dex2jar可執(zhí)行文件下/usr/local/bin的子目錄下耸弄,所有要配置環(huán)境變量):

        # 1. 打開.bash_profile文件,并添加如下配置:
        export PATH=$PATH:/usr/local/bin/dex2jar
        # 2. 執(zhí)行命令:source ~/.bash_profile卓缰,讓配置立即生效
        
  • JD-GUI:

    1. 下載地址:JD-GUI
    2. 安裝:解壓后计呈,將JD-GUI.app復(fù)制到Applications文件夾,然后點擊即可使用

三征唬、使用Apktool反編譯apk獲取資源文件

# 在終端執(zhí)行如下命令捌显,就會在apk文件目錄下創(chuàng)建一個和apk同名的文件夾,該文件夾中放的是反編譯的資源文件
apktool d /xxx/xxx/xxx.apk

# 將反編譯后的文件重新打包
apktool b /xx/xx/xxx

四总寒、使用dex2jar將dex反編譯成jar

  1. 使用解壓軟件將apk文件解壓

  2. 在終端執(zhí)行如下命令:

    # cd 到apk解壓的目錄扶歪,然后執(zhí)行命令(apk解壓目錄中可能有多個.dex文件,要分別反編譯)摄闸,
    dex2jar classes.dex
    

五善镰、JD-GUI的使用

? 直接打開JD-GUI.app,然后將通過dex2jar反編譯后的.jar文件拖動到JD-GUI就可以查看到反編譯后的java代碼了贪薪。(反編譯后會出現(xiàn)abc這樣的類和包名媳禁,是因為作者對代碼進行了混淆,這樣反編譯后代碼的可讀性變差)

decompile

六画切、總結(jié)

使用這些工具是為了讓我們更好的學習代碼竣稽,寫出更好的代碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霍弹,一起剝皮案震驚了整個濱河市毫别,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌典格,老刑警劉巖岛宦,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異耍缴,居然都是意外死亡砾肺,警方通過查閱死者的電腦和手機挽霉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來变汪,“玉大人侠坎,你說我怎么就攤上這事∪苟埽” “怎么了实胸?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長番官。 經(jīng)常有香客問我庐完,道長,這世上最難降的妖魔是什么徘熔? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任门躯,我火速辦了婚禮,結(jié)果婚禮上酷师,老公的妹妹穿的比我還像新娘生音。我一直安慰自己,他們只是感情好窒升,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布缀遍。 她就那樣靜靜地躺著,像睡著了一般饱须。 火紅的嫁衣襯著肌膚如雪域醇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天蓉媳,我揣著相機與錄音譬挚,去河邊找鬼。 笑死酪呻,一個胖子當著我的面吹牛减宣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播玩荠,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼漆腌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了阶冈?” 一聲冷哼從身側(cè)響起闷尿,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎女坑,沒想到半個月后填具,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡匆骗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年劳景,在試婚紗的時候發(fā)現(xiàn)自己被綠了誉简。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡盟广,死狀恐怖描融,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情衡蚂,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布骏庸,位于F島的核電站毛甲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏具被。R本人自食惡果不足惜玻募,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望一姿。 院中可真熱鬧七咧,春花似錦、人聲如沸叮叹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉顽。三九已至蝗砾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間携冤,已是汗流浹背悼粮。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留曾棕,地道東北人扣猫。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像翘地,于是被迫代替她去往敵國和親申尤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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