2013-08-11 5 views
2

http://brandontreb.com/beginning-jailbroken-ios-development-building-and-deployment 다음은 조정할 수 있습니다. 하지만 helloworld를 사용하여 성공적으로 완료했습니다.
나는 fopen 사용 MSHookFunction
후크 후 나는 연결 오류Theos tweak MSHookFunction

Making all for tweak hw... 
Preprocessing Tweak.xm... 
Compiling Tweak.xm... 
Linking tweak hw... 
Undefined symbols for architecture armv7: 
    "_MSHookFunction", referenced from: 
     global constructors keyed to Tweak.xm.mmin Tweak.xm.51941273.o 
ld: symbol(s) not found for architecture armv7 
collect2: ld returned 1 exit status 
make[2]: *** [.theos/obj/hw.dylib.ba964c90.unsigned] Error 1 
make[1]: *** [internal-library-all_] Error 2 
make: *** [hw.all.tweak.variables] Error 2 

를 충족이

#import "substrate.h" 

static FILE * (*s_orig_fopen) (const char * filename, const char * mode); 
static FILE * my_fopen (const char * filename, const char * mode){ 
    return s_orig_fopen(filename, mode); 
} 

static void entry(void) __attribute__ ((constructor)); 
static void entry(void) { 
    MSHookFunction(fopen, my_fopen, &s_orig_fopen); 
} 

사람이 그것을 해결하는 방법을 알고 않습니다 Tweak.xm
입니까?

답변

0

이 작업을 시도 할 수 있습니다 :

#import "substrate.h" 

static FILE * (*s_orig_fopen) (const char * filename, const char * mode); 
static FILE * my_fopen (const char * filename, const char * mode){ 
    return s_orig_fopen(filename, mode); 
} 

%ctor { 
    MSHookFunction(fopen, my_fopen, &s_orig_fopen); 
}