需求:我要开发一个拥有root 权限的app 我在论坛浏览了好多,也有很多介绍 但不是很理解,在网上我找到一个demo 但是不太理解它的执行文件的操作意义,能不能解释下。。。 我安装后返回的UID GID 是 0 是成功了么??
main 代码
int main(int argc, char * argv[]) { @autoreleasepool { setgid(0); setuid(0); return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
然后在打包deb的时候 在DEBIAN下 添加了两个可执行文件
1.postinst代码如下:(注:我的工程名为ReverseTest)
#!/bin/bash
cd “/Applications/ReverseTest.app/”
process origin binary
mv ReverseTest ReverseTest_
chown root.wheel ReverseTest_
chmod +s ReverseTest_
cont=cat <<"EOF" #!/bin/bash dir=$(dirname "$0") exec "${dir}"/ReverseTest_ "$@" EOF
create new fake binary
echo -e “$cont” > ReverseTest
chown root.wheel ReverseTest
chmod +x ReverseTest
#The RESPRING script after Install
declare -a cydia
cydia=($CYDIA)
if [[ $1 == install || $1 == upgrade ]]; then
if [[ ${CYDIA+@} ]]; then
eval “echo ‘finish:restart’ >&${cydia[0]}”
fi
fi
exit
2.prerm代码如下:
#!/bin/bash
rm -f “/Applications/rootApp.app/ReverseTest_”