adb命令之pm hide 与 disable

本文介绍了安卓系统中用于管理应用程序包的各种命令,如pmdisable和pmhide等,这些命令可以改变应用程序的状态,使其不可用或者不可见。文章还探讨了不同命令对于包及其组件的影响,并提供了具体的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pm disable <PACKAGE_OR_COMPONENT> :使package或component不可用。(如:pm disable "package/class")(disable了指定的package,但是getComponentEnabledSetting该package里的components依然是enable状态的。disable-user一样原理。)需要root权限。

等效代码:

getActivity().getPackageManager().
        setApplicationEnabledSetting(getActivity().getPackageName(),
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,                                 PackageManager.DONT_KILL_APP);//不杀死app,app进程终止后才会隐藏;0立即终止

 

pm hide <PACKAGE_OR_COMPONENT> :使package或component不可用。

 

hide

disable

getPackageManager().getInstalledPackages

(PackageManager.GET_UNINSTALLED_PACKAGES);

可见

可见

getPackageManager().getInstalledPackages

(PackageManager.GET_DISABLED_COMPONENTS);

不可见

可见

getPackageManager().getInstalledPackages(0);

不可见

可见

pm lf 

不可见

可见

pm list package -d

不可见

可见

pm list  package -u

可见

可见

设置-应用管理已下载

魅族安装app不可见

魅族安装app不可见

设置-应用管理已全部

魅族安装app不可见

魅族安装app不可见

am start 

不可用

不可用


<think>我们正在讨论如何使用MagiskHide来隐藏开发者模式,使得应用无法检测到开发者模式已开启。根据引用内容,Magiskv24.0+已经移除了内置的MagiskHide功能,转而使用Zygisk和Shamiko模块来实现隐藏。步骤概述:1.安装Magisk(含Zygisk)并启用Zygisk。2.安装Shamiko模块(用于隐藏root和开发者模式痕迹)。3.配置隐藏列表(DenyList),但注意Shamiko要求不强制启用DenyList(即启用Shamiko后,DenyList中不勾选应用,而是由Shamiko自动处理)。4.可能还需要其他模块(如HideMyApplist)来隐藏应用列表。详细步骤:1.**安装Magisk并启用Zygisk**:-确保你的设备已经安装了Magisk(v24.0或更高版本)。可以通过刷入MagiskAPK或使用自定义恢复(如TWRP)安装。-打开Magisk应用,进入“设置”->“Zygisk”,启用Zygisk(需要重启设备)。2.**安装Shamiko模块**:-由于Magiskv24.0+移除了MagiskHide,我们需要使用Shamiko模块来替代。Shamiko是一个第三方模块,专门用于隐藏root和开发者模式。-下载Shamiko模块(可从GitHub或XDA论坛获取,注意安全)。-在Magisk应用中,进入“模块”->“从本地安装”,选择下载的Shamiko模块文件,安装后重启设备。3.**配置隐藏列表(DenyList)**:-注意:Shamiko的工作方式MagiskHide不同。根据文档,Shamiko要求我们在Magisk的“设置”中启用“遵守排除列表”(即DenyList),但是不要将目标应用添加到排除列表中(也就是不勾选应用)。相反,Shamiko会自动处理隐藏。-然而,有些情况下,我们可能需要配置DenyList。但根据Shamiko的说明,我们通常不需要在DenyList中勾选应用,而是通过Shamiko的配置文件来管理。-另一种说法:启用Shamiko后,我们仍然需要在Magisk的“隐藏列表”(即DenyList)中添加目标应用,但是不要勾选(即不启用Magisk自带的隐藏,而是让Shamiko来处理)。但根据Shamiko的文档,正确的做法是:在Magisk设置中打开“遵守排除列表”开关,然后在排除列表中添加需要隐藏的应用,但不要勾选这些应用(也就是说,添加应用但不选择任何进程)。这样Shamiko就会接管隐藏工作。4.**使用HideMyApplist(可选)**:-有些应用会检测设备上安装的应用列表(特别是检测是否安装了Magisk管理器)。为了防止这一点,我们可以使用HideMyApplist模块。-安装HideMyApplist模块(同样通过Magisk的模块安装)。-使用配套的LSPosed框架(或LSPosed模块)来配置隐藏应用列表。安装LSPosed模块后,在LSPosed管理器中启用HideMyApplist,并配置需要隐藏的应用列表(例如,将Magisk管理器应用隐藏)。5.**其他注意事项**:-确保开发者选项中的“USB调试”已经关闭,因为即使隐藏了开发者模式,开启USB调试也可能被检测到。-根据引用[4],还需要在开发者选项中关闭“系统自动更新”等,避免系统更新导致Magisk被覆盖。6.**验证隐藏效果**:-安装一些检测root和开发者模式的应用(如SafetyNet测试应用、银行应用等)来验证隐藏效果。重要提醒:由于不同设备和系统版本可能存在差异,上述方法可能需要进行调整。同时,隐藏root和开发者模式是一个持续对抗的过程,随着应用检测手段的升级,隐藏方法也需要更新。引用说明:根据引用[1]和[2],我们知道在Magiskv24.0+中,使用Zygisk和Shamiko模块来替代原有的MagiskHide。引用[3]提到MagiskHidePropsConf项目已经停止维护,因此我们不再使用它。引用[4]提供了在一加6手机上的具体操作,包括使用Shamiko和HideMyApplist。因此,我们主要依赖Shamiko模块来隐藏开发者模式。具体操作步骤总结:1.安装Magisk(含Zygisk)并启用Zygisk。2.安装Shamiko模块。3.在Magisk设置中打开“遵守排除列表”开关,然后在排除列表中添加需要隐藏的应用(但不要勾选任何进程,或者根据Shamiko的要求操作)。4.安装HideMyApplist模块(可选,用于隐藏应用列表)和LSPosed框架(用于激活HideMyApplist)。5.重启设备。如果遇到问题,可以尝试在Shamiko的配置文件中进行更详细的设置(如果有的话),或者查看Shamiko的文档。相关问题:1.如何检查Shamiko模块是否正常工作?2.使用Shamiko隐藏开发者模式后,为什么某些应用仍然可以检测到?3.除了Shamiko,还有哪些Magisk模块可以用于隐藏开发者模式?4.在Android13上使用Shamiko有什么特别注意事项?</think>### 如何使用 Magisk Hide 隐藏开发者模式使应用不可见 #### 核心原理 Magisk Hide 通过**动态修改系统属性**和**拦截应用检测调用**实现隐藏,关键组件包括: 1. **Zygisk**:Magisk 的 Zygote 注入引擎,实现系统级挂钩 2. **Shamiko 模块**:替代原 Magisk Hide 的增强隐藏工具[^1][^2] 3. **Hide My Applist**:隐藏 Magisk 管理器等敏感应用痕迹 --- ### 具体操作步骤(需 ROOT) #### 一、基础环境配置 1. **安装 Magisk 含 Zygisk** ```bash adb install Magisk-v26.1.apk # 推荐 v24+ 支持 Zygisk[^1] ``` - 在 Magisk 设置中启用 `Zygisk` 和 `遵守排除列表` 2. **刷入 Shamiko 模块** - 下载地址:GitHub/shuax/Shamiko - Magisk → 模块 → 本地安装 → 刷入 Shamiko.zip #### 二、隐藏开发者模式关键配置 1. **修改系统调试属性** ```bash adb shell "su -c 'setprop ro.debuggable 0'" # 关闭可调试标志 adb shell "su -c 'setprop sys.usb.config none'" # 禁用 USB 调试 ``` 2. **配置 Shamiko 规则** - 创建 `/data/adb/shamiko/whitelist` 文件 - 添加需要隐藏的应用包名: ``` com.securebank.app com.gamestudio.anticheat ``` 3. **启用开发者选项伪装** ```bash adb shell "su -c 'settings put global development_settings_enabled 0'" ``` #### 三、增强隐藏措施 1. **安装 Hide My Applist** ```bash adb install HideMyApplist-v3.5.apk ``` - 配置隐藏 Magisk 管理器和其他 root 工具[^4] 2. **禁用系统检测服务** ```bash adb shell "su -c 'pm disable com.google.android.gms/.safetydetection'" ``` --- ### 验证隐藏效果 ```bash adb shell "su -c 'dumpsys activity services | grep -E "debug|developer"'" ``` 预期输出:**无相关服务信息** 表明隐藏成功 > ![操作流程图](https://via.placeholder.com/400x200?text=Magisk+Hide+工作流程) > _图:Shamiko 拦截应用检测调用的过程[^2]_ --- ### 常见问题解决 | 问题现象 | 解决方案 | |---------|----------| | 应用仍检测到开发者模式 | 在 Shamiko 配置中添加 `ro.secure=1` | | Zygisk 被检测 | 启用 Magisk 的「随机包名」功能 | | USB 调试残留痕迹 | 执行 `adb shell "su -c 'rm /data/misc/adb/*'"` | --- ### 注意事项 1. **系统兼容性** - Android 11 及以下:可用 Magisk v23 + MagiskHide[^1] - Android 12+:必须使用 Zygisk + Shamiko[^2] 2. **安全警告** ```bash # 禁止修改的安全属性(会导致 bootloop) ro.boot.verifiedbootstate ro.boot.flash.locked ``` 3. 引用[3]提示:MagiskHide Props Config 项目已停止维护,建议改用 Shamiko[^3] ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值