⑴ android应用程序怎样获取读取系统文件的权限
1、必须是Android系统开发人员,否则你无法修改init.rc等文件。 2、你的应用程序必须要获得system权限。
在应用层 你要想用代码获得系统文件权限,除非你手机root了
要么你自己坐rom。。。。 自己修改 init,rc
具体可以参考这篇博文::blog.sina../s/blog_5f35912f0100w4ld.
可以参考如下内容:
按照 Simon 的文章中提到的,应用程序有以下两种办法临时获得 root 权限:
1) 实现一个 init 实现一个 Service ,来帮助 Android 应用程序执行 root 权限的命令。
2) 实现一个虚拟设备,这个设备帮助 Android 应用程序执行 root 权限的命令。
第二种办法我这里没有尝试,暂时也不会。这里讲讲我在实现第一种办法做扰物的过程和遇到的一些问题。
1. 将我们要执行的命令写成脚本,或者可执行程序。
下面是我的脚本 ifconfig_test.sh :
# ! /system/bin/sh
ifconfig
注意: 脚本的第一行必须为 # ! /system/bin/sh ,否则无法执行,通过 dmesg 可以查看到信息内容为cannot execve ./ifconfig_test.sh: Exec format error
授权管理----允许Re获取权限。
Root是获取手机的管理员用户帐户,它可以访问和修改手机操作系统里几乎所有的文件,这样操作有可能影响到手机的稳定性,导致出现人为性故障现象,如死机、重启等。依据“消费者三包规定”Root属于修改操作系统软件,不属于包修范围李轿。
public boolean onTouchEvent(android.view.MotionEvent event) { int x = event.getX(); int y = event.getY(); 多点触摸时 假如是第i个点 int x = event.getX(i); int y = event.getY(i); 坐标就是 P(x,y) }
下载并安装好腾讯手机管家PC版之后,打开该软件并进入工具箱,你会发现“一键ROOT”和“KingRoot”两款工具。通过USB 将手机同电脑连接后,无论选择那纯液款工具,用户都可以通过简单的鼠标点击,完成之前难以达成的任务。选择“一键ROOT”按钮后,应用工具将智能匹配手机系统,寻找最适合该手机的ROOT方案,几分钟之后,用户手机即可成功获得ROOT权限。
Android应用程序获得root权限
在获取root权限后可以批量卸载系统自带应用
并且可以批量备份,在卸载系统应用之前先备份一次
然后就可以安心卸载系统自带应用了,
我一直是在用应用宝的手机管理软件在工具
箱的常用工具中找到一键ROOT工具,
点击启动该工具便可以轻松的实现手机一键ROOT。
此外,你还可以点击一键优化按钮来优化
手机建议一键优化,选择您需要的单个优化项,如垃圾缓存清理。
你可以尝试安装Kingroot授权管理软件,或者安装一键root大师软件进行root操作,只要你尝试root操作,一定可以root成功的。
Root权限的获取方式: 1.用手机连接电脑,下载一键root工具。 2.下载成功后,打开一键ROOT软件。会出现root准备,点击下一步,正式开始root。 3.检查root条件,要是需要文件备份的话,一定要备份后。点击开始ROOT。 4.root正式开始,需要几钟左右时间,期间可能会重启数次,root就会完成。 5.root完成后,就可以随意删除手机中的垃圾应用了包括系统应用。
Android system 要获取Root权限, 方法众多。
例如 : Bai Root, Amazing Root ...都可以
现以 BAIDU ROOT介绍步骤, 操作如下 :
1、机子下载 BAIDU ROOT(APK版)。
2、运作 BAIDU ROOT, 点选 "一键获取Root"。
3、机子 Root 成功了, 自动重启 。
PS:建议Rooting前备份手机数据。 Rooting过程约需时5min。
你可以试试刷机精灵,蘑菇云,深度刷机,Z4ROOT,甜椒等等,,,注意ROOT后,必须安装SUPERUSER,用于权限的管理,否则将没有任何作用,,,其实手机端也有很多,你可以到安卓软件站搜索ROOT,下载并安装,进行ROOT破解即可,,,不过解决方法会少很多,最好是电脑端ROOT破解。。。。刷机工具,可以到XIAZAIBA下载、。、
⑵ adb环境下的root权限获取
这个是和设备的系统有关系的,一般的debug 版本的系统可以开root,正式出厂的都没有的
adb的root权限是在system/core/adb/adb.c中控制.主要根据ro.secure以及ro.debuggable等systemproperty来控制.默认即档ro.secure为0... 博文 来自: sir_...查看全部2021年1月3日-csdn已为您找到关于adb获得root权限相关内容,包含adb获得root权限相关文档代码介绍、相关教程视频课程,以及相关adb获得root权限问答内容。为您解决当...
2021年7月1日-adb获取root权限----adb命令集合:一、获取root权限,给文件以读写权限 步骤:1、手机进行root; 2、cmd 进入命令行 运行adbshell命令(adb已配置到环境变...
2016年8月10日-当你获取root权限后通过adb访问 /data/data目录: 1、进入shell模式adbshell 2、su 切换到root用户 su 3、修改/data/data目录的权限为 777即可 chmod 777 /...
2013年8月15日-adb里面有个root命令,可以用来获取root权限。Android守护进程adbd启动时,会调用create_local_service_socket()创建socket套接字, fd = service_to_fd(...
⑶ 安卓手机怎么开root权限
在手机上获取root权限方法如下:
工具:华为P40、EMUI10.1.0、神话一键root。
1、打开root软件,选择开始root。
root权限介绍
root权限,系统权限的一种,也叫根权限,与SYSTEM权限可以理解成一个概念,但高于Administrator权限,root是Linux和unix系统中的超级管理员用户帐户。
该帐户拥有整个系统至高无上的权力,拆弊李所有对象他都可以操作。获得root权限之后就意味着已经获得了系统的最高权限,这时候你可以对系统中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
⑷ 如何使Android应用程序获得root权限
您好,很高兴为您解答。
一般来说, Android 下的应用程序可以直接得到的最大的权限为system,如果我们需要在程序中执行某些需要 root 权限的命令,如 ifconfig 等,就需要 root 权限了。按照 Simon 的文章中提到的,应用程序有以下两种办法临时获得 root 权限:
1)实现一个 init 实现一个 Service ,来帮助 Android 应用程序执行 root 权限的命令。
2) 实现一个虚拟设备,这个设备帮助 Android 应用程序执行 root 权限的命令。
讲下第一种办法的过程和遇到的一些问题。
1.将我们要执行的命令写成脚本,或者可执行程序。
下面是我的脚本 ifconfig_test.sh :
# ! /system/bin/sh
ifconfig
注意: 脚本的第一行必须为 # ! /system/bin/sh ,否则无法执行,通过 dmesg 可以查看到信息内容为 cannot execve ./ifconfig_test.sh: Exec format error
也可以采用 C/C++ 编写需要执行的命令或者程序,并在编译 image 的时候编译成可执行程序。
2. 在 init.rc 中注册 service
Android 中的 service 需要在 init.rc 中注册, Init.rc 中定义的 Service 将会被 init 进程创建,这样将可以获得root 权限。当得到相应的通知(通过属性设置)后, init 进程会启动该 service 。
本文中注册的内容如下:
service ifconfig_test /system/etc/ifconfig_test.sh
oneshot
disabled
其中, oneshot 表示程序退出后不再重新启动, disabled 表示不在系统启动时启动。
注意: 这里 service name 不能超过 16 个字符。我之前的 service name 由于定义的比较长, 18 个字符,设置属性通知 service 启动后查看 dmesg 可以看到提示: init: no such service 。查看 /system/core/init/parser.c 的源代码,在 parse_service->valid_name 函数中可以看到如下内容: if (strlen(name) > 16) { return 0; } ,证明service 的名字的确不能超过 16 个字符。
3.将 Android 应用程序提升为 system 权限
既然应用程序可以通过启动 service 获得 root 权限,那么岂不是很不安全。 Android 考虑到了这点,规定只有system 权限的应用程序才能设置属性,通知 service 启动。
4.在应用程序中添加属性设置代码
对于 Android 来说,应用程序通知 init 启动 service 是通过设置系统属性来完成的,具体为设置 System 系统属性 “ctl.start” 为 “ifconfig_test” ,这样 Android 系统将会帮我们运行 ifconfig_test 这个 service了。
对该系统属性的设置有三种方法,分别对应三种不同的应用程序:
1) java 代码
Android 在 Java 库中提供 System.getProperty 和 System.setProperty 方法, Java 程序可以通过他们来设置和获得属性。代码如下:
SystemProperties.set("ctl.start", "ifconfig_test");
上面的代码是通知 Android 执行 ifconfig_test service ,如果需要查询当前 service 执行的状态,如是否执行完毕,可以通过如下代码查询:
ret = SystemProperties.get("init.svc. ifconfig_test ", "");
if(ret != null && ret.equals("stopped"))
{
return true;
}
2) JNI 代码
当编写 NDK 的程序时,可以使用 property_get 和 property_set 这两个 API 来获得和设置属性。使用这两个API 必须要包含头文件 cutils/properties.h 和链接 libcutil 库。
3) Shell 脚本
Android 提供了命令行 setprop 和 getprop 来设置和获取属性,他们可以在脚本中被使用。
由于我的程序是在 JNI 中调用脚本,脚本中又执行 ifconfig ,因此我将设置属性的部分放在了脚本中完成,代码如下:
setprop ctl.start ifconfig_test
#wait for the service until it stops
ret=1
while [ $ret -ne 0 ]
do
getprop | grep "$ENABLE_MAPPER_SRV" | grep stopped
ret=$?
done
通过上面 4 个步骤, Android 应用程序就获得了 root 权限,更具体的说,是在执行我们需要执行的命令时临时获得了 root 权限。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
⑸ 手机怎么获取root权限
1、在手机里面找出【设置】按钮并将它打开。
(5)android获取root权限代码扩展阅读
root权限作用
1、可以备份手机系统和软件应用等重要的私人资料(包括可以备份联系方式、短信、手机系统等),这样即使手机出现故障丢失了相关数据,也可以在备份中还原。
2、使用高级的程序,例如RE管理器、省电大师、甜椒刷机助手等等,
3、可以修改手机系统,也就是root后可以给安卓手机刷机,体验不同安卓系统的乐趣。修改系统的内部程序和文件,如修改build.prop来DIY手机信息
4、可以把一些程序应用安装在SD卡上(Android2.2以下默认是不支持的),减轻手机负担。
5、可以卸载州握芹系统程序(需谨慎使用),可以删除原厂系统自带的感觉没什么用的软件。
6、可以管理开机启动项,禁用不皮陆需要后台运行的程序,进行手机省电优化。
⑹ 求问android怎么在代码里获得系统文件的读写权限
本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的。
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点中加入
android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。
第二个办法麻烦点,不过不用开虚拟机跑到源码环境下用make来编译:
1. 同上,加入android:sharedUserId="android.uid.system"这个属性。
2. 使用eclipse编译出apk文件,但是这个apk文件是不能用的。
3. 用压缩软件打开apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。
4. 使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,
首先找到密钥文件,在我的Android源码目录中的位置
是"build argetproctsecurity",下面的platform.pk8和platform.x509.pem
两个文件。
然后用Android提供的Signapk工具来签名,signapk的源代码是
在"build oolssignapk"下,
用法为"signapk platform.x509.pem platform.pk8 input.apk output.apk",
文件名最好使用绝对路径防止找不到,也可以修改源代码直接使用。
这样最后得到的apk和第一个方法是一样的。
最后解释一下原理,首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,这样就有权限来修改系统时间了。
只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform
key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到 platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android 中的key来签名,程序在模拟器上运行OK,不过放到G3上安装直接提示"Package ... has no signatures that match those in shared user android.uid.system",这样也是保护了系统的安全。
Java代码 1、必须是Android系统开发人员,否则你无法修改init.rc等文件。 2、你的应用程序必须要获得system权限。 在应用层 你要想用代码获得系统文件权限,除非你手机root了 要么你自己坐rom。。。。 自己修改 init,rc
方法/步骤
1
首先找到你要操作的文件夹,这里用一个声卡相关的文件夹做例子。选中文件夹。右击它。选择文件的属性,安全--->高级。
2
更改所有者,如图所示。在输入对象名称那儿,输入你的账户名称,我的是微软账户。输入完之后确定。
3
回到刚才的界面,你会看到所有者已经改变了,变成了你的账号。然后确定退出,回到文件夹。(一定要确定后退出回到文件中,才能进行下一步)
4
再次回到刚才的界面。禁止所有继承。
5
添加用户。输入账号,我输入的是微软账号。输入后确定。
通过第三方软件获得Root权限,可以访问和修改手机操作系统里几乎所有的文件,但这样操作有可能影响手机的稳定性,出现死机、重启等人为性故障。
另外获取权限后一般对存储器和CPU等主板上主要部件引起不良。Root属于修改操作系统软件,按照条例不属于包修范围。为了提升顾客满意度,对Root顾客提供免费升级固件服务,如果Root已影响到手机硬件需要更换主板,则需要收取主板费用。
若您的机器Root后需将机器恢复到原来的系统版本,请将机器送到服务中心,由售后工程师帮助检查处理。自行将设备恢复出厂设置是无法取消Root权限的。
对于已经获取所有权限的文件,建议大家还是恢复到原来的状态。今天就跟大家分享一下如何恢复系统文件的默认权限,Windows 7和Windows 8系统都是一样的操作步骤。这里以平时最常修改的hosts文件为例,下图显示已获取hosts文件所有权限。已获得所有权限的hosts文件恢复权限有点类似于于逆向操作,首先点选Administrators组(上图蓝色条),然后点击下方的“高级”按钮,切换到“所有者”标签。高级安全设置-所有者在上面的窗口中,点击“编辑”按钮打开新窗口来更改所有者。编辑所有者到这一步,你会发现可更改的所有者并没有当初替换时的TrustedInstaller,怎么办?别急,点击“其他用户或组”来添加它。在新开的窗口里,输入:NT SERVICE\TrustedInstaller,注意前面的NT SERVICE一定要加上,否则系统不认。添加TrustedInstaller用户完成后点击确定回到上一窗口,此时会看到TrustedInstaller用户出现了,接下去就是选择它,然后一路确定退出各个窗口。文件所有权恢复到默认状态
File类里面就有canRead,canWrite,canExecute方法啊。 查看原帖>>
麻烦采纳,谢谢!
用re
先耐心的把这里的帖子看上几页,再多网络网络资料,不要手机一上手就玩这些要root权限的内容,容易出问题,到时候问题越来越多。。。建议至少2周后再做这些事情,对你会很有帮助。 查看原帖>>
对于一般文件来说,是不需要开启administrator账户的,只需要一个简单的办法就OK啦!比如说,对待下面的这种类型的文件夹。
2
我们只需要击右键,选择“管理员取得所有权”即可。
3
对于一些程序文件来说,只需要你击右键,选择“以管理员身份运行”,也是一个非常便捷的获得管理员权限的办法。
END
开启Administrator账户的方法
Windows 7系统中,administrator账户并不是默认开启的,那么就需要我们手动开启,这也不是很难的啦!对计算机图标,击右键,选择管理。
打开界面后,选择本地用户和组,单击用户,选择administrator账户即可。
3
打开,administrator账户之后,按照以下的操作来进行就行了。
4
这样,在开始登陆的界面,即可以出现administrator账户了,选择此账户即可获得管理员最高权限,不过建议一般来说此账户还是不要开启的好,如果此账户受损,再创建帐户很容易失败。还有,在第一次开启此账户时,是不需要密码的。
这个问题其实LBE已经解决了。 1.在2012隐私保护版中,每次运行时请求系统root,创建一个开机启动服务libload.so,专门用于处理lbe自身的root请求。 2.在2013免root版中,首次运行时自动获取系统root,并把破解过的su文件复制到/system/xbin/.sv ,然后给6755的权限,专门用于处理lbe自身的root请求。 上述两种方案,均为程序自带root管理,用于解决其自身root请求。 以下代码即为方案2的原理,附件中为修改过的su文件。 ******************************************* 安卓的su文件,基本原理为 1234567if (pid=DB(Allow)) then "get uid=0 root" 白名单,程序获取rootelseif (pid=DB(Disable)) Return 黑名单,返回空else View"superuser.active" 数据库无记录,“授权管理”弹出root请求窗口endif修改后的su文件 1if (pid<>"") then "get uid=0 root" 无条件,返回root********************************************** 我反编译b.apk,然后把java应用调用runtime.exec("su")的代码全部改为runtime.exec("sa"), 然后重新打包签名好。安装这个软件。 用RE文件管理器把上面附件的su改名为sa,复制到/system/xbin/sa并改权限rwsx-rsx-r。 以后使用b.apk,获取root权限没有任何提示。 su.zip大小:249.85K 已经过网络安全检测,放心下载 点击下载下载量:133