[分享] apk 的反組譯(decompiler)
看到有版友討論到 apk 的反組譯,所以野人獻曝一下,把自己 google 尋找後的一
些工具以及心得和大家分享。
apk 其實和 jar 檔一樣,其實都是 zip 格式的壓縮檔,可以利用解壓縮的程式解開
,因此,所有內含的檔案,包含 drawable 內的圖檔,color、layout、mainfest 等等
xml 都可以被看光光XD
不過 xml 的部份有經過編碼再壓進壓縮檔之內,所以解壓縮之後為 binary 檔案,
無法直接讀取辨識,有個工具可以讀進這些檔案,然後還原成原始的 xml。工具請參考以
下網頁:
http://code.google.com/p/android4me/
解決了 res,接下來是 code 的部份,不過就我現在找到的工具,反組譯回來還無法
是 java 檔,頂多是類似組合語言層級的一些東西。工具說明如下:
1.dx:
初識 dx,是因為之前 Android 版上有高手利用 dx 解析 robo defence,再加上
高手的多年經驗,將 robd defence 改得極為有趣,有興趣的可以回 Android 版
爬文。
2.dexdump:
後來尋尋覓覓,發現了這個工具,這個和 dx 一樣,都可以在 Android 的 SDK 之
中找到。
/android-sdk/platforms/android-3/tools/ 下,其中的 android-3,
當然可以換成 android-4, android-5 ....
3.dedexer:
現在我用的是這個,之前提到的 dx 和 dexdump,解開來的檔案相對起來不易閱讀
,而 dedexer 解開來會根據不同的 package,不同 class,分門別類的把檔案放好
,而且 inner class 也會存成另外的檔案,方便閱讀。真的是出門在外,破解 dex
的最佳良伴:)
dedexer 請參考網頁 http://dedexer.sourceforge.net/
我抓到的 apk 有 lib,下面有 .so 檔怎麼辦??
linux 下有 nm、objdump,相信不僅可以把人家看光光,還可以像紅外線一樣看到骨
子裡去。
小結:
這樣看來,其實不管程式是用 JAVA,還是利用 JNI 寫 C,其實都是一樣被看光光
的>\\\<,只不過解出來有可能是組合語言,接下來就是看這隻程式值不值得我花時間和
硬功夫去 k 他的組語把他看懂。
或許還是如之前版友 qrtt1 所說,程式榜服務才是正解??
其實我也不知道XD
--
上面所有,皆是網路 google 而來,我只是做個簡單的整理,
加上一點點小小的心得,歡迎享用:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.80.94
→
01/20 15:32, , 1F
01/20 15:32, 1F
→
01/20 15:32, , 2F
01/20 15:32, 2F
推
01/20 15:43, , 3F
01/20 15:43, 3F
→
01/20 15:44, , 4F
01/20 15:44, 4F
→
01/20 15:44, , 5F
01/20 15:44, 5F
→
01/20 15:45, , 6F
01/20 15:45, 6F
→
01/20 15:46, , 7F
01/20 15:46, 7F
推
01/20 15:54, , 8F
01/20 15:54, 8F
推
01/20 15:58, , 9F
01/20 15:58, 9F
→
01/20 15:59, , 10F
01/20 15:59, 10F
推
01/20 16:05, , 11F
01/20 16:05, 11F
→
01/20 16:06, , 12F
01/20 16:06, 12F
→
01/20 16:06, , 13F
01/20 16:06, 13F
→
01/20 16:30, , 14F
01/20 16:30, 14F
推
01/20 17:16, , 15F
01/20 17:16, 15F
推
01/20 19:27, , 16F
01/20 19:27, 16F
→
01/20 19:29, , 17F
01/20 19:29, 17F
→
01/20 19:29, , 18F
01/20 19:29, 18F
推
01/20 19:35, , 19F
01/20 19:35, 19F
推
01/21 12:23, , 20F
01/21 12:23, 20F
→
01/25 03:32, , 21F
01/25 03:32, 21F
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章