我只想创建一个 MS 插件来挂钩 SpringBoard。我正在从这里“ http://www.ipodtouchfans.com/forums/showthread.php?t=103558 ”关注“ gojohnnyboi ”教程。
要在 XCode 上创建 dylib,我正在关注“ SkylarEC ”教程。我混合了这两个很棒的教程,最后通过获得一个 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。