【问题标题】:Task for pid iOS guipid iOS gui的任务
【发布时间】:2017-08-10 03:35:59
【问题描述】:

我正在编写一个带有图形用户界面的 iosopendev 插件,以便为 pid 代码执行一些任务。

应用程序本身有一个 control、postint、prerm 文件来获取 root 访问/特权。

发帖:

#!/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 "$0")
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 [[ $1 == install || $1 == upgrade ]]; then
if [[ ${CYDIA+@} ]]; then
eval "echo 'finish:restart' >&${cydia[0]}"
fi
fi

退出

预售:

#!/bin/bash

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

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

谢谢

【问题讨论】:

  • 你在用theos吗?
  • 是 - 最新版本。

标签: objective-c iphone cydia tweak


【解决方案1】:

您在制作应用程序时签署应用程序,而不是在安装时签署。

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

    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

【讨论】:

  • 这是一个 xcode 项目,那里没有可用的 Makefile。还是谢谢
猜你喜欢
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多