我正在为越狱的iPhone等gcc编写一个gui包装器,它几乎完成了。但是,我在运行ld: can't open output file for writing : a.out, errno=1 collect2:ld return 1 exit status
时得到此输出。
我相信这与app运行的privelages有关。我在cydia开发者常见问题中尝试了setuid技巧。有人可以帮忙吗?
修改
这是我目前使用的包装:
#!/usr/bin/bash
dir=$(dirname "$0")
exec "${dir}"/GUI\ GCC_ "$0"
我也使用chmod 4777并将所有者:group更改为root:wheel。
我做得对吗?
答案 0 :(得分:2)
当我这样做时它起作用了:
的setuid(0); system(“Do root stuff”);
//检查你是谁 系统( “WHOAMI”);
您可以安装“ps -U root”的程序包以查看您是否为root或
答案 1 :(得分:1)
确保将setuid二进制文件隐藏在非setuid的包装器后面。有关如何完成的示例,请参阅Cydia或iFile。