前言
之前分析完師兄給的apk后,師兄給了下一個目標,說這是一個取證比賽的例題,涉及到密碼學解密。但是因為本人這方面比較薄弱,所以在解題的時候,就用到了objection-一個基于frida的工具,動態調試的時候非常好用。
標題的FO指的就是這個objection,因為全部打出來太長了。
參考文獻:<
正文
這里本人用到的模擬器是夜神模擬器,但是這里在之后動態調試的時候遇到了一個bug,adb特別容易在調試的時候下線。網上查了一下資料,需要將目錄的adb換成原生adb,nox_adb改成nox_adb_bf.這樣就可以解決這個問題了。
拿到文件之后,發現有一個加密過后的db文件,還有一個apk,想來解密方法就是在這個apk當中。
這里把apk先放到模擬器中安裝。
把apk放入android killer中,查看源碼。
可以看到db后綴名,這里進行了一個跟文件有關的操作,后續又調用了其他的類,進入該類中查看。
可以看到這里又調用了b的方法。
結合第一個入口文件,可以得知這里是經過了幾步運算得出解密的密鑰,但是因為本人這方面的知識比較薄弱,所以不準備直接解密(師兄說他是直接解的),這里用到的是objection進行調試。
objection是一個基于frida的工具,需要先安裝frida和對應版本的server.
安裝過程如下:
pip3 install objection
這里這一步會直接幫忙把frida和frida-tools安裝掉,接著去把對應的frida-server安裝上傳至模擬器就行。
adb push frida-serverxxxxx /data/local/tmp
chmod 777 frida-server
./fridaserver
這里的思路就是利用hook這個getWritableDatabase函數,然后將這個函數的參數動態打印出來就行。(因為因為經過解密函數,最后傳進去的就是明文的口令).
這里先查看一下進程
frida-ps -R
可以看到這里是美美亞亞目標進程。
objection -g 美美亞亞 explore,對進程進行注入。
android hooking search methods getWritableDatabase.
之后再執行這個命令,找到getWritableDatabase這個函數,對其進行watch.
android hooking watch class_methodnet.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase --dump-args --dump-backtrace --dump-return
對這個函數進行監控。
之后再重新調用這個app,重新加載這個函數,就會發現口令被打印出來了。
這里再用sqlitebrowser打開這個db文件利用那個口令,發現這個就是正確的。
電子取證
圖形化內存分析工具
取證|偽加密zip解密方法
游戲黑灰產識別和溯源取證
內存取證|Volatility大殺器
內存取證之Volatility從0到1
溯源取證|微信數據庫解密教程
奪取應用程序的“制空權”:內存數據
審核編輯 :李倩
-
數據庫
+關注
關注
7文章
3839瀏覽量
64543 -
模擬器
+關注
關注
2文章
879瀏覽量
43301
原文標題:Hook App取證實戰數據庫解密
文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論