国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

這篇具有很好參考價(jià)值的文章主要介紹了APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

JEB環(huán)境配置

  1. 安裝java環(huán)境變量(最好jdk11)
  2. 安裝adb環(huán)境變量

設(shè)置adb環(huán)境變量最好以Android命名

  1. 啟動開發(fā)者模式

設(shè)置-->關(guān)于平板電腦-->版本號(單機(jī)五次)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

  1. 開啟USB調(diào)試

設(shè)置-->系統(tǒng)-->高級-->開發(fā)者選項(xiàng)-->USB調(diào)試
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
開啟USB調(diào)試目的是為了后續(xù)讓JEB能夠獲取模擬器上的進(jìn)程
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

  1. 安裝激活JEB

軟件安裝包和破解參考吾愛破解文章JEB動態(tài)調(diào)試Smali-真機(jī)/模擬器(詳細(xì),新手必看)

JEB動態(tài)調(diào)試

使用的吾愛破解中大佬課程《安卓逆向那點(diǎn)事》中提供的練習(xí)demo第四關(guān)來練習(xí)動態(tài)調(diào)試。

  • 在進(jìn)行動態(tài)調(diào)試前必須在apk中加入允許動態(tài)調(diào)試,一般在application標(biāo)簽中加入即可。其他加入動態(tài)調(diào)試方法相較于加入代碼來說有點(diǎn)復(fù)雜,可以參考《安卓逆向這檔事》五、1000-7=?&動態(tài)調(diào)試&Log插樁
android:debuggable="true"
  • JEB中打開的apk必須也加入了動態(tài)調(diào)試才能和模擬器中的進(jìn)程進(jìn)行互動,查看方法如下

APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
在對第四關(guān)進(jìn)行練習(xí)時(shí),需要輸入密鑰,可以對關(guān)鍵字進(jìn)行搜索
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
找到關(guān)鍵字所在位置
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
解析為java代碼后發(fā)現(xiàn)控制程序邏輯的是一個(gè)if語句,在執(zhí)行check()函數(shù)后,通過check()函數(shù)的返回值來判斷if語句的執(zhí)行邏輯,這里只需要將check()函數(shù)的返回值修改為真即可成功繞過密鑰判斷。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
雙擊查看check()函數(shù),這里有檢測提交的密鑰是否帶關(guān)鍵字flag{}
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

在函數(shù)返回值的地方判斷變量v7是否與一串加密數(shù)據(jù)是否一致,如果一致就返回為真。有兩種方式可以繞過密鑰檢測,一種是從逆向的角度將return的值固定為true,另外一種方法是通過動態(tài)調(diào)試的方式我們可以通過斷點(diǎn)調(diào)試來獲取這段加密數(shù)據(jù),從而成功獲取密鑰。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

逆向修改返回值:
在修改返回值的方法中,我們可以將代碼中檢測flag{}關(guān)鍵字的檢測返回值一并進(jìn)行固定修改,順帶將關(guān)鍵字檢測也一并繞過
在以下三個(gè)返回值的地方我們需要全部固定為true
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

對應(yīng)的smail代碼如下
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
在return返回之前使用const進(jìn)行重新賦值,由于JEB不能重新打包,使用MT管理器進(jìn)行修改,修改效果如下
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
在進(jìn)行修改后對apk進(jìn)行重新編譯后并簽名安裝即可成功繞過,繞過效果如下,關(guān)鍵字檢測以及密鑰檢測全部成功繞過。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

斷點(diǎn)調(diào)試密鑰:
在進(jìn)行斷點(diǎn)調(diào)試的時(shí)候首先判斷需要在那里下斷點(diǎn),我們想要通過斷點(diǎn)調(diào)試得到什么。
我們需要通過斷點(diǎn)調(diào)試使得check()函數(shù)的最終返回值為true,需要得到與v7進(jìn)行對比的一串密鑰,所以我們在進(jìn)行斷點(diǎn)調(diào)試的時(shí)候需要在密鑰得到的時(shí)候、返回值之前進(jìn)行斷點(diǎn),并且在發(fā)送調(diào)試數(shù)據(jù)時(shí)必須帶有flag{}關(guān)鍵字通過關(guān)鍵字檢測才能使程序正常執(zhí)行。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
開啟調(diào)試
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
下斷點(diǎn),在下斷點(diǎn)時(shí)需要在smail語法視圖中
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
發(fā)送數(shù)據(jù),在開啟斷點(diǎn)調(diào)試后,進(jìn)行發(fā)送數(shù)據(jù)的時(shí)候并不會提示密鑰錯誤,因?yàn)槌绦蛟趫?zhí)行過程中被斷點(diǎn)調(diào)試攔截了
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
成功斷點(diǎn)后,一步一步執(zhí)行程序的同時(shí)觀察和分析局部變量
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

斷點(diǎn)調(diào)試執(zhí)行過程checkNotNullExpressionValue()-->encodeToString(),在encodeToString()函數(shù)返回值發(fā)現(xiàn)特殊變量
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
在執(zhí)行到areEqual()函數(shù)時(shí),我們發(fā)送的數(shù)據(jù)是和該變量進(jìn)行比較。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
通過嘗試將密鑰換成flag{VEFREgwEAA==}即可成功認(rèn)證密鑰。

LSPosed模塊

安裝Magisk、LSPosed以及算法助手
XPosed框架因只支持安卓8及以下,故高版本應(yīng)使用Magisk+LSPosed
參考文章雷電模擬器9.0.56安裝Magisk+LSPosd
算法助手
通過LSPosed模塊中所提供得集成功能可以大大節(jié)省時(shí)間。
在使用算法助手時(shí),需要現(xiàn)在LSPosed模塊中將進(jìn)行調(diào)試得目標(biāo)APP選中,系統(tǒng)框架是必須勾選的。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

勾選目標(biāo)APP后,在將算法助手中得APP勾選即可

LSPosed模塊中,具有很多集成的功能
比如抓取加密算法
在面對具有加密算法得目標(biāo)時(shí)候,使用算法助手中抓取算法功能可以很快獲取到加密算法得位置,或者加密算法采用得加密密鑰、偏移量等關(guān)鍵信息

APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

通過算法助手啟動APP在登錄時(shí)調(diào)用加密算法,調(diào)用結(jié)束后可以在算法助手得日志處看到加密算法得調(diào)用過程以及加密細(xì)節(jié)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

自定義Hook

在算法助手功能中有一項(xiàng)功能可以添加自定義hook
所謂hook技術(shù),通俗來講就是可以改變程序得執(zhí)行邏輯,類似與bp抓包得時(shí)候修改數(shù)據(jù)包再將數(shù)據(jù)包放出,hook可以將程序中得變量或者返回值進(jìn)行修改。

在添加hook時(shí),需要將關(guān)鍵程序得執(zhí)行邏輯搞清楚,將關(guān)鍵變量或者返回值進(jìn)行修改。

例如在之前案例中得某小說APP中,通過關(guān)鍵字定位到關(guān)鍵邏輯,進(jìn)行反編譯后分析程序執(zhí)行邏輯
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
if語句是否執(zhí)行根據(jù)y5得返回值來判斷,如果y5得返回值為true,即可成功進(jìn)入if語句。我們可以通過自定義hook模塊將y5得返回值固定。
使用JEB將鼠標(biāo)放置在方法上即可查看方法得詳細(xì)信息
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
根據(jù)y5方法所在得類,以及返回值類型構(gòu)造自定義hook
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
將所添加的hook勾選后,使用算法助手啟動即可
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)

在沒有勾選自定義得hook模塊時(shí),目標(biāo)APP正常顯示邏輯,vip并沒有成功開通
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
在勾選自定義hook后,啟動之后目標(biāo)APP成功開通vip
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)
在算法助手得日志記錄中可以看到算法助手通過自定義得hook將目標(biāo)APP中得y5()方法進(jìn)行了攔截并修改了返回值。
APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-745960.html

到了這里,關(guān)于APP攻防--安卓逆向&JEB動態(tài)調(diào)試&LSPosed模塊&算法提取&Hook技術(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 小程序逆向動態(tài)調(diào)試及修復(fù)過程

    小程序逆向動態(tài)調(diào)試及修復(fù)過程

    微信小程序逆向 : https://codeooo.blog.csdn.net/article/details/120219900 app.js錯誤: TypeError: _typeof3 is not a function 查閱資料找到 @babel/runtime/helpers/typeof.js 原先的文件內(nèi)容是: 將這個(gè)文件里面的所有內(nèi)容直接替換成下面的: 就可以進(jìn)入主界面; 未定義 直接先定義為空; 定義全局,以免不

    2024年02月11日
    瀏覽(19)
  • uniapp app安卓系統(tǒng)真機(jī)調(diào)試

    uniapp app安卓系統(tǒng)真機(jī)調(diào)試

    注意:本教程前提需要申請生成自有證書,這里不說生成證書過程。 ????????1. 用手機(jī)連接電腦 使用USB接口連接電腦 在電腦和手機(jī)上下載一個(gè)360手機(jī)助手軟件 在手機(jī)上開啟開發(fā)者模式,開啟USB調(diào)試 打開手機(jī)設(shè)置拉到最底部點(diǎn)擊關(guān)于手機(jī)快速點(diǎn)擊版本號幾下開啟開發(fā)者模

    2024年02月07日
    瀏覽(32)
  • uni-app:如何實(shí)現(xiàn)安卓設(shè)備的無線調(diào)試

    在前端開發(fā)中,與安卓設(shè)備進(jìn)行調(diào)試是一個(gè)常見的任務(wù)。通常,我們使用ADB(Android Debug Bridge)通過USB連接來進(jìn)行調(diào)試。然而,有時(shí)候我們可能需要無線進(jìn)行調(diào)試,這樣可以提供更大的靈活性和便利性。在本文中,我們將介紹如何使用uni-app框架和ADB來實(shí)現(xiàn)安卓設(shè)備的無線調(diào)試

    2024年02月01日
    瀏覽(22)
  • Shamiko模塊 - 配合Magisk+LSPosed隱藏ROOT

    Shamiko模塊 - 配合Magisk+LSPosed隱藏ROOT

    在使用Magisk開啟Zygisk和遵守排除列表之后,排除列表內(nèi)被隱藏了ROOT的app就沒法在LSP模塊內(nèi)勾選了,會顯示在排除列表內(nèi),然后呈灰色狀態(tài)無法勾選。 也就是說,如果只用Magisk自帶的隱藏root,就無法再用模塊了。Shamiko就是來解決這個(gè)沖突的,可以達(dá)到,既要又要~ Shamiko下載:

    2024年01月16日
    瀏覽(19)
  • 詳解uni-app項(xiàng)目運(yùn)行在安卓真機(jī)調(diào)試

    詳解uni-app項(xiàng)目運(yùn)行在安卓真機(jī)調(diào)試

    uni-app項(xiàng)目運(yùn)行在安卓真機(jī)調(diào)試 UNI-APP學(xué)習(xí)系列之詳解uni-app項(xiàng)目運(yùn)行在安卓真機(jī)調(diào)試 因?yàn)榘沧磕M器調(diào)試有問題,運(yùn)行項(xiàng)目后白屏,因此使用安卓真機(jī)調(diào)試。 安卓真機(jī)調(diào)試 HBuilderX下載真機(jī)插件 手機(jī)通過USB鏈接電腦調(diào)試 手機(jī)開啟開發(fā)者模式,并且打開USB調(diào)試 一般是在設(shè)置 =

    2024年02月12日
    瀏覽(169)
  • 【軟件逆向】如何逆向Unity3D+il2cpp開發(fā)的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】

    【軟件逆向】如何逆向Unity3D+il2cpp開發(fā)的安卓app【IDA Pro+il2CppDumper+DnSpy+AndroidKiller】

    課程作業(yè)要求使用反編譯技術(shù),在游戲中實(shí)現(xiàn)無碰撞。正常情況下碰撞后角色死亡,修改為直接穿過物體不死亡。 il2CppDumper。 DnSpy。 IDA Pro。 AndroidKiller。 一、使用il2CppDumper導(dǎo)出程序集 將{my_game}.apk后綴修改為{my_game}.zip,使用解壓工具解壓至文件夾{my_game}。(my_game為apk的文件

    2024年02月05日
    瀏覽(22)
  • 【畢設(shè)調(diào)試二】WiFi模塊的AP模式與App Inventor

    【畢設(shè)調(diào)試二】WiFi模塊的AP模式與App Inventor

    提示:在上一篇中我們簡單的完成了WIFI模塊的STA模式,在此篇中我們將梳理WiFi的AP模式 AP模式 :熱點(diǎn)模式,是通過設(shè)置WiFi模塊來產(chǎn)生一個(gè)熱點(diǎn),然后通過連接本熱點(diǎn),來達(dá)到在手機(jī)?? 上發(fā)送控制信息到單片機(jī),可以使用于app控制單片機(jī)類的項(xiàng)目 提示:需要用到上一章所配

    2024年02月11日
    瀏覽(19)
  • 在雷電模擬器9上安裝magisk并安裝LSPosed模塊以及其Manager管理器(一)

    在雷電模擬器9上安裝magisk并安裝LSPosed模塊以及其Manager管理器(一)

    環(huán)境:win10 64, 雷電模擬器9.0.60(9),Android 9 。 之前我都是用雷電模擬器版本4.0.78,Android版本7.1.2,為什么本篇要使用9了呢?先解答下這個(gè)問題。原因如下:經(jīng)過我的測試,LSPosed不支持Android API 25及以下,而Android版本7.1.2對應(yīng)的就是25,所以是安裝不了LSPosed模塊的。對應(yīng)關(guān)系

    2024年02月07日
    瀏覽(24)
  • 安卓滲透指南(二)-Kitsune Mask模塊 繞ssl pinning,繞root檢測,繞system動態(tài)分區(qū)

    安卓滲透指南(二)-Kitsune Mask模塊 繞ssl pinning,繞root檢測,繞system動態(tài)分區(qū)

    安卓版本大于11,root之后,system分區(qū)無法操作,這讓我們把證書安裝到根目錄泡湯了?,F(xiàn)在裝上這幾個(gè)模塊,可以繞ssl pinning,繞root檢測,繞system動態(tài)分區(qū),讓抓包不在困難。 一臺成功刷入狐貍面具(Kitsune Mask)的手機(jī) magic_overlayfs LSPosed JustTrustMe TrustMeAlready https://github.com/

    2024年03月22日
    瀏覽(22)
  • 9.網(wǎng)絡(luò)游戲逆向分析與漏洞攻防-游戲網(wǎng)絡(luò)架構(gòu)逆向分析-接管游戲連接服務(wù)器的操作

    9.網(wǎng)絡(luò)游戲逆向分析與漏洞攻防-游戲網(wǎng)絡(luò)架構(gòu)逆向分析-接管游戲連接服務(wù)器的操作

    內(nèi)容參考于:易道云信息技術(shù)研究院VIP課 上一個(gè)內(nèi)容:游戲底層功能對接類GameProc的實(shí)現(xiàn) 碼云地址(master 分支):https://gitee.com/dye_your_fingers/titan 碼云版本號:44c54d30370d3621c1e9ec3d7fa1e2a028e773e9 代碼下載地址,在 titan 目錄下,文件名為:titan-接管游戲連接服務(wù)器的操作.zip 鏈接

    2024年03月08日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包