IOS越狱开发 创建具有ROOT权限的APP
2015-07-03 10:56
549 查看
创建具有Root权限的App
(当然,首先是需要你的移动设备已经越狱了)
1.创建并编写有Root的程序(例如名字为Demo),在main.m的main函数第一条代码执行setuid(0)命令
2.编译程序,把APP拷贝出来一份,打开APP的包内容,在运行文件名的后面加条下划线(Demo改为Demo_)
3.把程序的入口关掉(注释main.m里面的入口代码),在main函数里面加上以下代
4.编译程序,把APP里面的运行文件拷贝到刚才拷贝出来的APP里面,这时APP里面就有2个运行文件了(Demo与Demo_)
5.根据以下的目录结构创建相对应的目录与文件
deb (文件夹)
|----DEBIAN (文件夹)
|-----control (配置文件)
|----Applications (文件夹)
|----- APP (APP程序)
6.修改deb文件夹与里面文件的权限,因为如果不修改成这个权限,后面打包deb的命令可能会失败
sudo -R 0755 chmod deb/
7.进入APP包里面,修改Demo_的所属组与权限,(也可以在手机上安装完之后再用Terminal修改,但是不喜欢用手机手机敲命令)
sudo chown root:admin Demo_ (可能没有admin这个组,例如我的linux里面默认存在的是root:roor,这时把组root改成admin就可以了)
sudo chmod 777 Demo_
sudo chmod u+s Demo_
8.打包deb文件 (最好在Linux系统里面,因为我在mac里面不装fink的情况下生成失败了)
dpkg-deb -b deb Demo.deb
9.拷贝Demo.deb到手机,用iFile安装(这时是看不到安装了的APP的图标的),用PP助手修复图标或重启即可看到图标
(当然,首先是需要你的移动设备已经越狱了)
1.创建并编写有Root的程序(例如名字为Demo),在main.m的main函数第一条代码执行setuid(0)命令
int main(int argc, char * argv[]) { setuid(0); @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
2.编译程序,把APP拷贝出来一份,打开APP的包内容,在运行文件名的后面加条下划线(Demo改为Demo_)
3.把程序的入口关掉(注释main.m里面的入口代码),在main函数里面加上以下代
int main(int argc, char * argv[]) { NSString* string = [[NSBundle mainBundle]pathForResource:@"CreateRawSocket_" ofType:nil]; argv[0] = (char*)[string UTF8String]; execve([string UTF8String], argv, NULL); // setuid(0); // @autoreleasepool { // return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); // } }
4.编译程序,把APP里面的运行文件拷贝到刚才拷贝出来的APP里面,这时APP里面就有2个运行文件了(Demo与Demo_)
5.根据以下的目录结构创建相对应的目录与文件
deb (文件夹)
|----DEBIAN (文件夹)
|-----control (配置文件)
|----Applications (文件夹)
|----- APP (APP程序)
6.修改deb文件夹与里面文件的权限,因为如果不修改成这个权限,后面打包deb的命令可能会失败
sudo -R 0755 chmod deb/
7.进入APP包里面,修改Demo_的所属组与权限,(也可以在手机上安装完之后再用Terminal修改,但是不喜欢用手机手机敲命令)
sudo chown root:admin Demo_ (可能没有admin这个组,例如我的linux里面默认存在的是root:roor,这时把组root改成admin就可以了)
sudo chmod 777 Demo_
sudo chmod u+s Demo_
8.打包deb文件 (最好在Linux系统里面,因为我在mac里面不装fink的情况下生成失败了)
dpkg-deb -b deb Demo.deb
9.拷贝Demo.deb到手机,用iFile安装(这时是看不到安装了的APP的图标的),用PP助手修复图标或重启即可看到图标
相关文章推荐
- IOS 里面你没有注意到的一些小知识
- Android Fragments (Android官方文档中文版)
- Android HAL模块实现
- Android jniLibs 里面的.so丢失
- 主机端模拟控制Android设备程序之鼠标模拟触屏
- Android HAL模块实现
- iOS系统声音提示
- iOS手势 伸缩 移动 旋转
- html5 + css3 + zepto.js实现的微信广告宣传页
- Objective C中数组排序几种情况的总结
- unity3D项目中如何避免硬代码(C#)
- android Service使用与广播
- Apple IAP官方文档
- Android通过签名验证防止二次打包
- object-c 入门基础篇
- logback 常用配置详解(二) <appender>
- 微信营销给你带来了什么?
- APP WEB HTML5 开发框架
- How to root Nexus 5 and 4 on Android 5.1.1 Lollipop and install CWM recovery
- Android Studio运行安卓程序报Failure [INSTALL_FAILED_OLDER_SDK]的解决办法