想要取得某個APP的SQLite db檔案,目前我的作法是下載APK,把APK安裝在Android手機上,再透過ADB指令去把db dump下來。
但如果我想看20個APP的db table架構,這樣很耗費時間在APK安裝、dump資料上。
想到這個db的架構資訊應該也是被包在原本的APK中,有沒有什麼辦法可以透過APK直接檢視他的SQLite db table、column name、定義的data type等等資訊呢?
謝謝!
應該是這個方向沒錯,但我照著影片用即時通訊軟體Line來實作,要去分辨assets內容哪一個是可以用SQLite browser打開,並不像影片中那麼容易找到,不知道還有沒有其他指標比較容易辨識應該要選哪一檔案
我不知道 Line 有沒有使用 SQLite database
你確定有嗎?
我確定有耶,Android資料表都是用SQLite db儲存,我之前下載app到手機再把db dump出來用SQLite browser都可以正常檢視。
但我現在是想直接透過apk來獲得這部分的資訊,我有多用幾個聊天app來實驗,每個app架構都不一樣,我還沒有成功在assets找到QQ,理論上這個資訊應該是包在apk中沒錯呀
我確定有耶,Android資料表都是用SQLite db儲存
那我就不知道了
祝你好運
Android資料表都是用SQLite db儲存
沒有所有Android都是用SQLite喔,你自己都說每個app架構都不一樣,
怎麼可能讓你有規律地找出資料庫。
舉我自己的經驗,我接手到的專案,資料庫就不會放在前端,
而是透過後端存取,SQLiteDB 也是放在後端伺服器上,
所以根本不會讓你存取到。
你說的沒錯,這句話是我描述的不太精確。
我是因為最近在看的聊天APP資料都放在前端,所以想知道以此為前提,這種APP的資料庫架構有沒有辦法透過直接看APK的方式來瞭解,不一定要規律的分析規則,而是找得到即可。
實際拆了幾個APK跟問有研究這塊的人,得到的答案是資料庫是APK安裝後才會建立起來,而資料庫的資訊被打包起來沒這麼容易透過分析apk得知@@