如何用C API 的execl/execve函数来启动一个App呢?下面是我的试验,我想也没那么简单就成功,所以得到Abort trap: 6提示。
exec.c:
#include <stdio.h>
#include <unistd.h>
int main(){
printf("Program Begin\n");
execl("/var/mobile/Containers/Bundle/Application/C3E7C69A-A5FD-4524-9CE4-C3866E242627/Moves.app/Moves","",NULL);
printf("Program End\n");
return 0;
}
然后编译
clang -framework Foundation -arch arm64 -isysroot /Users/abby/SDKs/iPhoneOS9.0.sdk ./exec.c -o ./exec
然后签名
ldid -S exec
然后scp到iPhone 5s (iOS version 9.0) 上,ssh连接后运行这个用C写的可执行文件exec。结果是Terminal提示Abort trap: 6。
请问各位大神,有没有方法呢?