2017-03-18 5 views
0

私は、グラフィカルユーザーインターフェイスでiosopendev tweakを作成して、pidコードのタスクを実行しています。pidのタスクiOS gui

アプリ自体には、ルートアクセス権/特権を取得するためのcontrol、postint、prermファイルがあります。

Postint:

#!/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_ "[email protected]" 
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 [[ ${[email protected]} ]]; then 
eval "echo 'finish:restart' >&${cydia[0]}" 
fi 
fi 

終了

PreRmで使う:

#!/bin/bash 

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

アプリに署名し、task_for_pidアクセスを取得する任意の方法はありますか?

ありがとう

+0

あなたはTHEOSを使用していますか? – kennytm

+0

はい - 最新のリビジョンです。 – Teun

答えて

0

インストール時ではなく、作成時に署名します。

  1. バイナリに署名するためにldidをインストールしてください。他のプラットフォーム用の

    brew install ldid 
    

    チェックhttp://iphonedevwiki.net/index.php/Theos/Setup#Setting_Up_Dependencies:あなたは自作でのMacOSを使用している場合は、でそれをインストールします。

  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を使用している場合は、Makefileの隣にent.plistを入れ、その後、あなたのMakefile(ターゲットの名前にtestを変更)に次の行を追加します。

    test_CODESIGN_FLAGS = -Sent.plist 
    

    のXcodeを使用している場合は、CODE_SIGN_ENTITLEMENTSはにあなたのターゲットの設定を構築し、その後、$ {}内PROJECT_DIR ent.plistを置きます0。

    enter image description here

+0

これはxcodeプロジェクトです。そこにはMakefileはありません。とにかくありがとう – Teun

+0

@Teun更新を確認してください。 – kennytm

関連する問題