首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Theos调整MSHookFunction

Theos调整MSHookFunction
EN

Stack Overflow用户
提问于 2013-08-11 14:21:18
回答 1查看 1.7K关注 0票数 3

我跟随http://brandontreb.com/beginning-jailbroken-ios-development-building-and-deployment做了一个调整。但是在我成功地完成了helloworld调整之后。

我使用MSHookFunction挂接fopen

然后我遇到了一个链接错误

代码语言:javascript
复制
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

代码语言:javascript
复制
#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);
}

有人知道怎么修吗?

EN

回答 1

Stack Overflow用户

发布于 2014-06-17 09:47:28

您可以尝试这样做:

代码语言:javascript
复制
#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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18169341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档