android系統上面有名的rootexplorer很強大,可以操作任何目錄下的檔案,包括像/data/data這樣需要root許可權才能訪問的地方。它是怎麼樣做到的呢?
這樣,就可以用下面的**執行su命令時,就會啟動superuser.apk中的activity彈出標題為「以下程式要求授予最高許可權...」的對話方塊,使用者同意之後,apk就有root許可權了。
下面看看apk裡面的**。
view plain
processbuilder pb =
newprocessbuilder(
"/system/bin/sh"
);
pb.directory(new
file(
"/"));
//設定shell的當前目錄。
try
while
((line = err.readline()) !=
null
)
in.close();
out.close();
proc.destroy();
} catch
(exception e)
有了root許可權,再結合ls,cp,mv等命令,整個系統的所有目錄都可以操作了。
有一些問題目前還沒有找到答案:
如果我用adb從ubuntu上面執行su root,使用者在彈出的對話方塊上選同意的話,命令會很快返回,接下面提示符就變成#了。
但是,我用**在apk裡面測試的時候,只是偶爾會成功,發現大部分時候會卡死在out.println("su root");這一句上。即,使用者在對話方塊上面選同意後程式沒有響應,ddms也看不到輸出。再等上一會兒,程式無響應需要強制關閉的對話方塊就出來了。這個專案還是不完善的地方,不過思路真的不錯。
立方網怎麼樣
立方網號稱自己是中國第一家lbs 也有傳言facebook的時間軸就是抄襲的立方網。照理說,這樣的公司應該朝氣蓬勃 勇於創新的企業。但是就在最近,白雲黃鶴一名學子爆出在立方網的種種不爽,不管真實性怎麼樣,對即將找工作的同學也是一種參考,文章如下 11年畢業,畢業後去了廣州的一家國企裡面,待了大半年的...
怎麼樣定義常量
一 怎麼定義常量?1.自定義常量 必須用函式define 定義 定義完後其值不能再改變了 使用時直接用常量名,不能像變數一樣在前面加 s 2 系統常量 file php程式檔名 line php程式檔案行數 php version 當前解析器的版本號 php os 執行當前php版本的作業系統名稱 ...
Geotrust SSL證書怎麼樣
geotrust ssl證書主要有4種,其中 2種為只驗證網域名稱所有權而不驗證營業執照的快速dv ssl證書 quickssl premium 入門型rapidssl 只有一款需要驗證營業執照的證書ov ssl證書 true business id 還有一款就是新推出的ev ssl證書 true ...