Run a daemon (as root) on iOS

我发现是我自己走入了一个误区, 不应该纠结在一定要在bundles里获得root权限…

成功了,感谢!!!!!!

多谢分享,感谢辛苦了,有个地方不懂,为什么每次reboot,下次运行就多了一行

ZHOUMENGYUANmato-iPad:~ root# grep iOSRE /var/log/syslog
Jan 5 11:18:13 ZHOUMENGYUANmato-iPad rootdaemond[497]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:21:23 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:47:52 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:50:51 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
reboot之后
ZHOUMENGYUANmato-iPad:~ root# grep iOSRE /var/log/syslog
Jan 5 11:18:13 ZHOUMENGYUANmato-iPad rootdaemond[497]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:21:23 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:47:52 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:50:51 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!
Jan 5 11:52:25 ZHOUMENGYUANmato-iPad rootdaemond[79]: 文哥呀哈哈哈iOSRE: rootdaemond is launched!

而且reboot之后iOSRERootDaemonTester就自己消失了,不知道是啥原理

每次重启后,daemon会自动重新启动,因此会多一行输出;
iOSRERootDaemonTester不是一个daemon,不会重新启动,自然就消失了

哦懂了多谢,狗神,因为之前输出的日志还在没有被覆盖掉,所以每次启动会多出一行

楼主我想问下就是我现在按照你的教程完全走了一遍,前面打包,安装,提权都没有问题,但就是最后看不到输出结果?

你看看有没有/var/log/syslog这个文件,如果没有就按照书上的步骤装一下插件

就是没有这个文件啊!

书上写了,按照书上的步骤走一遍就有了

谢谢楼主!:handshake:

/var/tmp/iOSRERootDaemonTester 这句话执行不了:funk::funk:,使用./iOSRERootdaemonTester 提示permission denied

用chmod +x命令给它赋予可执行权限

试了,然后提示illegal instruction:4,要不要给这个文件签名?签名的时候使用ldid提示签名失败error = 78

不会吧,chmod也提示illegal instruction?你把完整的命令和输出贴上来看看

clang -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -o iOSRERootDaemonTester -arch armv7 main.mm
然后生成的文件我使用ifunbox 放到根目录下
然后root权限下执行chmod +x iOSRERootDaemonTester
执行./iOSRERootDaemonTester

你把Terminal中完整的输入输出贴上来,看看这个illegal instruction是怎么回事

。。。就是这个图

那看起来是你写的iOSRERootDaemonTester有问题吧

不会吧,是按教程上一步一步来的,问下另外一个问题,执行iOSRERootDaemonTester时,因为是一个可执行文件,不应该是./iOSRERootDaemonTester执行么,怎么做到/var/tmp/iOSRERootDaemonTester执行的

你的设备是iOS 7吗?我把iOSRERootDaemonTester拷贝到了/var/tmp/下,自然就是在这个路径下执行的