Mac環(huán)境下反編譯apk

這里講三種

  • Android Studio 2.2版本以上的APK Analyzer
  • Android-classyshark
  • dex2jar & jd-gui & apktool

Android Studio 2.2的APK Analyzer

  • 直接把需要反編譯的apk直接拖到Android Studio的圖標(biāo)上即可。(這個(gè)親測得Android Studio最小化的時(shí)候拖料睛,拖完在點(diǎn)出來就有了)

或者

  • 選項(xiàng)Build-->Analyze APK,然后選擇要反編譯的apk。
選擇apk文件.png

然后直接將apk給反編譯出來笨腥。看圖:

反編譯.png
反編譯1.png

這種方法可以獲取到xml者春,以及圖標(biāo)等資源文件赂苗,但是我們發(fā)現(xiàn)在java代碼部分只給出了方法數(shù)帆离,方法名,并沒有方法里具體的代碼(在沒有被加固的情況下)僧叉,這點(diǎn)有點(diǎn)不滿意奕枝。后面有方法,暫且先按下瓶堕,看看剛剛那幾個(gè)文件夾以及文件干嘛的隘道,看圖:

文件&文件夾.png

簡要說明:

  • assets文件夾:原始資源文件夾,對應(yīng)著Android工程的assets文件夾郎笆,一般用于存放原始的圖片谭梗、txt、css等資源文件宛蚓。

  • lib:存放應(yīng)用需要的引用第三方SDK的so庫激捏。比如一些底層實(shí)現(xiàn)的圖片處理、音視頻處理凄吏、數(shù)據(jù)加密的庫等远舅。而該文件夾下有時(shí)會多一個(gè)層級,這是根據(jù)不同CPU 型號而劃分的痕钢,如 ARM图柏,ARM-v7a,x86等任连。

  • META-INF:保存apk簽名信息蚤吹,保證apk的完整性和安全性。

  • res:資源文件夾课梳,其中的資源文件包括了布局(layout)距辆,常量值(values)余佃,顏色值(colors)暮刃,尺寸值(dimens),字符串(strings)爆土,自定義樣式(styles)等椭懊。

  • AndroidManifest.xml文件:全局配置文件,里面包含了版本信息、activity氧猬、broadcasts等基本配置背犯。不過這里的是二進(jìn)制的xml文件,無法直接查看盅抚,需要反編譯后才能查看漠魏。

  • classes.dex文件:這是安卓代碼的核心部分,,dex是在Dalvik虛擬機(jī)上可以執(zhí)行的文件妄均。這里有classes.dex和classes2.dex兩個(gè)文件柱锹,說明工程的方法數(shù)較多,進(jìn)行了dex拆分丰包。

  • resources.arsc文件:記錄資源文件和資源id的映射關(guān)系

Android-classyshark

這種是看的隋胖胖里提供的方法禁熏。
下載地址:https://github.com/google/android-classyshark/releases,下載下來之后是一個(gè)可執(zhí)行的jar文件邑彪,在終端執(zhí)行

java -jar Classyshark.jar

即可打開圖形化界面瞧毙。在打開的圖形操作界面中拖入待目標(biāo)apk,即可展示出反編譯之后的結(jié)果寄症。
這個(gè)實(shí)際和AndroidStudio的APK Analyzer功能差不多宙彪,也不能看到j(luò)ava代碼。截個(gè)圖感受一下有巧。

右邊是輸入的命令.png
屏幕快照 2017-09-05 下午2.39.45.png

也不能看到方法里具體代碼您访,但是獲取一下資源文件還是可以的。

dex2jar & jd-gui & apktool

下面說下這個(gè)方法剪决,重頭戲灵汪。這個(gè)最惡心的就是下載了,mac環(huán)境下有很多講這種方法的但是要么就是下載難要么就是給的命令行不懂柑潦,在這里享言,不要管別人那怎么樣了,按我的走渗鬼,保證走通览露。首先下載,話不多說譬胎,直接上傳網(wǎng)盤差牛。

反編譯代碼

  1. 首先解壓dex-tool-2.0.zip得到dex2jar-2.0文件夾偏化,mac環(huán)境下需要的三個(gè)文件是 d2j_invoke.sh & d2j-dex2jar.sh & lib,他們在同一目錄級別镐侯≌焯郑看圖:
屏幕快照 2017-09-05 下午3.06.20.png
  1. 將apk文件的后綴改為zip,并解壓(這時(shí)候其實(shí)我們可以得到該app使用的圖片資源扶认,但是xml是看不了的蓄喇,還是需要反編譯資源),然后將classes.dex文件移動到dex2jar-2.0的文件夾目錄下诅福,即與上述三個(gè)文件統(tǒng)一目錄沈条⌒璺蓿看圖:
屏幕快照 2017-09-05 下午3.08.42.png
  1. 打開終端cd 到該目錄下輸入命令:
chmod a+x d2j_invoke.sh
chmod a+x d2j-dex2jar.sh

給這兩個(gè)文件添加可執(zhí)行權(quán)限。然后輸入命令:

sh d2j-dex2jar.sh classes.dex

如圖:

111.png

這時(shí)候就會在dex2jar-2.0目錄下生成一個(gè)classes-dexjar.jar文件蜡歹,如圖:

屏幕快照 2017-09-05 下午3.22.22.png

打開jd-gui-osx-1.4.0,使用JD-GUI.app打開classes-dexjar.jar即可贴谎。

屏幕快照 2017-09-05 下午3.24.40.png

結(jié)果展示一下:

屏幕快照 2017-09-05 下午12.09.34.png

是可以看到具體的代碼的。

反編譯資源

在我的百度網(wǎng)盤里下載apktool季稳,解壓縮后有兩個(gè)文件apktool.sh & apktool.jar,將apk文件移動到與上述兩個(gè)文件相同的目錄,終端cd到該目錄擅这,執(zhí)行命令:

sh apktool.sh apktool d xxx.apk

如圖:

屏幕快照 2017-09-05 下午12.10.26.png

結(jié)束以后,就會多出一個(gè)xxx的文件夾景鼠,內(nèi)容如下:

屏幕快照 2017-09-05 下午3.39.34.png

反編譯資源完成仲翎,xml文件都可以看。

  1. 修改后重新打包命令:
sh apktool.sh b xxx -o Newxxx.apk

總結(jié)

這三種方法就介紹完了铛漓,反編譯代碼都是在apk未加固的情況下完成的溯香,加固的就不要試了。但是浓恶,資源文件在apk加固的情況下也可以去獲取的玫坛,如果想要一些小圖標(biāo)啥的,沒有問題的包晰。如果只是需要資源文件我建議就Android Studio自帶的就很好了湿镀,只需要小手拖一拖。第三種方法需要的文件在我網(wǎng)盤上下就可以了伐憾。
有問題留言勉痴,謝謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末树肃,一起剝皮案震驚了整個(gè)濱河市蒸矛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌胸嘴,老刑警劉巖雏掠,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異劣像,居然都是意外死亡乡话,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進(jìn)店門驾讲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚊伞,“玉大人,你說我怎么就攤上這事吮铭∈逼龋” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵谓晌,是天一觀的道長掠拳。 經(jīng)常有香客問我,道長纸肉,這世上最難降的妖魔是什么溺欧? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮柏肪,結(jié)果婚禮上姐刁,老公的妹妹穿的比我還像新娘。我一直安慰自己烦味,他們只是感情好聂使,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谬俄,像睡著了一般柏靶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上溃论,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天屎蜓,我揣著相機(jī)與錄音,去河邊找鬼钥勋。 笑死炬转,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的算灸。 我是一名探鬼主播返吻,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼乎婿!你這毒婦竟也來了测僵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤谢翎,失蹤者是張志新(化名)和其女友劉穎捍靠,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體森逮,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榨婆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了褒侧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片良风。...
    茶點(diǎn)故事閱讀 39,834評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谊迄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烟央,到底是詐尸還是另有隱情统诺,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布疑俭,位于F島的核電站粮呢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏钞艇。R本人自食惡果不足惜啄寡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哩照。 院中可真熱鬧挺物,春花似錦、人聲如沸飘弧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眯牧。三九已至蹋岩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間学少,已是汗流浹背剪个。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留版确,地道東北人扣囊。 一個(gè)月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像绒疗,于是被迫代替她去往敵國和親侵歇。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評論 2 354

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