当我尝试挂钩 MGCopyAnswer 时,我崩溃了。我正在 iOS 8.3、arm64 二进制文件中的越狱 iPhone 5s 上尝试此操作。
#import <substrate.h>
extern "C" CFTypeRef MGCopyAnswer(CFStringRef);
MSHook(CFTypeRef, MGCopyAnswer, CFStringRef key)
{
return _MGCopyAnswer(key);
}
%ctor
{
NSString *appID = [[NSBundle mainBundle] bundleIdentifier];
if ( appID && [appID isEqualToString:@"com.test.test"]) {
MSHookFunction(MGCopyAnswer, MSHake(MGCopyAnswer));
}
}
Run Code Online (Sandbox Code Playgroud)
生成文件:
ARCHS = armv7 armv7s arm64
TARGET = iphone:latest:8.0
test2_FRAMEWORKS = UIKit
include theos/makefiles/common.mk
TWEAK_NAME = test2
test2_FILES = Tweak.xm
test2_LIBRARIES = MobileGestalt
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec "killall -9 SpringBoard"
Run Code Online (Sandbox Code Playgroud)
崩溃日志:
Version: 1.44 (1.4)
Code Type: ARM-64 (Native) …Run Code Online (Sandbox Code Playgroud)