zoukankan      html  css  js  c++  java
  • 必须要知道的小黑技术——零权限、破解密码等安卓知识

    首先我们需要了解了安卓的目录结构,我们使用的软件是yaffs2img浏览器。

    #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("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
  • 相关阅读:
    redis安装
    查看数据库
    redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
    java 面向对象基础
    SpringBoot简单公共返回类
    swift闭包_002_swift闭包
    swift的函数类型_001_swift函数类型基本使用
    swift函数_11_函数的嵌套使用
    swift函数_10_swift中函数基本使用
    swift可选类型_09_optional基本使用
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314883.html
Copyright © 2011-2022 走看看