1. 程式人生 > >Android常用逆向工具總結(未完待續)

Android常用逆向工具總結(未完待續)

寫在前面的話

突然覺得我好無聊,寫這個有種浪費生命的感覺有沒有,不過專案結束的時候這個還是要寫的,以後寫還不如現在趁現在,趁著現在連結就在身邊直接寫了。

1.apktool的安裝和使用

1.1 apktool的安裝

上面寫的很詳細了,你因為沒有問題的話那就直接看吧。
這裡寫圖片描述

安裝連結

首先我們需要下面兩個東西

  • apktool
  • apktool.jar

將這個兩個檔案移動到/usr/local/bin 這個目錄下,移動的時候確保這兩個檔案都有執行的許可權:

chmod a+x apktool
chmod a+x apktool.jar

這裡寫圖片描述

這樣就搞定了,你可以試一試。

1.2 apktool的使用

這裡寫圖片描述

這裡寫圖片描述

下面我們來說一個比較常用的用法,如果我們有一個APK檔案,我們還要把這個APK輸入到特定的資料夾中,或者說是目錄中去,那我們就可以用下面這個命令:

apktool d apkfile.apk -o /home/your_name/des_dir

-o 表示輸出到指定的目錄,/home/your_name/des_dir 假設為我們要輸出的目錄

要是這個目錄沒有存在我們使用 -o 會自動建立這個目錄,如果這個目錄已經存在了,那麼我們就用 -f 這個命令強制把這個目錄覆蓋了,裡面的東西都會沒有在的。這個是要注意的。

2.dex2jar的安裝和使用

2.1 dex2jar的安裝

dex2jar工具就是將 classes.dex檔案這種二進位制的位元組碼檔案轉換成比較容易閱讀的Java檔案

我們可以使用jd-jui來看我們的原始碼。

classes.dex檔案包含了整個Android 的APK的所有原始碼。

在這個頁面我們可以看見一個下載連結

這裡寫圖片描述

點選Downloads這個按鈕就可以直接跳轉到我們的下載頁面
或者你可以直接點選這個連結進行下載 dex2jar下載 我們一般選擇下載最近的版本。

這裡寫圖片描述

下載好之後我們會看到這樣一個資料夾:

這裡寫圖片描述

解壓:

這裡寫圖片描述

解壓之後我們把檔案家重新命名一下,方便使用,直接就叫dex2jar.這個時候我們給這個資料夾,以及裡面的所有檔案都賦執行許可權

chmod -R 777 dex2jar/

只要把我們的APK檔案的字尾改了,變成zip然後把其中的classes.dex檔案放在我們的dex2jar資料夾下面然後執行

sh d2j-dex2jar.sh classes.dex

為了在任何地方都可以使用我們把這個路徑新增到我們的環境變數中。我們用下面這個方法將我們的dex2jar檔案新增到我們的環境變數中去,當然也可以用其他方法設定環境變數。

這裡寫圖片描述

當然為了方便,我把裡面的d2j-dex2jar.sh直接換成了dex2jar.sh 這樣方便我們使用
這樣我們就可以在任何地方使用我們的dex2jar.sh了。

這裡寫圖片描述

我們可以看見在我們的~/test檔案的目錄下面並沒有我們的dex2jar檔案

這個時候要執行這個dex2jar 解析classes.dex檔案就可以這樣:

dex2jar.sh classes.dex

注意:

執行指令碼是有兩種方式的:
這裡寫圖片描述
這裡寫圖片描述

所以我們要在任意目錄下執行只需要將它所處的位置新增到環境變數中去,然後直接

script.sh 

就可以了。
如果你還要執行
sh script.sh 就會報錯,因為它會在當前目錄下找我們的指令碼,如果指令碼沒有在這個目錄下,那麼顯然是找不到的,就會報錯。

這裡寫圖片描述

注意:我們在哪個目錄下使用我們的dex2jar.sh 命令,那麼生成的 classes-dex2jar.jar 就會出現在那個目錄下

老版的生成的是classes_dex2jar.jar 老版指的是2014年的那個發行版,現在的這個下劃線變了下位置,我勒個去。。。。。
搞事情的趕腳

好的,今天就先分享到這裡,我簡直愛死我自己的電腦了,因為所有的裝置到軟體全部是我自己配置的,所有設定,連vim 都被我設定的超級吊,每次寫程式碼都停不下來。哈哈哈。工欲善其事必先利其器,biubiu,我愛死我的槍了,biubiu~

這裡寫圖片描述

想外公啊,很想,很想。
我媽說昨天外婆又哭了一晚上
說做外公家的媳婦很不容易,婆婆總是刁難
和外公走了這麼多年不容易

我也很想他,很想,很想,很想很想