• 简单实现Android手机“全局可调试”(ro.debuggable = 1)的方法【锤子坚果3】


            在Android真机上调试程序有一个前提,就是这个apk包必须有 debuggable=true 的属性才行。而除了自己开发的apk能够控制打包属性之外,其他的程序发行之后显然不会设这个值为 true 的(不然随随便便就能被Debug ,岂不是很没安全感 )。为了调试这些第三方的apk,我们可以从整个手机系统入手 —— 因为除了每个apk中的 debuggable 标志以外,这个标志还可以在系统中全局指定,换句话说,只要把系统里的 debuggable 值设为true,那么不管apk的这个属性是什么值 都可以被调试了。

          Android手机系统的 ro.debuggable 这一配置位于 /default.prop 文件中,而 /default.prop 又来源于手机每次启动时 boot.img 中 ramdisk 的挂载,所以想要直接通过修改 /default.prop 是不可行的,但是系统文件是只读的,改了也没用。网上流传较广的是改 boot.img ,然而锤子并没有解锁 bootloader ,改了的话会变砖的。好在Magisk 有一个模块能够助我们实现这个修改,且看操作(默认手机已经 root 且安装了 Magisk ):

    1、打开并在模块界面中搜索 MagiskHide Props Config ,并安装。

    2、用PC 连接 Android 手机,在PC端 打开命令行或终端,依次输入以下指令(如图):

    adb shell //adb进入命令行模式
    su //切换至超级用户
    magisk resetprop ro.debuggable 1  //设置debuggable 
    stop;start; //一定要通过该方式重启
    

     

    待手机重启过后,如同开启“上帝模式“,任意调试手机里的任何程序了!

    参考资料:

    1、渲染逆向工程:打造一台调试任意Android游戏的设备  https://zhuanlan.zhihu.com/p/100583752

    2、Android修改ro.debuggable 华为真机adb调试所有进程  https://www.renyiwei.com/archives/1704.html

    3、安卓8.0 Magisk 修改ro.debuggable 1的简单方法  https://bbs.pediy.com/thread-248322.htm

  • 相关阅读:
    详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名
    培养正直的品德
    限定任务的时间
    SOA是什么
    软件项目管理实践之日计划
    项目管理经验的获取
    善于分解大的任务
    oracle表分区详解
    如何定义和建立架构?
    构架、框架、设计模式之间的关系简述
  • 原文地址:https://www.cnblogs.com/codex/p/12250647.html
Copyright © 2020-2023  润新知