針對Android App隱私信息檢測

嘗試採用Frida進行處理。
目前的一個思路就是trace app中所有調用系統函數的功能,這個方法不夠細緻,無法判斷是app自身調用的還是app調用的sdk調用的。

https://github.com/zhengjim/camille
昨天嘗試了下,發現並沒有多好使,還需要繼續研究下,自己寫個demo試試。

只需要hook相應的隱私API就算是觸犯了隱私信息的採集了。
//獲取手機通信錄
function getPhoneAddressBook() {
var contacts_uri = Java.use("android.provider.ContactsContract$Contacts").CONTENT_URI.value.toString();

var contentResolver = Java.use("android.content.ContentResolver");
contentResolver.query.overload('android.net.Uri', '[Ljava.lang.String;', 'android.os.Bundle', 'android.os.CancellationSignal').implementation = function (uri, str, bundle, sig) {
    if (uri == contacts_uri) {
        alertSend("獲取手機通信錄", "獲取uri爲:" + uri)
    }
    return this.query(uri, str, bundle, sig);
}

}

這樣就可以了,無非就是看隱私API都有哪些,有了就行了

還有就是如果是這種寫死的方式的話,可能不太方便不適合維護,所以,需要一個單獨的接口傳入類、類中的函數名,就能夠批次hook即可。
可以參考r0tracer:https://github.com/r0ysue/r0tracer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章