创建具有Root权限的App
(当然,首先是需要你的移动设备已经越狱了)
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]));
// }
}