Android刷ROOT原理及小案例

刷模拟器,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(“pm enable ” + 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);
    

静默安装

  • 为什么有静默安装的需求
    1. 正规应用。电子市场,方便用户静默安装
    2. 流氓软件。后台偷偷下载安装。
  • 自动下载应用,然后静默安装

    //静默安装
    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

你可能感兴趣的:(Android刷ROOT原理及小案例)