2017-06-19 33 views
0

我在使用Genymotion的根設備上運行易受攻擊的android應用程序,我試圖讀取不同android應用程序中的文件目錄中的共享首選項和文件,如: /data/data/xxxx/config.xml和 /data/data/xxx/files/xxxx.xmlAndroid:檢索其他應用程序的共享首選項(rooted設備)

我想以編程方式使用示例java應用程序讀取此數據以顯示logcat中的數據,但是何時我嘗試讀取這些文件,我在logcat上遇到了許可問題。

有趣的是,該應用程序是一個植根設備上運行,所以我想有機會獲得其他應用程序sharedpreferences.I需要這樣的事情,但在logcat中顯示此: https://lightsec.wordpress.com/2014/04/28/android-sharedpreferences-insecure-storage/

我也曾經嘗試這個答案,但它不工作:

Android: Retrieving shared preferences of other application

我怎樣才能檢索到來自logcat的sharedpreferences並顯示所有可用的鑰匙?

回答

1

這兩個鏈接都描述瞭如何在您試圖讀取的應用程序中使用WORLD_XX常量。

從字面上看,世界上沒有人會使用這些常量,因爲他們不希望他們的共享偏好被他人閱讀。每個人都使用MODE_PRIVATE常量,所以他們不能被其他人閱讀。

要達到此目的,您需要執行以下操作:
1)在您的應用程序中請求根訪問權限(擁有根插電話是不夠的)。 (像RootTools這樣的庫可以幫助你做到這一點)
2)獲得root權限後,必須從文件系統中讀取原始.xml文件,並相應地解析它。然後你可以閱讀所有的數據,甚至可以寫信給它,如果你想。

聽起來有點像你有一個根深蒂固的手機和你的應用程序有root權限的混淆,那些是不同的東西。

+0

感謝您的回覆,我的問題是,當我想要更改xml文件的權限時,無論使用roottools或androidshell並閱讀它,supersu授予訪問對話出現,並要求授予,我不知道如何繞過它。問題是,我需要向客戶演示如何在沒有用戶交互的情況下獲取sharepreferences數據,甚至不向androidmanifest添加權限,這是否可行? –

+0

沒有用戶交互?這是絕對不可能的,甚至沒有根。當您請求root訪問權限時,系統會提示用戶接受或拒絕您的應用程序應具有root權限,該對話框無法通過任何方式繞過。 – Moonbloom

+0

@Moonbloom你知道你的東西,感謝分享!我肯定會給你買啤酒! –