android訪問文件許可權
『壹』 求問android怎麼在代碼里獲得系統文件的讀寫許可權
求問android怎麼在代碼里獲得系統文件的讀寫許可權?
本來以為就沒有辦法在應用程序這一層改系統時間了,後來在網上搜了好久,知道這個目的還是可以達到的。
第一個方法簡單點,不過需要在Android系統源碼的環境下用make來編譯:
1. 在應用程序的AndroidManifest.xml中的manifest節點中加入
android:sharedUserId="android.uid.system"這個屬性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform這一行
3. 使用mm命令來編譯,生成的apk就有修改系統時間的許可權了。
第二個辦法麻煩點,不過不用開虛擬機跑到源碼環境下用make來編譯:
1. 同上,加入android:sharedUserId="android.uid.system"這個屬性。
2. 使用eclipse編譯出apk文件,但是這個apk文件是不能用的。
3. 用壓縮軟體打開apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件。
4. 使用目標系統的platform密鑰來重皮薯埋新給apk文件簽名。這步比較麻煩,
首先找到密鑰文件,在我的Android源碼目錄中的位置
是"build argetproctsecurity",下面的platform.pk8和platform.x509.pem
兩個文件。
然後用Android提供的Signapk工具來簽名,signapk的源代碼是
在"build oolssignapk"下,
用法為"signapk platform.x509.pem platform.pk8 input.apk output.apk",
文件名最好使用絕對路徑防止找不到,也可以修改源代碼直接使用。
這樣最後得到的apk和第一個方法是一樣的。
最後解釋一下原理,首先加入android:sharedUserId="android.uid.system"這個屬性。通過Shared User id,擁有同一個User id的多個APK可以配置成運行在同一個進程中。那麼把程序的UID配成android.uid.system,也就是要讓程序運行在系統進程中,這樣就手慶有許可權來修改系統時間了。
只是加入UID還不夠,如果這時候安裝APK的話發現無法安裝,提示簽名不符,原因是程序想要運行在系統進程中還要有目標系統的platform
key,就是上面第二個方法提到的platform.pk8和platform.x509.pem兩個文件。用這兩個key簽名後apk才真正可以放入系統進程中。第一個方法中加入LOCAL_CERTIFICATE := platform其實就是用這兩個key來簽名。這也有一個問題,就是這樣生成的程序只有在原始的Android系統或者是自己編譯的系統中才可以用,因為這樣的系統才可以拿到 platform.pk8和platform.x509.pem兩個文件。要是別家公司做的Android上連安裝都安裝不了。試試原始的Android 中的key來簽名,程序在模擬器上運行OK,不過放到G3上安裝直接提示"Package ... has no signatures that match those in shared user android.uid.system",這樣也是保護了系統的安全。
android怎麼在代碼里獲得系統文件的讀寫許可權
java代碼 1、必須是Android系統開發人員,否則你無法修改init.rc等文件。 2、你的應用程序必須要獲得system許可權。 在應用層 你要想用代碼獲得系統文件許可權,除非你手機root了 要麼你自己坐rom。。。。 自己修改 init,rc
win10怎麼獲得修改系統文件燃螞的許可權
方法/步驟
1
首先找到你要操作的文件夾,這里用一個音效卡相關的文件夾做例子。選中文件夾。右擊它。選擇文件的屬性,安全--->高級。
2
更改所有者,如圖所示。在輸入對象名稱那兒,輸入你的賬戶名稱,我的是微軟賬戶。輸入完之後確定。
3
回到剛才的界面,你會看到所有者已經改變了,變成了你的賬號。然後確定退出,回到文件夾。(一定要確定後退出回到文件中,才能進行下一步)
4
再次回到剛才的界面。禁止所有繼承。
5
添加用戶。輸入賬號,我輸入的是微軟賬號。輸入後確定。
手機獲得root 許可權 怎麼找到系統文件
通過第三方軟體獲得Root許可權,可以訪問和修改手機操作系統里幾乎所有的文件,但這樣操作有可能影響手機的穩定性,出現死機、重啟等人為性故障。
另外獲取許可權後一般對存儲器和CPU等主板上主要部件引起不良。Root屬於修改操作系統軟體,按照條例不屬於包修范圍。為了提升顧客滿意度,對Root顧客提供免費升級固件服務,如果Root已影響到手機硬體需要更換主板,則需要收取主板費用。
若您的機器Root後需將機器恢復到原來的系統版本,請將機器送到服務中心,由售後工程師幫助檢查處理。自行將設備恢復出廠設置是無法取消Root許可權的。
求問如何恢復系統文件的默認許可權?
對於已經獲取所有許可權的文件,建議大家還是恢復到原來的狀態。今天就跟大家分享一下如何恢復系統文件的默認許可權,Windows 7和Windows 8系統都是一樣的操作步驟。這里以平時最常修改的hosts文件為例,下圖顯示已獲取hosts文件所有許可權。已獲得所有許可權的hosts文件恢復許可權有點類似於於逆向操作,首先點選Administrators組(上圖藍色條),然後點擊下方的「高級」按鈕,切換到「所有者」標簽。高級安全設置-所有者在上面的窗口中,點擊「編輯」按鈕打開新窗口來更改所有者。編輯所有者到這一步,你會發現可更改的所有者並沒有當初替換時的TrustedInstaller,怎麼辦?別急,點擊「其他用戶或組」來添加它。在新開的窗口裡,輸入:NT SERVICE\TrustedInstaller,注意前面的NT SERVICE一定要加上,否則系統不認。添加TrustedInstaller用戶完成後點擊確定回到上一窗口,此時會看到TrustedInstaller用戶出現了,接下去就是選擇它,然後一路確定退出各個窗口。文件所有權恢復到默認狀態
如何用代碼讀取查看文件的讀寫許可權???
File類裡面就有canRead,canWrite,canExecute方法啊。 查看原帖>>
麻煩採納,謝謝!
獲得root許可權後怎麼樣刪除系統文件啊?
用re
新手求助,獲得TOOR許可權後,怎麼替換系統文件呀!
先耐心的把這里的帖子看上幾頁,再多網路網路資料,不要手機一上手就玩這些要root許可權的內容,容易出問題,到時候問題越來越多。。。建議至少2周後再做這些事情,對你會很有幫助。 查看原帖>>
iMac win7下怎麼獲得許可權能讀寫Mac的文件
對於一般文件來說,是不需要開啟administrator賬戶的,只需要一個簡單的辦法就OK啦!比如說,對待下面的這種類型的文件夾。
2
我們只需要擊右鍵,選擇「管理員取得所有權」即可。
3
對於一些程序文件來說,只需要你擊右鍵,選擇「以管理員身份運行」,也是一個非常便捷的獲得管理員許可權的辦法。
END
開啟Administrator賬戶的方法
Windows 7系統中,administrator賬戶並不是默認開啟的,那麼就需要我們手動開啟,這也不是很難的啦!對計算機圖標,擊右鍵,選擇管理。
打開界面後,選擇本地用戶和組,單擊用戶,選擇administrator賬戶即可。
3
打開,administrator賬戶之後,按照以下的操作來進行就行了。
4
這樣,在開始登陸的界面,即可以出現administrator賬戶了,選擇此賬戶即可獲得管理員最高許可權,不過建議一般來說此賬戶還是不要開啟的好,如果此賬戶受損,再創建帳戶很容易失敗。還有,在第一次開啟此賬戶時,是不需要密碼的。
android怎麼獲取文件夾許可權代碼
這個問題其實LBE已經解決了。 1.在2012隱私保護版中,每次運行時請求系統root,創建一個開機啟動服務libload.so,專門用於處理lbe自身的root請求。 2.在2013免root版中,首次運行時自動獲取系統root,並把破解過的su文件復制到/system/xbin/.sv ,然後給6755的許可權,專門用於處理lbe自身的root請求。 上述兩種方案,均為程序自帶root管理,用於解決其自身root請求。 以下代碼即為方案2的原理,附件中為修改過的su文件。 ******************************************* 安卓的su文件,基本原理為 1234567if (pid=DB(Allow)) then "get uid=0 root" 白名單,程序獲取rootelseif (pid=DB(Disable)) Return 黑名單,返回空else View"superuser.active" 資料庫無記錄,「授權管理」彈出root請求窗口endif修改後的su文件 1if (pid<>"") then "get uid=0 root" 無條件,返回root********************************************** 我反編譯b.apk,然後把java應用調用runtime.exec("su")的代碼全部改為runtime.exec("sa"), 然後重新打包簽名好。安裝這個軟體。 用RE文件管理器把上面附件的su改名為sa,復制到/system/xbin/sa並改許可權rwsx-rsx-r。 以後使用b.apk,獲取root許可權沒有任何提示。 su.zip大小:249.85K 已經過網路安全檢測,放心下載 點擊下載下載量:133
『貳』 安卓11無法訪問data文件限制
因谷歌許可權限制原因,將Android/data目錄進行了隱藏,第三方應用無法訪問,所以通過文件管理不能查看該目錄下的文件。後期我們會推出新的文件管理版本,升級後訪問這個目錄時,會跳轉到谷歌原生文件管理界面查看其中內容,請後續留意文件管理版本升級提醒。
『叄』 Android許可權機制
我們知道 Android 應用程序是沙箱隔離的,每個應用都有一個只有自己具有讀寫許可權的專用數據目錄。但是如果應用要訪問別人的組件或者一些設備上全局可訪問的資源,這時候許可權機制就能系統化地規范並強制各類應用程序的行為准則。
Android 安全性概覽
在 Android 中,一個許可權,本質上是一個字元串,一個可以表示執行特定操作的能力的字元串。比如說:訪問 SD 卡的能力,訪問通訊錄的能力,啟動或訪問一個第三方應用中的組件的能力。 許可權被授予了之後,首先會在內存和本地中有記錄,這在調用系統binder服務和其他應用組件時做鑒權依據,比如調用系統binder服務時會通過Binder.getCallingUid()拿到調用者的Uid,而Uid一般都是與應用包名一一對應的,再拿這個Uid到PMS里去查這個應用對應的許可權。 其次會按被授予的許可權將應用分到某個組。 可以參考 https://www.jianshu.com/p/a17c8bed79d9
自定義許可權的應用場景在於限制其它應用對本應用四大組件的訪問。具體用法可以參考 https://www.cnblogs.com/aimqqroad-13/p/8927179.html
pm list permissions -f 命令可以詳細查看 Android 所有預定義的許可權。
更詳細的許可權信息參考 https://developer.android.com/reference/android/Manifest.permission?hl=zh-cn#WRITE_EXTERNAL_STORAGE
可以看到一個許可權的信息包括:定義的包名、標簽、描述、 許可權組 和 保護級別 。
許可權根據設備的功能或特性分為多個組。如果應用已在相同許可權組中被授予另一危險許可權,系統將立即授予該許可權,如READ_CONTACTS和WRITE_CONTACTS。
SYSTEM_ALERT_WINDOW 和 WRITE_SETTINGS 由於其特殊性,其申請方式與其它許可權都不同。
其授予流程如下:
(關於 AppOpsManager 是什麼可以參考: https://segmentfault.com/a/1190000009214983 )
這里簡要分析下ActivityCompat#requestPermissions的流程:
更詳細的許可權授予流程源碼分析可以參考: https://segmentfault.com/a/1190000009214983
普通許可權: 清單文件中聲明即可。
危險許可權: 方式一: pm grant application_package android.permission.CHANGE_CONFIGURATION 方式二:appops set application_package permission_num 0/1
appops可以授予的許可權參考 android.app.AppOpsManager 中的聲明
系統簽名許可權: 方式一:將app遷移到system/priv-app目錄中。 方式二:看不懂,參考 https://blog.csdn.net/abcd_3344_abcd/article/details/50698759
android 4.4 訪問sd卡需要申請許可權。 您的應用在 Android 4.4 上運行時無法讀取外部存儲空間上的共享文件,除非您的應用具有 READ_EXTERNAL_STORAGE 許可權。也就是說,沒有此許可權,您無法再訪問 () 返回的目錄中的文件。但是,如果您僅需要訪問 getExternalFilesDir() 提供的您的應用特有目錄,那麼,您不需要 READ_EXTERNAL_STORAGE `許可權。
android 6.0 運行時許可權。 此版本引入了一種新的許可權模式,如今,用戶可直接在運行時管理應用許可權。這種模式讓用戶能夠更好地了解和控制許可權,同時為應用開發者精簡了安裝和自動更新過程。用戶可為所安裝的各個應用分別授予或撤銷許可權。 對於以 Android 6.0(API 級別 23)或更高版本為目標平台的應用,請務必在運行時檢查和請求許可權。要確定您的應用是否已被授予許可權,請調用新增的 checkSelfPermission() 方法。要請求許可權,請調用新增的 requestPermissions() 方法。即使您的應用並不以 Android 6.0(API 級別 23)為目標平台,您也應該在新許可權模式下測試您的應用。 如需了解有關在您的應用中支持新許可權模式的詳情,請參閱 使用系統許可權 。如需了解有關如何評估新模式對應用的影響的提示,請參閱 許可權最佳做法 。
android 7.+ 應用間共享文件要使用FileProvider。 對於面向 Android 7.0 的應用,Android 框架執行的 StrictMode API 政策禁止在您的應用外部公開 file://URI。如果一項包含文件 URI 的 intent 離開您的應用,則應用出現故障,並出現 FileUriExposedException 異常。 要在應用間共享文件,您應發送一項 content:// URI,並授予 URI 臨時訪問許可權。進行此授權的最簡單方式是使用 FileProvider `類。如需了解有關許可權和共享文件的詳細信息,請參閱 共享文件 。
android 8.+
同一許可權組的許可權在被授予了之後也需要顯式的再申請一次。
在 Android 8.0 之前,如果應用在運行時請求許可權並且被授予該許可權,系統會錯誤地將屬於同一許可權組並且在清單中注冊的其他許可權也一起授予應用。 對於針對 Android 8.0 的應用,此行為已被糾正。系統只會授予應用明確請求的許可權。然而,一旦用戶為應用授予某個許可權,則所有後續對該許可權組中許可權的請求都將被自動批准。 例如,假設某個應用在其清單中列出 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 。應用請求 READ_EXTERNAL_STORAGE ,並且用戶授予了該許可權。如果該應用針對的是 API 級別 24 或更低級別,系統還會同時授予 WRITE_EXTERNAL_STORAGE ,因為該許可權也屬於同一 STORAGE 許可權組並且也在清單中注冊過。如果該應用針對的是 Android 8.0,則系統此時僅會授予 READ_EXTERNAL_STORAGE ;不過,如果該應用後來又請求 WRITE_EXTERNAL_STORAGE ,則系統會立即授予該許可權,而不會提示用戶。
android 9
隱私許可權變更。
為了增強用戶隱私,Android 9 引入了若干行為變更,如限制後台應用訪問設備感測器、限制通過 Wi-Fi 掃描檢索到的信息,以及與通話、手機狀態和 Wi-Fi 掃描相關的新許可權規則和許可權組。
android 10
隱私權變更。
外部存儲訪問許可權范圍限定為應用文件和媒體,在後台運行時訪問設備位置信息需要許可權,針對從後台啟動 Activity 的限制等。
android 11
隱私許可權變更。
更詳細的版本變更請參考 https://developer.android.com/preview/privacy?hl=zh-cn
『肆』 如何解除vivo安卓11文件訪問許可權
若是指進入【文件管理--手機存儲--Andriod--data/obb】,提示:因Android許可權限制,無法訪問此目錄,建議前往「文件」應用查看的現象,由於安卓系統安全機制升級,基於消費者的隱私和信息安全,應用產生的數據不允許文件管理直接訪問,建議點擊「前往查看」跳轉到谷歌原生文件管理界面查看相關文件。進入谷歌原生文件管理界面後,如果文件夾名稱尾部顯示」...「導致無法識別出文件夾名稱,可以點擊頁面右上角的方形網格圖標,切換成列表顯示,如果身邊有電腦,建議暫時通過數據線連接電腦與手機,手機端選擇:管理文件,通過電腦訪問手機存儲目錄,即可進入相應目錄查看文件。
註:【文件管理--常用分類】中,QQ、微信、釘釘軟體進行了單獨分類,如果需要查看這些軟體下載的圖片、視頻等資料,可進入這些分類查看。
『伍』 android怎麼在代碼里獲得系統文件的讀寫許可權
android怎麼在代碼里獲得系統文件的讀寫許可權
1、必須是Android系統開發人員,否則你無法修改init.rc等文件。
2、你的應用程序必須要獲得system許可權。
在應用層 你要想用代碼獲得系統文件許可權,除非你手機root了
要麼你自己做rom。 自己修改 init,rc
本來以為就沒有辦法在應用程序這一層改系統時間了,後來在網上搜了好久,知道這個目的還是可以達到的。
第一個方法簡單點,不過需要在Android系統源碼的環境下用make來編譯:
1. 在應用程序的AndroidManifest.xml中的manifest節點中加入
android:sharedUserId="android.uid.system"這個屬性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform這一行
3. 使用mm命令來編譯,生成的apk就有修改系統時間的許可權了。
第二個辦法麻煩點,不過不用開虛擬機跑到源碼環境下用make來編譯:
1. 同上,加入android:sharedUserId="android.uid.system"這個屬性。
2. 使用eclipse編譯出apk文件,但是這個apk文件是不能用的岩芹薯。
3. 用壓縮軟體打開apk文件,刪掉META-INF目錄下的CERT.SF和CERT.RSA兩個文件。
4. 使用目標系統的platform密鑰來重新給apk文件簽名。這步比較麻煩,
首先找到密鑰文件,在我的Android源碼目錄中的位置
是"build argetproctsecurity",下面的platform.pk8和platform.x509.pem
兩個文件。
然後用Android提供的Signapk工具來簽名,signapk的源代碼是
在"build oolssignapk"下,
用法為"signapk platform.x509.pem platform.pk8 input.apk output.apk",
文件名最好使用絕對路徑防止找不到,也可以修改源代碼直接使用。
這樣最後得到的apk和第一個方法是一樣的。
最後解釋一下原理,首先加入android:sharedUserId="android.uid.system"這個屬性。通過Shared User id,擁有同一個User id的多個APK可以配置成運行在同一個進程中。那麼把程序的UID配成android.uid.system,也就是要讓程首罩序運行在系統進程中,這樣就有許可權來修改系統時間了。
只是加入UID還不夠,如果這時候安裝APK的話發現無法安裝,提示簽名不符,原因是程序想要運行在系統進程中還要有目標系統的platform
key,就是上面第二個方法提到的platform.pk8和platform.x509.pem兩個文件。用這兩個key簽名後apk才真正可以放入系統進程中。第一個方法中加入LOCAL_CERTIFICATE := platform其實就是用這兩個key來簽名。這也有一個問題,就是這樣生成的程序只有在原始的Android系統或者是自己編譯的系統中才可以用,因為這樣的系統才可以拿到 platform.pk8和platform.x509.pem兩個文件。要是別家公司做的Android上連安裝都安裝不了。試試原始的Android 中的key來簽名,程序在模擬器上運行OK,不過放到G3上安裝直接提示"Package ... has no signatures that match those in shared user android.uid.system",這樣也是保護了系統的安全。
Java代碼
1、必須是Android系統開發人員,否則你無法修改init.rc等文件。 2、你的應用程序必須要獲得system許可權。
在應用層 你要想用代碼獲得系統文件許可權,除非你手機root了
要麼你自己坐rom。。。。 自己修改 init,rc
1、必須是Android系統開發人員,否則你無法修改init.rc等文件。 2、你的應用程序必須要獲得system許可權。 在應用層 你要想用代粗者碼獲得系統文件許可權,除非你手機root了 要麼你自己坐rom。。。。 自己修改 init,rc