如何使编译的ROM能使所有程序获得root权限执行

来源:互联网 发布:网络聚众赌博怎么处罚 编辑:程序博客网 时间:2024/04/30 11:23
之前提到的修改ro.secure设为0后,只是adb获得root权限了,但是其他程序也可能需要使用Root权限

一般程序使用Root权限的方法都是调用 /out/.../system/bin/或/xbin/目录下的 su程序;
只是,在Android下,这个su程序被做了很多限制,首先是访问权限,不让普通程序执行 su,这个需要修改;
其次,即使可以执行su,Android下这个su也会判断谁调用了su,不是特定用户,不让执行,因此需要修改su;
注释掉su.c中的   
if (myuid != AID_ROOT && myuid != AID_SHELL) {
        fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
        return 1;
    }

关键的是android\system\extras\su模块有没有被编入,一般eng版本会编译出su模块,因为android\system\extras\su\Android.mk中LOCAL_MODULE_TAGS := debug
如果要在user版本也编入su模块的话,修改android\system\extras\su\Android.mk中LOCAL_MODULE_TAGS := optional,再在device\(product_path)\base\core.mk中PRODUCT_PACKAGES添加su
即可在out/.../system/xbin/下生成su供程序调用
原创粉丝点击