一個安卓apk的逆向步驟

apktool工具

ApkTool是一個Apk逆向工程所使用的第三方工具。它可以將資源解碼成接近原始的形式,并在修改后重建。它可以一步一步地調(diào)試smali代碼。此外,它還簡化了應(yīng)用程序的工作,因為它具有類似于項目的文件結(jié)構(gòu),并且自動化了一些重復(fù)性的任務(wù),如構(gòu)建APK等。

官方下載地址>>

可以將apktool 配置到環(huán)境變量中,這樣只需直接通過apktool命令即可使用。

在mac中配置步驟:

1.下載腳本,保存為apktool;
2.下載最新的apktool_x.x.jar;
3.將下載的jar包重命名為apktool.jar;
4.將下載的apktool和apktool.jar移到/usr/local/bin目錄,可手動移動也可通過以下命令行移動:

sudo mv file /usr/local/bin

5.賦予兩個文件可執(zhí)行權(quán)限

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

此時即可使用apktool命令

  • 簡單的命令:
# 反編譯
$ apktool d test.apk
# 重新編譯
$ apktool b test

如果有以下報錯,

Exception in thread "main" org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: cf 77 4c c7 9b 21 01 cd

說明apk中含有加密的Dex文件,可添加以下命令忽略此類dex的反編譯

#反編譯(忽略加密dex)
$ apktool d test.apk -only-main-classes

6.此時應(yīng)該還要準備兩個文件(可在文章結(jié)尾下載)

dex2jar:dex轉(zhuǎn)jar工具
jd-gui:jar包可視化工具

在逆向過程中,dex2jar幫助我們將dex文件轉(zhuǎn)換成jar包,jd-gui幫助展開了jar包,就可以愉快的偷窺了。

7.萬事俱備,只欠apk

在windows中配置

1.下載apktool_x.x.x.jar
2.將jar拷貝到本地某個文件夾下
3.在當前文件夾下新建apktool.bat文件,內(nèi)容如下:

@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
chcp 65001 2>nul >nul
java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0\apktool.jar" %*

4.雙擊運行bat 。
5.執(zhí)行完畢后,在當前文件夾下重新打開Powershell(可以shift+鼠標右鍵快速打開),輸入apktool即可正常使用。

應(yīng)用市場摘取一枚apk

此處簡單以youdaonote.apk為例

  • 執(zhí)行完畢apktool d xxx.apk后,會在同級目錄下生成一個文件夾


    反編譯后
  • 在IntelliJ IDEA中打開


    in idea
  • 嘗試破解-非vip可使用壁紙
    (在該應(yīng)用中,非vip是無法使用特定壁紙)

    image.png

    此處需要了解簡單的smali語法
    參考:https://www.cnblogs.com/sevck/p/6844513.html
    之后就是可以全局查找,瀏覽等等手段,定位到關(guān)鍵代碼位置,修改smali代碼,再通過上面的命令來完成重新打包,再簽名,即得一枚破解包。

 - apktool b test

后記

這里只是簡單的記錄下破解手段,因為自家app也被破解了,所以必須得知己知彼。
破解軟件不安全,用不得,此處僅供學(xué)習(xí)。

# 反編譯
apktool d app-release.apk -o outdir 

# 回編譯(生成的apk默認放在targetdir/dist目錄中,或通過 -o new.apk 指定)
apktool b targetdir

dex2jar+jd-gui mac版下載(提取碼7i7k)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容