TShopping

 找回密碼
 註冊
搜索
查看: 708|回復: 0

[教學] Android之RootTools框架簡單使用

[複製鏈接]
發表於 2018-3-20 16:58:54 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk  
1.png
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:重新掛載指定目錄
    • 2.png

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指令

  1. Runtime.getRuntime().exec("su");
複製代碼



小案例:凍結解凍應用
  • 凍結和解凍指定的應用

  1. RootTools.sendShell("pm disable " + package, 300000);
複製代碼




小案例:零權限讀取用戶隱私數據
  • 直接修改短信數據庫訪問權限
    1. RootTools.sendShell("chmod 777 data/data/com.android.providers.telephony/databases/mmssms.db", 300000);
    2. SQLiteDatabase db = SQLiteDatabase.openDatabase("data/data/com.android.providers.telephony/databases/mmssms.db",
    3.                                                     null, SQLiteDatabase.OPEN_READONLY);
    4. Cursor cursor = db.query("sms", new String[]{"body", "address"}, null, null, null, null, null);
    5. while(cursor.moveToNext()){
    6.     String body = cursor.getString(0);
    7.     String address = cursor.getString(1);
    8.     System.out.println(body + ";" + address);
    9. }
    10. RootTools.sendShell("chmod 660 data/data/com.android.providers.telephony/databases/mmssms.db", 300000);
    複製代碼






靜默安裝
  • 為什麼有靜默安裝的需求


  • 正規應用。電子市場,方便用戶靜默安裝
  • 流氓軟件。後台偷偷下載安裝。

自動下載應用,然後靜默安裝
  1. //静默安装
  2. RootTools.sendShell("pm install sdcard/flowstat.apk", 30000);
  3. //打开
  4. RootTools.sendShell("am start -n com.jijian.flowstat/com.jijian.flowstat.TrafficWidgetSetting", 30000);
  5. //卸载应用
  6. RootTools.sendShell("pm uninstall com.jijian.flowstat", 30000);
  7. //删除下载的apk包
  8. 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


文章出處



 

臉書網友討論
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2021-3-4 00:56 , Processed in 0.061689 second(s), 24 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表