2011-08-18 20 views
9

モバイル基板の調整に関する質問があります。
まず、どうやってそれを作っていますか?モバイル基板調整の調整

Xcodeを使用する必要がありますか?

どのようなファイルが必要ですか、どこにコードを配置しますか?

どのようにアプリに接続しますか?

たとえば、メッセージアプリケーションで何かを変更したい場合、どうすればMessages.appにフックするようにプログラムできますか?

私はアプリストアのための標準的なアプリの開発にかなり精通しており、私はモバイル基板に非常に興味があります。私は本当にそれを行う方法とどこから始めるべきかを知りたいです。ありがとう!

答えて

12

By far, the easiest way to develop MS tweaks is to use Theos

THEOSをインストールするには、上記のリンクを与えられた指示に従ってください、あなたはでプロジェクトを保存し、あなたの微調整のためのテンプレートを生成するために$THEOS/bin/nic.plを実行するフォルダに移動します。

生成されたTweak.xmファイルは、コードを置く場所です。プロジェクトをビルドするには、ターミナルのプロジェクトディレクトリに移動し、makeを実行してください。あなたのシステムにdpkgがある場合は、プロジェクトを簡単にパッケージ化してインストールすることができます。

THEOS_DEVICE_IP = [INSERTDEVICESIPHERE] 

次に、プロジェクト、の.debパッケージをビルドしてデバイスにそれを上に転送し、それをインストールするmake package installを実行します。OpenSSHはあなたのiDeviceにインストールされ、プロジェクトのメイクファイルに次の行を追加していることを確認します。

実際にTweak.xmファイルに書き込まれるコードは、ここで説明するモバイル基板のタスクを簡略化する言語であるobjective-Cです(http://iphonedevwiki.net/index.php/Logos)。一般的にいえ、コードは以下のフォーマットに準拠します。

%hook classname //declares the class from your application you're going to override 

-(void)functionyouwanttooveride { 

    dosomethingnew(); //put all your new code for the method here 
    return %orig;  //this calls the original definition of the method and returns the result 
} 
%end //end hooking classname 

あなたは、あなたがやりたいものは何でもするためにオーバーライドするのCydiaからclass-dumpをインストールし、お使いのデバイスにsshとclass-dump -H path/to/your/binary -o /path/where/you/want/your/classheadersを実行するために必要なものをクラスやメソッドを調べるには。次に、結果のヘッダーを調べて、自分が行っていることに関連していると思われる名前を持つクラスとメソッドを見つけ、それらを試してみる必要があります。

幸運を祈る!

+0

ありがとうございました!しかし、どのように「あなたは機能するか」を見つけることができますか?どのように私はそれを変更することができるように、関数の元のコードを得ることができますか? – JonasG

+3

心配はいりません!これは難しいことですが、ソースコードを持っていないので、関数の実装を見ることができないので、多くの推測が必要です。 cydiaから "syslogd/var/log/syslog"パッケージをインストールすると、あなたのコードで '%log'を使うことができ、syslog(/ var/log/syslogにあります)何が起こっているのかをよりよく理解するために、どのような引数が呼び出されたかを記録します。また、cydiaからgdbをインストールし、興味深い方法でブレークポイントを設定して、何が起きているのかを調べることができます。それは難しいです、ちょうど実験を続けてください! – stonesam92

+2

また、syslogへの書き込みが有効になると、他の多くのプロセスも書き込みを行い、かなり速くいっぱいになって少しのスペースしか消費しないので、毎回削除してからロギングを無効にしたいかもしれませんあなたがそれを必要としないときは、[theiphonewiki](http://theiphonewiki.com/wiki/index.php?title=System_Log) – stonesam92