Firefly开源社区

标题: 想问下android setgid(0)失败的原因 [打印本页]

作者: zxb1668956679    时间: 2015-5-8 15:18
标题: 想问下android setgid(0)失败的原因
最近在修改su.c文件,我的目的是让所有三方应用在user版本上都可以使用root权限,我现在不想要apk来管理,也就是对申请root权限的应用没有限制,只要申请都可以获得,于是我去掉了su.c中的下面这段限制
    if (myuid != AID_ROOT && myuid != AID_SHELL) {
        fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
        return 1;
    }
我把上面这段话去掉之后,发现在setgid(gid) || setuid(uid) 这地方报错,gid和uid的值都为0,也就是root的用户组,但是不知道为什么会报:Operation not permitted 这样的错误呢?我研究了下setgid函数,被运行的文件有setgid的权限,那么运行该文件时就拥有该文件所有者同样的权限,而我的su文件的权限是这样的:
-rwsr-sr-x root     root        83776 2008-08-01 20:00 su
setgid和setuid的权限都有啊,而且我通过shell指令运行su文件,也能成功获取到root权限,为什么我用第三方的应用去获取,在setgid的时候就会失败呢???
作者: Morgan    时间: 2017-3-30 10:42
楼主的问题解决了么?
作者: 风之空响    时间: 2017-4-5 11:54
Morgan 发表于 2017-3-30 10:42
楼主的问题解决了么?

早就不能这样玩了,从4.4.2就不行了,你如果想要获取root权限的话,可以搜一下我的帖子




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1