Android之RootTools框架簡單使用
Android目錄結構
[*]data
[*]app:用戶安裝的應用
[*]data:應用的專屬文件夾
[*]system:系統的配置信息,註冊表文件
[*]anr:anr異常的記錄信息
[*]dev:devices的縮寫
[*]存放設備所對應的文件
[*]mnt:mount的縮寫
[*]掛載在系統上的設備:sdcard,u盤
[*]proc:硬件配置,狀態信息
[*]cpuinfo、meminfo
[*]sbin:system bin
[*]系統重要的二進制執行文件
[*]adbd:服務器的adb進程
[*]system:
[*]app:存放系統應用,默認不能刪除
[*]bin:Android中可執行的linux指令文件
[*]etc:host:主機名和ip地址的映射
[*]fonts:Android中自帶的字體
[*]framework:存放谷歌提供的java api
[*]lib:核心功能的類庫,C/C++文件
[*]media/audio:存放Android的音效文件
[*]tts:語音發聲引擎,默認不支持中文
[*]usr:用戶設備的配置信息,鍵盤編碼和按鍵編碼的映射
[*]xbin:是專為開發人員準備的二進制指令
Android下的Linux指令
[*]su:superuser
[*]切換到超級用戶
[*]rm:remove,刪除文件
[*]rm 文件名
[*]ls:列出目錄下的所有文件和文件夾
[*]ls -l:查看文件的詳細信息
[*]ls -a:查看隱藏文件
[*]cd:切換到某個目錄
[*]cat:查看文件內容
[*]cat 文件名
[*]不要cat二進制可執行文件
[*]mv:move 修改文件名
[*]mv 原文件名新文件名
[*]mkdir:創建文件夾
[*]mkdir 文件夾名字
[*]rmdir:刪除文件夾
[*]rmdir 文件夾名字
[*]touch:創建新文件
[*]touch 文件名
[*]chmod:change mode,切換文件訪問權限
[*]chmod 777 文件名
[*]echo:回顯數據;重定向數據
[*]echo 數據> 文件名
[*]sleep:睡眠幾秒
[*]df:顯示指定目錄的容量
[*]id:打印當前用戶的id
[*]uid=0:root
[*]uid=1000:system
[*]uid=2000:shell
[*]uid=10000+:一般應用程序的id
[*]ps:列出系統中運行的所有進程
[*]kill:殺死指定pid的進程
[*]kill pid
[*]chown:change owner,修改擁有者
[*]chown 0.0 文件名
[*]mount:掛載文件系統
[*]mount -o remount rw /:掛載當前目錄為可讀可寫權限
[*]mount -o remount rw /system:重新掛載指定目錄
[*]
Android中特有的指令
[*]am:ActivityManager,可以進行跟activity相關的操作
[*]am start -n com.itheima.createfile/com.itheima.createfile.MainActivity:開啟指定Activity
[*]am kill com.itheima.createfile:結束非前台進程
[*]am force-stop com.itheima.createfile:結束進程
[*]pm:PackageManager
[*]pm disable 包名:凍結指定應用
[*]pm enable 包名:解凍指定應用
[*]monkey -p com.itheima.createfile 1000:自動點擊指定應用1000次
刷模擬器,rom寫文件(su)
[*]如果想讓真實手機運行這些指令,手機必須要有root權限
[*]刷root原理:把su二進製文件拷貝到/system/bin或者/system/xbin
[*]Android刷root軟件,工作的原理全部都是利用系統的漏洞實現
[*]rom:可以理解為android系統的安裝文件
[*]把su文件和superuser.apk寫入img文件
[*]執行su指令
Runtime.getRuntime().exec("su");
小案例:凍結解凍應用
[*]凍結和解凍指定的應用
RootTools.sendShell("pm disable " + package, 300000);
小案例:零權限讀取用戶隱私數據
[*]直接修改短信數據庫訪問權限RootTools.sendShell("chmod 777 data/data/com.android.providers.telephony/databases/mmssms.db", 300000);
SQLiteDatabase db = SQLiteDatabase.openDatabase("data/data/com.android.providers.telephony/databases/mmssms.db",
null, SQLiteDatabase.OPEN_READONLY);
Cursor cursor = db.query("sms", new String[]{"body", "address"}, null, null, null, null, null);
while(cursor.moveToNext()){
String body = cursor.getString(0);
String address = cursor.getString(1);
System.out.println(body + ";" + address);
}
RootTools.sendShell("chmod 660 data/data/com.android.providers.telephony/databases/mmssms.db", 300000);
靜默安裝
[*]為什麼有靜默安裝的需求
[*]正規應用。電子市場,方便用戶靜默安裝
[*]流氓軟件。後台偷偷下載安裝。
自動下載應用,然後靜默安裝//静默安装
RootTools.sendShell("pm install sdcard/flowstat.apk", 30000);
//打开
RootTools.sendShell("am start -n com.jijian.flowstat/com.jijian.flowstat.TrafficWidgetSetting", 30000);
//卸载应用
RootTools.sendShell("pm uninstall com.jijian.flowstat", 30000);
//删除下载的apk包
RootTools.sendShell("rm sdcard/flowstat.apk", 30000);
修改字體
[*]把ttf文件刷進img中
[*]Android系統默認的中文字體為DroidSansFallBack.ttf
[*]用你想使用的字體ttf文件替換掉這個文件即可
修改開機動畫
[*]從真機中得到bootanimation.zip
[*]把bootanimation.zip放入system/media目錄下
刪除鎖屏密碼
[*]刪除data/system下的key文件
[*]文本密碼為password.key
[*]手勢密碼為gesture.key
文章出處
頁:
[1]