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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android app逆向分析,如何开始对Android应用的逆向分析?

發布時間:2023/12/10 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android app逆向分析,如何开始对Android应用的逆向分析? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文是我的關于如何開始Android逆向系列文章的第一部分。在文末提供了一個文檔,你可以根據該文檔說明部署同我一樣的實驗環境。

在了解android應用的逆向之前,你必須對android平臺及其架構和android應用程序的構建塊(組件)已有了一個較好的理解。如果你并不了解這些,那么我建議你先參閱以下鏈接,然后再繼續瀏覽本文。

我當前的實驗室環境如下:主機系統為windows,其中安裝了virtual?box 和?genymotion

virtual box 和 genymotion的設備都處于橋接模式

Android 4.4 (kitkat?API?version 19)

在virtual box中,kali linux也同時運行(與genymotion一起)

注:該設置并非固定,你可以根據自身需求環境進行調整。例如,你也可以使用kali linux作為你的主機系統,并在上面安裝genymotion。

在正式開始我們的逆向之旅前,我想先向大家介紹一下名為adb(android debugger bridge)的工具/服務器。它可以幫助我們連接,獲取數據并將指令傳遞給遠程Android設備(調試模式可以通過設備設置中的開發者模式打開)。當前情況下,我們將使用genymotion設備(虛擬設備)。

對于安卓應用的逆向,這里有一個非常好的可供我們學習和練習的apk -??DIVA?( Damn insecure and vulnerable?mobile Application?)。這是一個由Payatu的安全分析師開發的脆弱安卓應用。下面我們也將以該應用為例:

首先,讓我們來啟動genymotion設備:在Windows/Linux中搜索Genymotion應用

Start genymotion

選中你想要啟動的設備,然后點擊Start按鈕。

如果你以上步驟正確執行,則應該能看到類似以下的界面:

可以看到Android設備已經啟動,現在我們來啟動虛擬機中的kali linux。步驟如下:啟動virtual box

從中啟動kali虛擬機

注:這兩個虛擬機處于橋接模式。如果有DHCP服務器,則需要連接到路由器或網絡。

現在兩臺機器都已啟動,下面讓我們來檢查下kali和Android設備之間的連接情況。為此,我們需要獲取Android設備的IP地址。導航到設置菜單

單擊WiFi選項

你會在網絡中看到WiredSSID

長按“WiredSSID”選項

你會看到如下所示界面

獲取IP后我們回到kali終端,并鍵入以下命令檢查連接情況:adb connect 192.168.20.74

如果命令正確執行,你將會看到以下輸出。

現在讓我們通過執行以下命令,來驗證設備是否真正連接:adb devices

通過確認我們得知設備已連接到IP地址192.168.20.74和5555端口(adb默認的連接端口為5555)。

現在,我們就可以在Android設備上執行不同的adb命令了。通過-h選項查看可用參數:adb -h

在幫助信息中會為你列出所有可用的參數選項。下面是一些在逆向中時常會用到的命令:

ADB 調試adb devices – Lists all the connected devices

adb forward – used for forwarding socket connections

adb kill-serve

無線adb connect – connects to the remote device

adb usb – connects to the USB attached device

包管理器adb install – install a package adb uninstall - uninstall a package adb shell pm list packages – used for displaying lists of packages installed adb shell pm path – used for displaying package path on device adb shell pm clear

文件管理器adb pull – used for pulling / downloading a file adb push – used for pushing / uploading a file adb shell ls – used for displaying list of files and directories in the current directory adb shell cd – used for changing the directory adb shell rm- used for removing a file adb shell mkdir – used for creating a directory adb shell touch – used for creating a file adb shell pwd – used for displaying the current path adb shell cp – used for copying a file adb shell mv – used for moving a file

網絡adb shell netstat – used for displaying the statistics for network connection adb shell ping – used for pinging a host / IP adb shell netcfg adb shell ip

Logcatadb logcat adb shell dumpsys adb shell dumpstate

截圖adb shell screencap adb shell screenrecord

系統adb root adb sideload adb shell ps adb shell top adb shell getprop adb shell setprop

在了解adb命令后,下面我們來安裝DIVA(Android應用程序)。

注:請將該應用下載安裝至你的kali機器上,因為所有的adb命令都將從kali中觸發。

執行以下命令安裝該應用:adb install diva-beta.apk

現在,我們已經完成了diva-beta.apk的安裝。讓我們來驗證下該應用是否已在我們的設備中成功安裝。

可以看到應用程序已被正確安裝,并可在設備的菜單中使用。

讓我們通過單擊該應用程的圖標來啟動它。你將看到如下啟動界面:

當前,DIVA為我們準備了以下挑戰:

不安全的日志記錄 硬編碼問題 - 第1部分 不安全的數據存儲 - 第1部分 不安全的數據存儲 - 第2部分 不安全的數據存儲 - 第3部分 不安全的數據存儲 - 第4部分 輸入驗證問題 - 第1部分 輸入驗證問題 - 第2部分 訪問控制問題 - 第1部分 訪問控制問題 - 第2部分 訪問控制問題 - 第3部分 硬編碼問題 - 第2部分 輸入驗證問題 - 第3部分

我們將逐一解決上述挑戰,讓你了解Android應用中的不同漏洞。對于第一項挑戰,即不安全日志記錄,我們可以通過adb命令來檢查diva應用的日志記錄。命令如下:adb logcat

如果命令正確執行,你將會看到如下所示內容:

可以看到這里的日志記錄非常的雜亂,因為它顯示了許多不同的日志記錄數據(整個設備)。為了讓我們看起來更加清晰,我將使用grep命令。但在此之前,我們需要首先獲取該應用程序包的進程ID。命令如下:adb shell ps | grep diva

如果命令正確執行,你將會看到如下所示內容:

adb shell是用于通過adb發送任何shell指令的命令;ps作為shell指令發送,ps的輸出提供給grep命令。Grep是一個非常棒的用于搜索相關字符串的工具,在本例中我們搜索的字符串為“diva”。

從輸出結果中我們得知,diva的pid為1654,包名稱為“jakhar.aseem.diva”

現在,讓我們以組合的形式使用logcat和grep命令:adb logcat | grep 1654

你將看到與該特定進程(即diva)相關的所有日志。

,FB小編 secist 編譯,轉載請注明來自FreeBuf.COM

總結

以上是生活随笔為你收集整理的android app逆向分析,如何开始对Android应用的逆向分析?的全部內容,希望文章能夠幫你解決所遇到的問題。

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