IOS越狱开发 root权限获取

首先,只有在越狱的ios设备上才可以获取root权限,未越狱就不用考虑了!

思路:用具有普通权限的app引导具有root权限的app。假设你的应用程序为Demo,引导程序为Start。

具体步骤如下:

1、在Demo工程main.m文件开头添加一句:setuid(0);编译你的程序。进入Demo.app文件把Demo的执行文件改名为Demo_

2、在Start工程main.m文件开头添加一下代码:

NSString* string = [[NSBundle mainBundle]pathForResource:@"Demo_" ofType:nil];
argv[0] = (char*)[string UTF8String];
execve([string UTF8String], argv, NULL);

编译程序,进入Start.app文件夹将执行文件Start拷贝到Demo.app文件夹并且改名为Demo。

3、在桌面新建一个文件夹假设名为test,在test文件夹下再新建两个文件夹分别为:Applications、DEBIAN

4、将Demo.app包拷贝到Applications目录下,将Demo.app中得control可执行文件拷贝到DEBIAN目录下(这属于deb打包的部分,如有问题可以网上搜索解决)

我当时遇到的问题是打包的时候control出错,解决方法:打开control文件在末尾加两行空行。

5、用Terminal进入到Applications/Demo.app目录下,输入以下3条命令:

sudo chown root:admin Demo_

sudo chmod 777 Demo_

sudo chmod u+s Demo_

6、将test目录下的两个文件打包成一个deb文件、命令如下:

sudo dpkg-deb -b ~/Desktop/test ~/Desktop/Demo.deb

7、将生成的Demo.deb拷贝到iOS指定目录下:/var/root/Media/Cydia/AutoInstall。(可以用windows下得91助手,也可以用命令scp拷贝)

8、在iOS设备上用iFile安装deb包,重启iOS设备,OK!

你可能感兴趣的:(iOS开发)