小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Android root權(quán)限獲取大揭秘

 Colin收藏 2011-12-19

Android root權(quán)限獲取大揭秘
2011年06月24日

Android root權(quán)限獲取的教程有很多,為了讓大家更進(jìn)一步的了解root的奧秘所在,靈客風(fēng)特為您奉獻(xiàn)本文,希望對(duì)您有所幫助。
 
Android的應(yīng)用程序入口肯定是Java程序。應(yīng)用程序的啟動(dòng)者是由系統(tǒng)臨時(shí)根據(jù)Androidmanifest.xml中定義的權(quán)限而創(chuàng)建的臨時(shí)用戶。而不像linux那樣是使用登陸者的身份啟動(dòng),從而使得進(jìn)程具有登陸者的所有權(quán)限。這也是Android的安全機(jī)制之一。
 
新的權(quán)限機(jī)制也帶來(lái)新的問(wèn)題,Android給應(yīng)用程序的權(quán)限是按功能來(lái)分,java雖然可以訪問(wèn)文件系統(tǒng)。但由于應(yīng)用程序本身是臨時(shí)用戶啟動(dòng),這個(gè)臨時(shí)用戶權(quán)限十分有限。因此誕生了<越獄/root機(jī)器>這樣的產(chǎn)物。
 
其實(shí)root機(jī)器不是真正能讓你的應(yīng)用程序具有root權(quán)限。它原理就跟linux下的像sudo這樣的命令。在系統(tǒng)的bin目錄下放個(gè)su程序并屬主是root并有suid權(quán)限。則通過(guò)su執(zhí)行的命令都具有Android root權(quán)限。
 
Su的源代碼網(wǎng)上也有,有興趣的同學(xué)去google下。
 
當(dāng)然使用臨時(shí)用戶權(quán)限想把su拷貝的/system/bin目錄并改屬性并不是一件容易的事情。這里用到2個(gè)工具跟2個(gè)命令。工具就是busybox。不熟悉的同學(xué)可以去網(wǎng)上google下。這個(gè)太有名了我就不多說(shuō)了。
 
把busybox拷貝到你有權(quán)限訪問(wèn)的目錄然后給他賦予4755權(quán)限,你就可以用它做很多事了。
 
當(dāng)然busybox只能不能提升權(quán)限,真正提升權(quán)限的是ratc這個(gè)程序,這個(gè)程序中一鍵root包里面可以找到,作用是rooting在adb的shell。
 
網(wǎng)上介紹Ratc的文章不多,它是rage against the cage 的縮寫(xiě)。是真正的提升權(quán)限的破解程序。雖然我沒(méi)看過(guò)源代碼,但估計(jì)是利用adb源代碼部分內(nèi)容來(lái)實(shí)現(xiàn)的,原理估計(jì)跟模擬器使用adb shell登陸可以獲得root shell差不多。(因?yàn)樗\(yùn)行需要adb連接才會(huì)成功)。
 
使用busybox前先運(yùn)行ratc,這樣運(yùn)行busybox的UID將是0,也就是root。
 
首先把system目錄改成可讀性的:busybox mount -o remount,rw /system,
 
當(dāng)然你還不能改下面的文件,因?yàn)閟ystem下文件的所有者都不是你。
 
但你可以偷梁換柱把system下的目錄給換掉。
 
使用命令Busybox mount -t tmpfs none /system/xbin,呵呵這下xbin目錄你隨便寫(xiě)了。
 
將su跟busybox弄過(guò)去cp /data/data/xxx/su /system/xbin。然后賦權(quán)限chmod 4755 /system/xbin/su。
 
然后使目錄生效busybox --install -s /system/xbin,
 
別忘善后busybox mount -o remount,ro /system去掉system可寫(xiě)。
 
這樣只是臨時(shí)的,只能用su跟busybox能執(zhí)行一些原來(lái)系統(tǒng)沒(méi)有權(quán)限執(zhí)行的命令而已。當(dāng)系統(tǒng)重啟后/system/xbin又變?yōu)樵瓉?lái)的文件。真正要改系統(tǒng)的話需要自己寫(xiě)內(nèi)核代碼(相當(dāng)于windows的驅(qū)動(dòng)程序)。內(nèi)核文件擁有所有權(quán)限。使用busybox命令insmod /data/data/xxx/xxx.ko裝載內(nèi)核文件,你想干嘛就可以干嘛了。
 
當(dāng)然我們不是搞破解的沒(méi)必要去改別人的機(jī)器,我們只是想讓自己應(yīng)用程序具有root權(quán)限而已。所以臨時(shí)的su就可以了。我們用c++寫(xiě)一個(gè)可執(zhí)行文件。使用socket可以跟java的程序通訊。然后將需要使用root權(quán)限才能執(zhí)行的代碼放在c++程序里,然后java程序中創(chuàng)建新的su進(jìn)程,將c++程序帶全路徑作為參數(shù)1。啟動(dòng)后就可以通過(guò)socket調(diào)用c++函數(shù)去執(zhí)行你想干的事了。
 
最后程序執(zhí)行完了別忘了善后busybox umount /system/xbin。
 
最后說(shuō)說(shuō)要注意的事情,如果機(jī)器已經(jīng)擁有Android root權(quán)限的話就不需要做這些事情了,但root過(guò)的機(jī)器都有裝有個(gè)權(quán)限管理的程序。會(huì)彈出對(duì)話框。但這個(gè)程序管理能力有限,如果不想讓他彈出的話。也許可以通過(guò)改su文件名來(lái)解決。有興趣的同學(xué)不妨試試。


 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多