
我试图在C上为Android创建setuID程序.我在androID 2.3-4.2上进行了测试,它在除Samsung galaxy s4(i9500)之外的所有设备上都能正常运行.
我使用CF-auto-Root将su安装在设备上,并且工作正常.但是我的应用程序运行不正常.
我已经将mysu安装到系统目录中并设置了所有权限:
shell@androID:/ $ls -Z /system/bin/mysu-rwsr-sr-x root root u:object_r:system_file:s0 mysu那就是关于Chainfire的su:
shell@androID:/ $ls -Z /system/xbin/su-rwsr-sr-x root root u:object_r:system_file:s0 suSelinux处于许可模式:
shell@androID:/ $getsebool -aandroID_cts --> onapp_bluetooth --> offapp_external_sdcard_rw --> onapp_internal_sdcard_rw --> onapp_ndk --> offapp_network --> onapp_read_logs --> offapp_vpn --> offdeBUGfs --> onin_qemu --> offmanage_mac --> onmanage_selinux --> onsupport_runas --> onsystem_app_manage --> offshell@androID:/ $getenforcePermissive在mysu中,我在调用shell之前使用setuID和setgID,但它们在galaxy S4上失败:
shell@androID:/ $mysueuID, egID: 0, 0uID, gID: 2000, 2000setgID(0): Permission denIEdsetuID (0): Permission denIEdexecv("/system/bin/sh", exec_args): Permission denIEd我究竟做错了什么?除了setuID和setgID,Chainfire的su是什么?
解决方法:
解决方案:在调用setuID(0)之前先执行fork().
总结以上是内存溢出为你收集整理的android-setuid在Galaxy s4上失败并显示PermissionDenied全部内容,希望文章能够帮你解决android-setuid在Galaxy s4上失败并显示PermissionDenied所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)