【问题标题】:Theos tweak MSHookFunctionTheos 调整 MSHookFunction
【发布时间】:2013-08-12 17:20:47
【问题描述】:

我关注了http://brandontreb.com/beginning-jailbroken-ios-development-building-and-deployment 进行调整。 但是在我成功完成 helloworld 调整之后。
我使用MSHookFunction 钩住fopen
然后我遇到了链接错误

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

这是 Tweak.xm

#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 theos


    【解决方案1】:

    你可以试试这个:

    #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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多