APK程序获取system权限的方法
本文实例讲述了APK程序获取system权限的方法。分享给大家供大家参考。具体如下:
最近项目需要,用NDK编程,遇到了些问题,在访问底层的设备时,没有权限,后来就在网上查找了资料,一开始还以为有root权限,找来找去,弄来弄去,程序都获取不到root权限,后来找到原来用system权限就可以访问设备了。网上找到2种方法,一是在源码中编译,二是修改密钥。刚开始弄android的,对源码不了解,就选择了第二种方法。
下面是操作步骤:
1、在代码中,AndroidManifest.xml文件的manifest项中,添加
代码如下:
android:sharedUserId="android.uid.system"
2、编译程序,得到APK文件,如src.apk
3、将APK文件用压缩软件打开,删除META-INF目录里面的CERT.SF和CERT.RSA两个文件
4、运行命令(其中signapk.jar platform.x509.pem platform.pk8这3个文件在源码的build目录下可以找到)
java -jar signapk.jar platform.x509.pem platform.pk8 src.apk dst.apk
5、dst.apk安装后就有system权限,就可以访问设备
希望本文所述对大家的Android程序设计有所帮助。
相关推荐
-
Android需要提升权限的操作方法
权限提升方法:一种方法:1.在AndroidManifest.xml中的manifest节点中添加 android:sharedUserId="android.uid.system".2.添加后程序在虚拟机上是不可以直接用的.但可以用eclipse编译成apk.3.(这一步经验证不执行即可)编译成apk后用压缩工具打开apk,把META-INF目录中的CERT.SF.CERT.RSA 两个文件删除.4.使用android自带的签名工具signapk.jar 以及源码中的platform
-
Android权限控制之自定义权限
天哪,这篇文章终于说道如何自定义权限了,左盼右盼,其实这个自定义权限相当easy.为了方便叙述,我这边会用到两个app作为例子示范. Permission App: used to define a new permission 这个作为定义权限的App,我称之为Permission App. Client App: used to access the specified activity of Permission App 这个作为访问上述自定义权限的App,我称之为Client App 先
-
Android获取ROOT权限的实例代码
获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了. 复制代码 代码如下: // 获取ROOT权限public void get_root(){ if (is_root()){ Toast.makeText(mCtx, "已经具有ROOT权限!", Toast.LENGTH_LONG).show(); } else{ try{ progress_dialog = P
-
Android权限机制带来的一些安全问题介绍
Android引入了权限机制最初的出发点是为了通过权限策略来严格控制和处理安全问题,可参见:下面两篇文章,但关于这个Android权限的机制仍然存在一些很小但不容忽略的问题,另外正所谓道高一尺魔高一丈,仍然存在一些可以绕过权限的方法.本文旨在分析权限机制的一些缺点和不足,并不能以此文章作为非法应用的参考书. Android Permission权限机制引子 Android Permission权限机制的具体使用 权限机制的缺陷和不足 (1) 应用程序可以自由地命名一个新的权限,无须遵循一定的命名
-
详解Android系统中的root权限获得原理
前言 一直很好奇Android Root的原理,恰好最近碰到了一个跟Android默认带Root权限的问题,这里顺便记录一下Android系统root的原理. 原理 Android是基于Llinux内核的开源操作系统,与Ubuntu系统类似,所以在Android里获取root权限其实和在Linux系统下获取root权限是一回事.在Linux系统下获取root权限的方法是在命令行执行sudo或者su,接下来输入提权密码就可以获取root权限了.Android系统其实也是这样,例如应用层程序开发,在
-
Android中的Permission权限机制介绍
Android 通过在每台设备上实施了基于权限的安全策略来处理安全问题,采用权限来限制安装应用程序的能力.当某个权限与某个操作和资源对象绑定在一起,我们必须获得这个权限才能在对象上执行操作.由于Android设计本身就是为Android开发人员着想,所以一切权限许可权由用户决定而不是手机制造商和平台提供商,但这不得不带来了开发者滥用权限,黑客通过权限来进行恶意行为的风险,所以作为静态分析一个app是否为恶意软件的第一道关,获取并了解Android Permission权限意义是十分重大的. 权限
-
Android获取apk程序签名信息代码示例
复制代码 代码如下: 这是获取apk包的签名信息private String getSign(Context context) { PackageManager pm = context.getPackageManager(); List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES); Iterator<PackageInfo> iter = apps.iterator()
-
Android如何防止apk程序被反编译(尊重劳动成果)
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用. 下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先
-
APK程序获取system权限的方法
本文实例讲述了APK程序获取system权限的方法.分享给大家供大家参考.具体如下: 最近项目需要,用NDK编程,遇到了些问题,在访问底层的设备时,没有权限,后来就在网上查找了资料,一开始还以为有root权限,找来找去,弄来弄去,程序都获取不到root权限,后来找到原来用system权限就可以访问设备了.网上找到2种方法,一是在源码中编译,二是修改密钥.刚开始弄android的,对源码不了解,就选择了第二种方法. 下面是操作步骤: 1.在代码中,AndroidManifest.xml文件的man
-
微信小程序获取手机系统信息的方法【附源码下载】
本文实例讲述了微信小程序获取手机系统信息的方法.分享给大家供大家参考,具体如下: 1.效果展示 2.关键代码 index.wxml布局文件代码 <view>手机型号:{{mobileModel}}</view> <view>手机像素比:{{mobileePixelRatio}}</view> <view>窗口宽度:{{windowWidth}}</view> <view>窗口高度:{{windowHeight}}</
-
微信小程序获取网络类型的方法示例 原创
本文实例讲述了微信小程序获取网络类型的方法.分享给大家供大家参考,具体如下: 这里主要演示通过wx.getNetworkType获取当前网络类型的操作方法.代码如下: index.js: Page({ /** * 页面的初始数据 */ data: { netType:'' }, /** * 生命周期函数--监听页面加载 */ onLoad: function () { var that = this; try { wx.getNetworkType({ success: function(res
-
Golang通过小程序获取微信openid的方法示例
为什么要获取小程序的 openid 在开发微信小程序的过程中,小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系.那么这个用户身份标识就是 openid. 小程序获取 openid 的流程 那么小程序获取 openid 的流程具体如下,这里我简化了一下,因为我们只需要获取到 openid 即可,具体可以参考 这里 我们需要在小程序中调用 wx.login() 获取 code 码,然后将这个 code 码发送给后端,后端带着这个 code 码和 app
-
Windows7下获得System权限问题解决方法
Windows7下MS加强了权限的问题,但这个神秘的无处不在的system居然比administrator还大而又不能登录实在是让人不能理解,特别是很多的目录居然都要system的权限才能删除,真是让人头痛. 下面有一个脚本,可以在得到命令行下的system权限,其实原理很简单,因为服务居然是system权限运行的,真是让人难以理解.但,这想法实在是很帅,我很喜欢: 复制代码 代码如下: sc Create SuperCMD binPath= "cmd /K start" type=
-
微信小程序获取用户openid的方法详解
目录 获取openid的思路 需要修改的地方 完整代码 总结 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系 然而因为小程序中的openid不可以直接使用需要用code(登录凭证)去换取openid 获取openid的思路 获取openid首先需要调用小程序的login方法获取小程序的登录凭证code,然后使用code向微信换取登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key) 我这里是用一个点击事件来触
-
微信小程序获取手机验证码的方法
本文实例为大家分享了微信小程序获取手机验证码的具体代码,供大家参考,具体内容如下 完成手机验证码的功能: (1)效果图如下: (开始发送验证码) (重新发送验证码) (2)需求及思路说明: 输入正确的11位手机号,使用正则校验. 校验手机号的归属地----北京移动(这个根据需求而定) 点击 “获取验证码” ,获取成功与失败,都会以弹框的形式展现,完成倒计时. 倒计时为 ‘0’ 的时候,按钮文字变成 “重新发送” 当按钮是 “获取验证码” 和 “重新发送” 的时候,按钮是可以点击进行倒计时的 在倒
-
Android实现检查并下载APK更新、安装APK及获取网络信息的方法
本文所述实例为一个天气预报中的android代码,主要包括了下载和安装APK.检查Apk更新.显示'已经是最新'或者'无法获取版本信息'对话框.获取当前客户端版本信息.显示版本更新通知对话框.显示下载对话框.判断是否挂载了SD卡.显示文件大小格式:2个小数点显示等.具体实现代码如下: import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.I
-
微信小程序获取用户绑定手机号方法示例
用户调用wx.login()方法,获取登录用户凭证code wx.login({ success: function(res) { console.log('loginCode', res.code) } }); code传给后台,凭证code获取session_key和openid https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=aut
-
Android中修改设备权限的方法
本文实例讲述了Android中修改设备权限的方法.分享给大家供大家参考.具体如下: 有时我们编写了驱动后,在上层程序中要访问设备,但android代码编译后的设备权限是root的,其他用户不可访问(包括system),只是就需要在android源码中将设备的权限修改下. 具体的修改位置为源码的system/core/init/devices.c文件中static struct perms_ devperms[]的定义中,如添加设备hidraw0的权限,只需添加一行: 复制代码 代码如下: { "
随机推荐
- Mysql数据库之索引优化
- JavaScript中原型和原型链详解
- JS获取网址中指定值的正则函数
- Windows7下IIS+php配置教程
- iOS点击推送消息跳到应用指定页面方法
- html5+javascript制作简易画板附图
- Php连接及读取和写入mysql数据库的常用代码
- PHP实现单例模式最安全的做法
- 不用float实现div模块居中布局
- js实现获取焦点后光标在字符串后
- jquery实现带复选框的表格行选中删除时高亮显示
- C语言 经典题目螺旋矩阵 实例详解
- sed删除文件中的一行内容的脚本代码
- Linux环境中使用Ext3文件系统
- JQuery 确定css方框模型(盒模型Box Model)
- document.all与WEB标准
- ATA接口详解
- O-blog漏洞暴光
- 解决无法删除病毒文件的处理方法
- Shell脚本编程30分钟入门(小结)