亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在iOS 系統上使應用具有root權限

發布時間:2020-04-04 08:33:01 來源:網絡 閱讀:3288 作者:chenjohney 欄目:移動開發

問題描述:使用xcode生成 app后,將它放置/Applications 目錄下,但調用系統目錄的權限不足,導致reboot等命令不能執行.
解決問題方向: 將app具有root 權限.

解決方法:
1.suid位,在unix上用于表示文件權限,用于標識其他用戶執行該文件時是以文件的所有者來運行.僅對二進制可執行文件有效,若該文件屬于root時,當其他用戶執行文件時,相應地也就具有了root權限.
修改 suid 權限:
chmod u+s filename 設置SUID
chmod u-s filename 去掉SUID設置
設置了suid位,則文件在原來的x位"x"變成了"s"
#ls -l a.txt
-rwxrwxrwx 777
#chmod 4777 a.txt
-rwsrwxrwx ======>注意s位置
操作:
(1)在項目的main.m文件修改以下代碼:

int main(int argc, char *argv[])
{
    setuid(0);
    setgid(0);
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}


(2)將打包好的RebootApp.app放在/Applications 目錄下,并將RebootApp.app/RebootApp 的權限加上suid,并將其所有者改為 root
chmod u+s RebootApp
chown root RebootApp

2. 增加引導程序
在第一步完成后,重啟設備,發現一打開應用就閃退.后來查資料才知道原因在于用戶打開應用時通過SpringBoard來啟動應用的中,而iOS在用戶打開應用的時候會進行權限檢測,它如果檢查到將以root運行應用程序時就不會執行.
解決方法:設置引導程序,通過引導程序打開應用, 就可以眺過SpringBoard的安全檢查,而引導程序是普通用戶權限,用戶可以直接打開.
操作:
(1) 將設備里的/Applications/RebootApp.app/RebootApp 文件改名為RebootApp_
(2) 在項目的main.m文件修改以下代碼:

int main(int argc, char *argv[])
{
    @autoreleasepool {
        NSString* string = [[NSBundle mainBundle] pathForResource:@"RebootApp_" ofType:nil];//RebootApp_是所要啟動的名字二進制文件名
        argv[0] = (char*)[string UTF8String];
        execve([string UTF8String], argv, NULL);
        return 0;
    }
}


(3) 再編譯一次生成RebootApp.app,將RebootApp.app包里的RebootApp 通過ssh放到設備的 /Applications/RebootApp.app/目錄,重啟設備,打開應用,完成,程序具有root權限


參考文章:

http://blog.csdn.net/longhuihu/article/details/8907004

http://hi.baidu.com/lm382304817/item/4aa87eaa87c7f2746dd455ad

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博爱县| 洛宁县| 泽州县| 凤城市| 益阳市| 余江县| 海门市| 南和县| 平乡县| 岳阳市| 诏安县| 台北市| 马龙县| 全州县| 赞皇县| 中山市| 新竹市| 驻马店市| 张家川| 潞城市| 乌什县| 蚌埠市| 潼南县| 清徐县| 莲花县| 浦江县| 治县。| 余庆县| 清新县| 宜章县| 章丘市| 固始县| 白山市| 祁连县| 屯门区| 山东| 台南市| 长宁县| 冷水江市| 青田县| 深泽县|