2012-03-17 157 views

回答

3
  1. 在main.m文件添加setuid(0);setgid(0);
  2. 构建应用程序正常运行。
  3. 然后将可执行文件复制并粘贴到.app中,并将其重命名为 任何您想要的,请勿重命名原始文件。
  4. 打开原始的可执行文件并删除它的内容( 内容现在存储在先前复制并重命名的 二进制文件中)。
  5. 来自4.加入这个bash脚本的空二进制文件:

    #!/bin/bash 
    dir=$(dirname "$0") 
    exec "${dir}"/<COPIED FILE NAME> "[email protected]" 
    

    跳板会先运行此文件,因为它的CFBundleExecutable,那么这将启动实际的应用程序的可执行 。这样做是因为跳板将无法直接启动用root权限

  6. 打开终端的可执行文件,并更改目录到。应用程序(例如:cd /User/Me/Desktop/MyApp.app
  7. chmod原来的可执行文件,0755(前。chmod 0755 MyCFBundleExecutable)和复制文件到6755(例如:chmod 6755 CFBundleExecutableRoot
  8. SSH的。应用程序到您的设备上/应用,respring并启动 它(如果没有则启动重复设置7.而是通过终端ssh方式连接到您的设备)
相关问题