SpringBoard をフックする MS プラグインを作成したいだけです。「 http://www.ipodtouchfans.com/forums/showthread.php?t=103558 」の「gojohnnyboi」チュートリアルに従っています。
XCode で dylib を作成するには、「SkylarEC」チュートリアルに従っています。私はこれら 2 つの優れたチュートリアルを組み合わせて、最終的に dylib を取得することで成功しました。しかし、dylib を配置して/Library/MobileSubstrate/DynamicLibraries/
も何も起こりません (アラートは表示されませんでした)。
評価することで、この dylib には、メモリにロードされた時点で開始点がないことがわかりました。そのため、次のように .mm ファイルでコンストラクターを宣言することで、開始点について言及しました。
__ attribute__((constructor)) static void init()
{
Class _$SBAppIcon = objc_getClass("SBApplicationIcon");
MSHookMessage(_$SBAppIcon, @selector(launch), (IMP) &__$ExampleHook_AppIcon_Launch, "__OriginalMethodPrefix_");
}
しかし、これをコンパイルしようとすると、次のようなエラーが発生します。
**Undefined symbols:
"_MSHookMessage", referenced from:
init() in ExampleHook.o
ld: symbol(s) not found
collect2: ld returned 1 exit status.**
これを解決する方法を知っている人はいますか?XCodeでdylibを作成するための詳細なチュートリアル/手順を誰かが共有してくれれば、より役に立ちます。
PS私はすべてのlibsubstrate.dylibとsubstrate.hファイルを対応する場所に置きました。そして場所は、
- libsubstrate.dylib : /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/
- 基板.h : /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include
私のベースSDKは3.0です。