woff 發表於 2018-3-20 16:58:54

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]
查看完整版本: Android之RootTools框架簡單使用