《Android 安全(一)》AndroidManifest.xml之allowBackup屬性
阿新 • • 發佈:2018-12-29
前言
" android:allowBackup"是一個是否允許備份系統和使用者資料的屬性。
當這個標誌被設定為true時應用程式資料可以在手機未獲取 ROOT 的情況下通過adb除錯工具來備份和恢復。
案例分析
從應用商城裡下載一個“密碼本”之類的應用。
1. 使用AndroidStudio分析應用
“Build” 》“Analyze APK…”,選擇對應的應用進行分析,關注包名和allowBackup屬性
若“allowBackup"屬性為true,才能繼續往下進行。
2. 安裝應用
3. 使用adb命令匯出該應用資料,過程中手機會要求設定密碼,設定密碼後點擊”備份我的資料“
4. 使用abe工具解壓ab檔案
使用abe-all.jar檔案解析ab檔案為rar檔案,jar包下載地址為:abe-all.jar
5. 檢視備份檔案
解壓檔案,檢視裡面有很多有用的資料檔案,如資料庫db檔案和SharedPreference檔案
檢視一下資料庫檔案,裡面有一條我之前儲存的測試資料
檢視一下sp檔案中的xml,裡面有我設定的數字密碼雖然是加過密的
6. 修改內容並恢復資料
資料庫檔案稍作修改“pwd”欄位修改為“23456789”並儲存。恢復過程中要求輸入密碼,和之前一樣就行
7. 恢復結果
使用adb restore恢復資料後,應用內顯示的資料依然是“234567”,也就是我們修改後的資料沒有被接受。兩方面認證:
- 重新匯出資料(依然是“234567”)
- 將用於恢復資料的ab檔案解析成rar檔案(是我們修改後的“23456789”)
判斷,恢復資料的時候,系統或者應用本身做了處理。
8. 結論
雖然我們最後修改資料並恢復,結果沒有成功,但是作為一個“密碼本”類的應用,可以知道看到使用者儲存的賬號密碼資訊已經是相當恐怖了,並且此應用下載量還是挺高的。並且經過多個應用測試,好多應用的“allowBackup”屬性均為true。可能是因為新建工程預設為true的原因吧。