pid iOS gui 的任务

Task for pid iOS gui

我正在编写一个带有图形用户界面的 iosopendev 调整来为 pid 代码执行一些任务。

应用程序本身有一个控制、postint、prerm 文件来获取 root access/privileges。

邮寄:

#!/bin/bash

cd "/Applications/test.app/"

# process origin binary
mv test test_
chown root.wheel test_
chmod +s        test_

cont=`cat <<"EOF"
#!/bin/bash
dir=$(dirname "[=11=]")
exec "${dir}"/test_ "$@"
EOF
`
# create new fake binary
echo -e "$cont" > test
chown root.wheel  test
chmod +x          test

#The RESPRING script after Install
declare -a cydia
cydia=($CYDIA)

if [[  == install ||  == upgrade ]]; then
if [[ ${CYDIA+@} ]]; then
eval "echo 'finish:restart' >&${cydia[0]}"
fi
fi

退出

预制:

#!/bin/bash

rm -f "/Applications/test.app/test_"

有什么方法可以签署应用程序并获得 task_for_pid 访问权限?

谢谢

您在制作应用程序时对其进行签名,而不是在安装它时进行签名。

  1. 安装 ldid 以签署您的二进制文件。如果您使用带有 Homebrew 的 macOS,请安装它:

    brew install ldid
    

    检查 http://iphonedevwiki.net/index.php/Theos/Setup#Setting_Up_Dependencies 其他平台。

  2. 创建授权文件(ent.plist):

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>get-task-allow</key>
        <true/>
        <key>task_for_pid-allow</key>
        <true/>
    </dict>
    </plist>
    
  3. 如果使用 theos,将 ent.plist 放在 Makefile 旁边,然后将此行添加到您的 Makefile(将 test 更改为目标名称):

    test_CODESIGN_FLAGS = -Sent.plist
    

    如果使用 Xcode,请将 ent.plist 放入 ${PROJECT_DIR} 中,然后将目标的 CODE_SIGN_ENTITLEMENTS 构建设置设置为 ent.plist