取之有道——巧用Root权限 启动其他APP中的Activity

这次博主来分享一个很巧妙的办法来启动其他APP中Activity的方法。

首先说一下这样做的目的:最近博主在攻克一个技术难点,就是搞定某些三方系统中,对于应用权限的限制。为此给出用户指导,引导用户启动系统中的权限设置来设置信任。到此,问题就来了:我们不知道权限设定的包名,也不知道权限设置的Activity的名字,如何启动到指定的界面呢?

今天我们就来解决这个问题。

首先,我们需要一台已经获取Root权限了的手机。当然,模拟器之流也是可以考虑的。还有RE(Root Explorer)文件浏览器,用来浏览AndroidManifest.xml。这里注意的是,不要试图复制到电脑上查看,回是乱码的。

然后,我们开始通过包名来查找有可能的程序。由于博主手里用的测试机是华为的机器,因此以华为为例。其他厂商的手机请各位自行查找,方法应该是一致的。

使用RE文件浏览器,获取读写权限,依次打开/system/app。在这里,你将会看到好多APK。由于RE文件浏览器能够预览APK的图标,所以我们可以很轻松地通过软件图标,找到权限管理所属的APK文件。以华为最新的EMUI为例,权限管理所属的软件是手机管家,APK的文件名为:“HwSystemManager.apk”。

使用RE文件浏览器打开APK,选择查看,即可看到解压后的文件。也就可以直接找到AndroidManifest.xml。继续使用RE文件浏览器打开这个xml文件,其中的Activity的名字便一览无遗了。

最后,找到正确的Activity,启动它即可。

这样,就能够在用户指导的权限设置页给出正确的启动入口了。当然,此方法也适用于启动任何一个APP中的Activity,只要配置文件中的exported值不为false即可启动。

小小技巧,班门弄斧。不足之处,望路过大神多多指教。

原文地址:https://www.cnblogs.com/wenhanxiao/p/10331501.html

时间: 2024-10-12 16:05:59

取之有道——巧用Root权限 启动其他APP中的Activity的相关文章

ubuntu 14.04 以root权限启动chrome

chrome版本 51.0.2704.103 How to run google chrome as root in linux - Unix & Linux Stack Exchange提示说需要修改一些文件,估计是针对老一点版本的chrome,试用了之后发现不行. 新的版本run as root user其实更简单一点,直接指定--user-data-dir即可. sudo google-chrome --user-data-dir=/

闲聊ROOT权限——ROOT权限的前世今生

最近工作一直很忙,竟然慢慢地疏远了CSDN的博客,然而在工作中遇到问题,又会被多次的引导至CSDN,故笔者抽空也将自己学习的成果与大家分享在这里,希望能帮助到需要帮助的人. 本文将从几个方面,由浅至深地讲述ROOT到底是什么东西? 一. ROOT权限简单介绍 二.为什么需要ROOT 三. ADBD的ROOT权限 四.深入源代码 ROOT权限简介: ROOT权限是Linux内核中的最高权限,如果你的身份是ROOT,那么你就具有了ROOT权限.有了最高权限,你就可以为所欲为,换句话说,如果恶意程序获

Android: Requesting root access in your app

package com.certusnet.videomonitor; import java.util.List; import java.io.IOException; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import android.util.Log; /** * ShellUtils * <ul> * <strong>

Android应用申请ROOT权限

runtime = Runtime.getRuntime(); 这句话在java中的效果为获取电脑终端,比如在window下面就是dos窗口, 如: runtime.exec("color 2D") 与直接在dos下面直接输入color 2D的效果一样. 在安卓中相当于获取到Linux终端. 要让Android应用获得Root权限,首先Android设备必须已经获得Root权限. 应用获取Root权限的原理:让应用的代码执行目录获取最高权限.在Linux中通过chmod 777 [代码

linux gcc++漏洞:普通用户获得root权限

linux gcc++漏洞:普通用户获得root权限 2012-02-06 10:22:38|  分类: linux安全|举报|字号 订阅   经我测试在RHEL5 / CentOS5 / FC13都成功了. 首先介绍下一下具体步骤中涉及到的2个频繁的出现的词语: taviso:作者 Tavis Ormandy 的简称,Google信息安全工程师 个人微博:http://my.opera.com/taviso/blog/ http://twitter.com/taviso exploit:自己创

获取root权限及破解原理分析

2012-03-18 17:58:45|  分类: android |字号 订阅 如今Android系统的root破解基本上成为大家的必备技能!网上也有非常多中一键破解的软件,使root破解越来越easy.可是你思考过root破解的原理吗?root破解的本质是什么呢?难道是利用了Linux kernal的漏洞吗?本文将简单对root的破解原理进行分析. 网上非常多root教程所使用的都是rageagainstthecage程序,今天下载了rageagainstthecage.c源程序看了一下,大

linux下添加用户并赋予root权限

1.添加用户,首先用adduser命令添加一个普通/系统用户,命令如下:# adduser [-r] –d /tommy tommy//添加一个名为tommy的用户 # passwd tommy   //修改密码Changing password for user tommy.New UNIX password:     //在这里输入新密码Retype new UNIX password:  //再次输入新密码passwd: all authentication tokens updated

转adb Shell root 权限

因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied.删除system下的文件也没有权限.其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root. 1.用su可以提权,直接执行su就会看到用户命令提示符由"$"变成了"#",如果手机没有root,会提示s

linux 让普通用户拥有root权限

测试环境:CentOS 6.5 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy //修改密码 Changing password for user tommy. New UNIX password: //在这里输入新密码 Retype new UNIX password: //再次输入新密码 passwd: all authentication tokens updated succe