編輯:關於Android編程
我們一般想要反編譯一個apk,無非就是想獲得三樣東西
圖片資源 ,XML資源,和代碼資源
一.圖片資源獲取、
這個最簡單啦,
首先准備一個apk,嘿嘿就是你啦
這裡是一個.apk後綴的文件,我們先把後綴改成,zip,
然後就成了這樣
化身壓縮文件啦撒,然後打開後你就能看到如下圖
從壓縮文件裡解析出來的有很多目錄撒,有大家熟悉的res目錄,還有一個待會著重介紹的
classes.dex文件
在res目錄下,我們就可以獲取到我們需要的圖片了撒,是不是非常esay
二.XML資源獲取
我們可以在剛剛的目錄下看到很多.xml的文件,但是你以為這個也可以直接打開,你就太年輕了,當你嘗試著打開的時候都是亂碼或者是空白,那麼我們要如何獲取到這個xml資源呢,這時候就需要借助一個jar包,就是它,axmlprinter2.jar
這個東西你只要百度下,就能搜到。
然後 你把他放跟你解壓出來的xml放在同級目錄下,用cmd命令找到這個目錄,
我這邊的示例是將xml放在了E盤,大家根據情況,cd到自己解壓出來的目錄下,然後執行
java -jar AXMLPrinter2.jar xxxxx.xml>xxxxx.txt
如下所示
這個時候你就能獲取到xml裡的東西啦
是不是很easy嘻嘻
三.代碼資源的獲取
這個重中之重了,這也是我們主要想要獲取到的東西。但是存在一點,這裡能夠正確反編譯出來的只有未加密或者沒有混淆的代碼,如果想要反編譯一些加密或者混淆後代碼,俺們就需要其他途徑解決了
首先要准備兩樣東西
dex2jar主要是用來把之前zip解壓出來的classed.dex轉成jar包的
jd-gui主要是用來打開Jar包的
這兩個工具圖中有下載鏈接喲,嘻嘻
具體講下dex2jar怎麼用
把dex2jar 解壓後,然後將之前zip的classes.dex放到 dex2jar目錄下,
注意,必須要跟dex2jar.bat是同級目錄,如下圖所示
然後又要用到cmd,cd 到dex2jar目錄下,打命令行
dex2jar.bat classes.dex
然後你的目錄裡會多一個jar包
多了一個 classes-dex2jar.jar的文件
然後在用jd-gui把jar包打開,最終apk的代碼就這樣被剝離出來了
是不是很有成就感啊,但是值得注意的是,如果你反編譯的apk是已經被加密的,就會出現下面情況。下圖是題主試圖反編譯支付寶apk得到的代碼
所以,代碼混淆很重要撒嘻嘻,下篇博客主要講如何混淆自己的代碼,不讓別人那麼輕易地把你的代碼剝離出來
一、執行命令首先是啟動memcached 自帶參數如下: -p 設置TCP端口號(默認設置為: 11211)-U UDP監聽端口(默認:
父Activity啟動子Activity,並且向其傳遞消息,子Activity啟動後完成相應的操作後回饋父Activity消息,父Activity完成相應的操作。The
mDrawableRect.width() * mBitmapHeight) { scale = mDrawableRect.height
前幾個月剛接觸Android的時候做了一個小項目,其中也用到了類似刮刮樂的效果,現在把代碼貼出來 首先要做一個類似橡皮擦的東西吧,然後才能