1

我正在为越狱的 iphone 等编写 gcc 的 gui 包装器,它几乎完成了。但是,我在运行时得到这个输出ld: can't open output file for writing : a.out, errno=1 collect2:ld return 1 exit status。我相信这与应用程序运行的特权有关。我已经尝试了 cydia 开发人员常见问题解答中的 setuid 技巧。有人可以帮忙吗?

编辑
这是我目前正在使用的包装器: 我也使用了 chmod 4777 并将所有者:组更改为根:轮。 我做的一切正确吗?
#!/usr/bin/bash
dir=$(dirname "$0")
exec "${dir}"/GUI\ GCC_ "$0"


4

2 回答 2

2

当我这样做时它起作用了:

setuid(0); system("做root的东西");

// 检查你是谁 system("whoami");

您可以为“ps -U root”安装软件包以查看您是否是 root,或者

于 2011-01-24T02:24:48.183 回答
1

确保您的 setuid 二进制文件隐藏在非 setuid 的包装器后面。有关如何完成的示例,请参阅 Cydia 或 iFile。

于 2010-10-03T17:41:18.860 回答