日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Android应用安全防护和逆向分析 ——apk反编译

發布時間:2023/12/13 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 Android应用安全防护和逆向分析 ——apk反编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

最近一直在學習Android應用安全相關和逆向分析的知識。現在移動app在安全方面是越來越重視了,特別是那些巨頭企業涉及到錢的應用,那加密程度,簡直是喪心病狂,密密麻麻。從這里可以看出,對于應用的安全,那些巨頭企業是多么的看重了。我們有時候在某個app上見到某個功能,某個效果蠻不錯的,我們想看看對方的思路怎么走的,這時候,我們就可以通過反編譯來編譯該apk,拿到代碼,進行分析。

本人的是Mac環境,如果是window環境的同學,在環境搭建和工具上可以選擇Window環境的。先看看需要到的工具;

1、apktool:https://ibotpeaches.github.io/Apktool/install/

2、dex2jar:https://github.com/pxb1988/dex2jar

3、jd-gui:http://jd.benow.ca

注意:工具一定要是當前最新版本的,否則很容易出現一些莫名其妙的錯誤。

先看一下項目的包結構

然后在簡單看MainActivity中的內容。(這里給出該類的內容,只是為了后期和反編譯出來的內容做個對比)

好了,下面開始我們的反編譯之路了 。我們一個一個工具來說。

安裝apktool

當我們下載好apktool.jar以后,可能有的人會有后綴名,都改為apktool.jar,然后終端輸入命令open /usr/local/bin,然后將apktool和apktool.jar移到/usr/local/bin文件夾下,就OK了,判斷apktool是否安裝成功,可以通過命令:apktool 來判斷

如果出現紅色圈的這一大片,則說明安裝成功。

注意:dex2jar和jd-gui不需要安裝,直接解壓即可。

使用apktool反編譯

1、首先使用命令:cd xxx/xxx/xxx (xxx/xxx/xxx代表apk的存放路徑)

2、使用命令:apktool d app-debug.apk (app-debug.apk是你的apk名稱)

到這一步以后,會在你存放apk包的路徑下生成一個文件夾

進入文件夾,你會發現,有我們項目的資源文件和xml文件。那么代碼呢???沒有看到,別急

在執行一個命令:apktool b xxx (xxx代表剛剛我們生成的文件夾的名稱)

執行完上面的命令以后,可以看到文件夾中多了一個build文件夾,而這個build文件夾下的classes.dex文件就是我們最終需要的。

好了,apktool的工作到這里就結束了,下面我們需要另外兩個工具dex2jar,jd-gui。

dex2jar

1、使用命令:cd xxx/xxx/xxx (xxx/xxx/xxx代表dex2jar的路徑)

2、使用命令:sh d2j-dex2jar.sh -f xxx/xxx/xxx (xxx/xxx/xxx代表classes.dex的路徑)

然后在dex2jar文件夾下會生成classes-dex2jar.jar的架包,這個包,就是我們的Java文件代碼。

那么怎么看代碼呢?jd-gui上場了。打開jd-gui,直接將classes-dex2jar.jar拖進來,就可以可以看到了。

對比一下最前面的MainActivity代碼全部被反編譯出來了。

很多人就會說,你這個項目是demo,并沒有做混淆,所以可以反編譯出來??但是,需要知道的是,如果做了混淆,一樣可以反編譯出來,只不過說里面的很多類名,方法名,變量名等等都是以a,b,c這樣的形式存在,但是這種并不影響能過看出你的代碼邏輯,只是給閱讀增加了一絲的難度而已。所以,項目做混淆,只是最基礎的一種方式,還有很多很多我們需要考慮的。

總結

以上是生活随笔為你收集整理的Android应用安全防护和逆向分析 ——apk反编译的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。