Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android安全專項測試之反編譯

Android安全專項測試之反編譯

編輯:關於Android編程

apktool

反編譯APK

使用apktool d ,默認會生成和APK文件名同名的文件夾,裡面會存放反編譯後的文件:

localhost:apk wuxian$ apktool d com.wangyin.payment-3.11.1.apk
I: Using Apktool 2.0.1 on com.wangyin.payment-3.11.1.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /Users/wuxian/Library/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...

這裡寫圖片描述

反編譯後的文件目錄

這裡寫圖片描述

assets:文件資源 lib:依賴庫文件 original:原生文件 res:資源文件 smali:dalvik文件 unknown:其他

主要關注res文件夾和smail文件夾

res目錄中的字符串文件篡改

這裡寫圖片描述

Android中的字符串都保存在res/values/strings.xml中,如果可以修改這個文件,且能重新打包,那麼我們的應用就被篡改了。我將應用名更改為TesterHome,且將馬上登錄 改成了 馬上登錄TesterHome;<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMSBpZD0="重新編譯">重新編譯

命令:apktool b <反編譯後的目錄>

localhost:apk wuxian$ apktool b com.wangyin.payment-3.11.1
I: Using Apktool 2.0.1
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Copying libs... (/lib)
I: Building apk file...
I: Copying unknown files/dir...

會在反編譯目錄下的dist目錄下生成一個APK:

這裡寫圖片描述

安裝

這個時候安裝會報錯:

localhost:dist wuxian$ adb install com.wangyin.payment-3.11.1.apk 
992 KB/s (27039435 bytes in 26.616s)
    pkg: /data/local/tmp/com.wangyin.payment-3.11.1.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

因為沒有證書,我們需要給應用簽名。

重簽名

重簽名需要如下幾個文件:signapk.jar,testkey.x509.pem,testkey.pk8三個文件,有了這個文件後執行如下命令給應用簽名([auto_sign)(http://download.csdn.net/detail/shaojie519/5073357))。

重簽命令:java -jar signapk.jar testkey.x509.pem testkey.pk8 com.wangyin.payment-3.11.1.apk testerhome.apk

簽名成功後,會生成一個新的apk:testerhome.apk。這個時候安裝就成功了。

效果

這裡寫圖片描述

這裡寫圖片描述

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved