0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于frida的Objection對APP逆向過程的作用

哆啦安全 ? 來源:編碼安全 ? 作者:編碼安全 ? 2022-10-09 11:08 ? 次閱讀

582a0ea4-411d-11ed-96c9-dac502259ad0.png

背景

在APP的逆向過程中避免借助使用一些反匯編工具,動靜態(tài)調(diào)試分析工具,自然也免不了和frida這個工具打交道,frida作為強大的逆向分析工具在攻防過程中具有不可撼動的地位。

很多frida玩得很溜的牛人,將frida強大的功能集成一個工具便于大家去使用它,這個工具就是objection。

frida github 地址

objection github地址

objection 它的功能非常強大,支持的命令眾多。它是基于Frida開發(fā)的命令行工具,它可以實現(xiàn)不用寫一行代碼,便可實現(xiàn)諸如內(nèi)存搜索、類和模塊搜索、方法hook打印參數(shù)返回值調(diào)用棧等常用功能,因此稱它為一款非常便捷高端的逆向工程內(nèi)存漫游神器都不為過。

Objection功能雖然強大,但它有個比較大的遺憾就是缺少對native層的支持。

分析準(zhǔn)備

由于objection是基于frida的,因此在使用objection前,也是需要啟動frida-server和端口轉(zhuǎn)發(fā)。

1.啟動frida-server

585ec5f4-411d-11ed-96c9-dac502259ad0.png

2.端口轉(zhuǎn)發(fā)

58ebc33c-411d-11ed-96c9-dac502259ad0.png

3.objection功能的啟動(它也是通過想目標(biāo)app進行注入frida的so文件然后進行做對應(yīng)功能操作)

58fdd6ee-411d-11ed-96c9-dac502259ad0.png

一切就緒后目標(biāo)APP就多了個frida的so文件了

59111678-411d-11ed-96c9-dac502259ad0.png

四大組件分析

Android 四大組件分別為:

Activity

Service

BroadCast Receiver

Content Provider

可通過android hooking list 組件名稱的命令列出想查詢分析的四大組件信息

通過android hooking list activities可將應(yīng)用中的所有activity列出

592adefa-411d-11ed-96c9-dac502259ad0.png

通過android hooking list services可將應(yīng)用中的所有services列出

593b1108-411d-11ed-96c9-dac502259ad0.png

通過android hooking list receivers可將應(yīng)用中的所有receivers列出

59616880-411d-11ed-96c9-dac502259ad0.png

搜索功能分析

以下命令用于搜索內(nèi)存相關(guān)的

枚舉當(dāng)前進程模塊

查看指定模塊的導(dǎo)出函數(shù)

memory list exports [lib_name]

將結(jié)果保存到j(luò)son文件中

memory list exports libart.so --json /root/libart.json

搜索內(nèi)存包含指定的字符串信息

memory search --string --offsets-only

dump整個內(nèi)存

memory dump all from_base

列出內(nèi)存中所有的類

android hooking list classes

在內(nèi)存中所有已加載的類中搜索包含特定關(guān)鍵詞的類

android hooking search classes [search_name]

在內(nèi)存中所有已加載的方法中搜索包含特定關(guān)鍵詞的方法

android hooking search methods [search_name]

直接生成hook代碼

android hooking generate simple [class_name]

59739f00-411d-11ed-96c9-dac502259ad0.png

查詢指定模塊的所有接口

597fe04e-411d-11ed-96c9-dac502259ad0.png

搜索APP指定字符串信息

599637cc-411d-11ed-96c9-dac502259ad0.png

查詢類的詳細(xì)信息

59d1f438-411d-11ed-96c9-dac502259ad0.png

轉(zhuǎn)存APP的運行內(nèi)存數(shù)據(jù)

5a259c00-411d-11ed-96c9-dac502259ad0.png

搜索內(nèi)存中的所有函數(shù)

5a3732b2-411d-11ed-96c9-dac502259ad0.png

HOOK功能分析

hook指定方法, 如果有重載會hook所有重載,如果有疑問可以看

--dump-args : 打印參數(shù)

--dump-backtrace : 打印調(diào)用棧

--dump-return : 打印返回值

android hooking watch class_method com.xxx.xxx.methodName --dump-args --dump-backtrace --dump-return

hook指定類, 會打印該類下的所以調(diào)用

android hooking watch class com.xxx.xxx

設(shè)置返回值(只支持bool類型)

android hooking set return_value com.xxx.xxx.methodName false

查看目前所有hook的方法

Jobs list

androidhookingwatchclassio.virtualapp.home.HomeActivity

進行hook 類io.virtualapp.home.HomeActivity

5a584bbe-411d-11ed-96c9-dac502259ad0.png

其他功能分析

通過執(zhí)android shell_exec命令,可以實現(xiàn)調(diào)用執(zhí)行指定命令功能

通過執(zhí)行 android shell_exec “ps”查詢當(dāng)前環(huán)境所有運行的進程信息

5a7c0b4e-411d-11ed-96c9-dac502259ad0.png

通過調(diào)用env命令查看APP相關(guān)的目錄

5a8ecc02-411d-11ed-96c9-dac502259ad0.png

通過命令,關(guān)閉ssl校驗

android sslpinning disable

5ab391f4-411d-11ed-96c9-dac502259ad0.png





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Android系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    13675

原文標(biāo)題:Objection高效對APP逆向分析實踐

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Windows/Ubuntu安裝fridaobjection

    Windows環(huán)境使用管理員權(quán)限安裝frida,Ubuntu使用普通或Root權(quán)限安裝均可。
    發(fā)表于 11-17 09:36 ?1333次閱讀

    frida-inject工具使用及說明 內(nèi)置frida-inject工具到手機系統(tǒng)

    frida-inject是frida中提供的可以直接放到手機端執(zhí)行注入js腳本到App程序進行hook的工具。也就是說使用frida-inject命令可以脫離PC端執(zhí)行注入了。
    的頭像 發(fā)表于 10-26 10:42 ?7500次閱讀

    035. 35 逆向APP的思路 #硬聲創(chuàng)作季

    APP
    充八萬
    發(fā)布于 :2023年06月29日 08:51:59

    電子產(chǎn)品逆向設(shè)計完整解決方案

    已經(jīng)落后了.  l、 企業(yè)為什么要做逆向設(shè)計? 電子產(chǎn)品逆向設(shè)計過程如下: 現(xiàn)有國外最新產(chǎn)品 -> 反出PCB設(shè)計圖 -> 反出SCH原理圖 -&
    發(fā)表于 07-23 10:01

    [原創(chuàng)電子產(chǎn)品逆向設(shè)計的相關(guān)資料〈抄板軟件+PCB返原理圖〉

    了。l  企業(yè)為什么要做逆向設(shè)計?電子產(chǎn)品逆向設(shè)計過程如下:現(xiàn)有國外最新產(chǎn)品 -> 反出PCB設(shè)計圖 -> 反出SCH原理圖 -> 對原理圖
    發(fā)表于 08-27 09:40

    [資料分享]+《Android軟件安全與逆向分析》

    與ARM匯編語言——逆向你的原生Hello ARM 160  6.2.1  原生程序逆向初步 160  6.2.2  原生程序的生成過程 162  6.2.3  必須了解的ARM知識 164  6.3
    發(fā)表于 09-26 10:53

    三維逆向工程的成果及應(yīng)用案例

    `三維逆向工程的成果及應(yīng)用案例何為逆向工程?為適應(yīng)現(xiàn)代先進制造技術(shù)的發(fā)展,需將實物樣件或手工模型轉(zhuǎn)化為Sence數(shù)據(jù),以便利用快速成形系統(tǒng)、計算機輔助系統(tǒng)等對其進行處理,并進行修改和優(yōu)化。逆向工程
    發(fā)表于 03-02 15:12

    眼睛按摩器需要找誰來逆向開發(fā)

    如果要逆向一個電子產(chǎn)品,比如說眼睛按摩器,需要找誰來逆向開發(fā)?pcb公司在里面起什么作用?還需要找什么公司代工?
    發(fā)表于 04-22 17:31

    IC驗證“UVM驗證平臺加入objection機制和virtual interface機制“(七)

    輸出。而main_phase是一個完整的任務(wù),沒有理由 只執(zhí)行第一句,而后面的代碼不執(zhí)行??瓷先ニ坪鮩ain_phase在執(zhí)行的過程中被外力“殺死”了,事實上也確實如此。UVM中通過objection
    發(fā)表于 12-09 18:28

    3d打印逆向工程操作步驟、流程及作用講解

    逆向工程又稱為逆向技術(shù),主要是針對于正向工程而言。正向工程是從產(chǎn)品設(shè)計到產(chǎn)品生產(chǎn),是一種“從無到有”的設(shè)計過程,而逆向工程則是對一種產(chǎn)品設(shè)計技術(shù)再現(xiàn)的
    發(fā)表于 10-24 17:08 ?8728次閱讀

    app漏洞題 安裝包8.apk,要求獲得flag

    題目來源:Tencent某Android CTF題 題目:安裝包8.apk,要求獲得flag 知識點:Frida/objection、IDA、AES加密 解題過程:安裝APK,點擊登錄,進入如下
    的頭像 發(fā)表于 09-26 10:12 ?2773次閱讀

    逆向基礎(chǔ)題:安裝包是11.ab,要求密碼驗證登陸

    題目來源:2019XCTF MOBILE 第三題 題目:安裝包是11.ab,要求密碼驗證登陸。 知識點:Frida objection,SQLCipher加解密,Android備份和還原。 解題過程
    的頭像 發(fā)表于 11-02 11:40 ?2163次閱讀

    安卓常規(guī)逆向操作涉及到的知識點介紹

    持久化frida(獨立執(zhí)行frida,不需要借助adb 執(zhí)行frida-server終端命令)
    的頭像 發(fā)表于 09-20 09:13 ?911次閱讀
    安卓常規(guī)<b class='flag-5'>逆向</b>操作涉及到的知識點介紹

    Android使用Wireshark抓包

    Frida逆向分析APP實戰(zhàn) Objection動態(tài)分析App Frida Hook的使用方法
    的頭像 發(fā)表于 11-16 10:07 ?4298次閱讀

    聊一聊所謂的Objection機制

    Objection是UVM框架中用來同步不同組件的相同phase,以及決定當(dāng)前測試用例什么時候結(jié)束(end-of-test)的機制,這也是用戶在拿到UVM之后最直白的使用場景。
    的頭像 發(fā)表于 06-09 11:16 ?2330次閱讀
    聊一聊所謂的<b class='flag-5'>Objection</b>機制

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品