ToolRoot——让你的APK获取ROOT权限

这个程序是把SuperUser中的su进行改版后做成的例子,关于SuperUser,可以看一下这两篇文章:

RootExplorer怎么样获取root权限的

http://blog.csdn.net/a345017062/archive/2011/05/24/6441986.aspx

RootExplorer怎么样获取root权限的——续

http://blog.csdn.net/a345017062/archive/2011/05/24/6442306.aspx

 

这里只描述一下这个程序如何运行,还有它的原理

一、如何运行

使用时的格式为“ToolRoot 具体SHELL命令“,比如

ToolRoot pwd

二、原理

首先,ToolRoot会改变当前进程的UID和GID:

if (setgid(0) || setuid(0)) { LOGW("su: permission denied(%s)",strerror(errno)); return -1; } 

这里有一点,ToolRoot这个程序文件本身的用户应该是root才可以。详细的可以看一下Unix高级编程中关于setgid和setuid的讲解。

接下来,ToolRoot会运行sh程序来执行pwd命令,然后再包装进logwrapper,以便查看pwd命令的输出。

 

程序是开源的,可以从这里下载:

http://code.google.com/p/flying-on-android/

 

你可能感兴趣的:(Android,Framework)