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

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

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

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

Q哥學(xué)逆向 ? 來源:Linux逆向 ? 作者:Linux逆向 ? 2020-11-02 11:40 ? 次閱讀

題目來源:2019XCTF MOBILE 第三題 題目:安裝包是11.ab,要求密碼驗證登陸。 知識點:Frida objection,SQLCipher加解密,Android備份和還原。 解題過程: 根據(jù)Android備份和還原知識,知道ab文件為backup文件,可以利用abe工具解壓,得到如下文件。

取出base.apk,拉入JADX分析,根據(jù)Android數(shù)據(jù)庫SQLCipher加解密知識,加密的數(shù)據(jù)庫密碼是getWritableDatabase函數(shù)參數(shù)決定的。

下面我們利用X86模擬器安裝apk和frida-servr-android-X86,然后利用Frida Objection打印出getWritableDatabase函數(shù)的入?yún)慝@取數(shù)據(jù)庫密碼。 首先靜態(tài)分析,發(fā)現(xiàn)getWritableDatabase定義在net.sqlcipher.database.SQLiteOpenHelper類中,利用objection確認(rèn)下getWritableDatabase原型。

然后我們hook這個getWritableDatabase函數(shù),打印返回值、調(diào)用棧和參數(shù)信息。

根據(jù)源碼分析getWritableDatabase是在MainActivity類的a函數(shù)中調(diào)用的,而a函數(shù)在OnCreate中被調(diào)用,我們打開apk后,getWritableDatabase函數(shù)其實已經(jīng)執(zhí)行完畢了。所以我們采用堆上調(diào)用實例方法的方式。這里注意我們嘗試在啟動objection時添加參數(shù)-d或--startup-command=“android hooking watch…”是沒法hook到MainActivity類的a函數(shù)的。 第一,查看MainActvity類中所以方法列表,可以看到a函數(shù)。

第二,查看MainActvity實例的handle值。

第三,觸發(fā)實例方法a,如下所示,可以看到數(shù)據(jù)庫密碼是“ae56f99”。

拿到數(shù)據(jù)庫密碼后可以用工具查看數(shù)據(jù)庫信息,根據(jù)代碼知道SQLCipher版本是3.4.0。

所以下圖中選擇SQLCipher 3,如下所示

這樣得到flag值,如下光亮處所示,很明顯這是base64加密數(shù)據(jù)。

直接進(jìn)行base64解碼,這樣我們就得到了flag為Tctf{H3ll0_Do_Y0u_Lov3_Tenc3nt!}

責(zé)任編輯:xj

原文標(biāo)題:逆向基礎(chǔ)題十一:獲取Flag

文章出處:【微信公眾號:Linux逆向】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    0

    文章

    11

    瀏覽量

    8112
  • 安裝包
    +關(guān)注

    關(guān)注

    1

    文章

    14

    瀏覽量

    3423
  • apk
    apk
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    4815

原文標(biāo)題:逆向基礎(chǔ)題十一:獲取Flag

文章出處:【微信號:Reverse16,微信公眾號:Q哥學(xué)逆向】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    notepad++安裝的壓縮

    本壓縮文件為notepad++的壓縮安裝包,可以直接解壓之后使用
    發(fā)表于 07-01 15:07 ?6次下載

    windows10系統(tǒng)下,ESP32和PC的串口鏈接配置中,putty登陸遠(yuǎn)程SSH時,賬戶名和密碼怎么選擇?

    windows10系統(tǒng)下,ESP32 和 PC的串口鏈接配置中,putty登陸遠(yuǎn)程SSH時,賬戶名和密碼怎么選擇?即鏈接到本地主機IP地址后,賬戶名和密碼是什么?
    發(fā)表于 06-25 06:34

    Win10 PRO的系統(tǒng),下載了IDF的離線安裝包,安裝到最后總是報告錯誤怎么解決?

    Win10 PRO的系統(tǒng),下載了IDF的離線安裝包,安裝到最后總是報告錯誤,錯誤信息如附件中所示。 有遇到過這個情況的朋友幫忙支個招,謝謝啦!
    發(fā)表于 06-19 08:10

    用labview生成的安裝包,在別的電腦上安裝時直接報錯,提示customresource2052.dll的錯誤

    提示customresource2052.dll的錯誤說是無法加載,但是這個dll就在安裝包的supportfiles文件夾內(nèi),由于這個問題導(dǎo)致安裝程序直接退出
    發(fā)表于 06-06 21:54

    Win11使用的是離線安裝包 最后運行esp-idf 5.1 cmd報錯怎么解決?

    使用的是離線安裝包 最后運行esp-idf 5.1 cmd 報錯,嘗試了多種方法沒解決
    發(fā)表于 06-06 06:50

    請問有couplefil破解版安裝包

    請問有couplefil破解版安裝包
    發(fā)表于 05-22 11:38

    防火墻登陸不上的問題排查

    防火墻沒有其它找回密碼的方法,若密碼忘記,只能恢復(fù)出廠之后用初始密碼admin登陸,恢復(fù)出廠方法:設(shè)備斷電,按住設(shè)備面板上的clr孔,然后上電,直到面板上stat燈和alarm燈邊成紅
    發(fā)表于 04-19 10:11 ?1477次閱讀
    防火墻<b class='flag-5'>登陸</b>不上的問題排查

    鴻蒙開發(fā)實戰(zhàn):【包管理子系統(tǒng)】

    包管理子系統(tǒng)負(fù)責(zé)應(yīng)用安裝包的管理,提供安裝包的信息查詢、安裝、更新、卸載和信息存儲等能力
    的頭像 發(fā)表于 03-14 15:23 ?442次閱讀
    鴻蒙開發(fā)實戰(zhàn):【包管理子系統(tǒng)】

    在進(jìn)行cubemx環(huán)境搭建時,安裝H7系列的安裝包直接崩潰,閃退怎么解決?

    在進(jìn)行cubemx環(huán)境搭建時,一切正常,但是安裝H7系列的安裝包時,無任何報錯,直接崩潰,閃退,并且閃退后cubemx無法正常使用,除非再次安裝,這個問題挺大的,我試過6.7 6.8 6.9 cubeIDE有同樣的問題。該問題穩(wěn)
    發(fā)表于 03-12 06:21

    下載的free_tricore_entry_tool_chain里的Compiler安裝包時出現(xiàn)閃退,安裝不了是為什么?

    為什么我打開我下載的free_tricore_entry_tool_chain里的Compiler安裝包時出現(xiàn)閃退,安裝不了???求助
    發(fā)表于 02-20 07:13

    北自科技登陸上交所主板

    北自所(北京)科技發(fā)展股份有限公司(簡稱“北自科技”)近日正式登陸上交所主板,這是其發(fā)展歷程中的一個重要里程碑。作為智能物流系統(tǒng)解決方案供應(yīng)商,北自科技專注于自動化立體倉庫的研發(fā)、設(shè)計、制造與集成業(yè)務(wù)。該公司為客戶提供從規(guī)劃設(shè)計到安裝調(diào)試、系統(tǒng)集成以及客戶培訓(xùn)的“交鑰匙”
    的頭像 發(fā)表于 01-31 10:34 ?514次閱讀

    如何驗證ROS是否安裝成功 ubuntu20.04教程

    并執(zhí)行,成功后界面如下: 如果出現(xiàn)了以下的問題說明,之前的安裝沒有安裝全 輸入以下命令,把沒安裝安裝一下就好了(如果顯示有幾個安裝包無法下
    的頭像 發(fā)表于 12-01 16:51 ?5165次閱讀
    如何<b class='flag-5'>驗證</b>ROS是否<b class='flag-5'>安裝</b>成功 ubuntu20.04教程

    python運行環(huán)境的安裝和配置

    環(huán)境的安裝和配置,幫助您快速上手Python編程。 下載Python安裝包 為了安裝Python,我們首先需要下載Python的安裝包。Python官方網(wǎng)站提供了各個版本的
    的頭像 發(fā)表于 11-29 16:17 ?938次閱讀

    AB編程軟件及所有組態(tài)軟件安裝教程

    AB編程軟件及所有組態(tài)軟件授權(quán)及安裝教程
    發(fā)表于 11-14 09:21 ?1次下載

    應(yīng)用LabVIEW設(shè)計系統(tǒng)登陸界面

    電子發(fā)燒友網(wǎng)站提供《應(yīng)用LabVIEW設(shè)計系統(tǒng)登陸界面.pdf》資料免費下載
    發(fā)表于 10-30 11:38 ?7次下載
    應(yīng)用LabVIEW設(shè)計系統(tǒng)<b class='flag-5'>登陸</b>界面