【发布时间】:2017-02-21 10:46:18
【问题描述】:
我能否通过 Theos (jailed versione) Tweak 拦截通用系统调用,例如 sqlite3_prepare 或 sqlite3_open 以及 CC_MD5 或 libcommonCrypto?
我会拦截所有这些调用并在控制台或日志文件中打印。 我读过一些关于 MSHookFunction 的文章,但我不确定。
编辑:我添加了一些我这些天写的代码。这是我的 Tweak.xm,我将在其中拦截 CC_MD5 调用,在简单的消息日志之后,我将返回正常流程。调整已注入,但我看不到任何消息。
#include <substrate.h>
#include <CommonCrypto/CommonDigest.h>
static unsigned char * (*original_CC_MD5)(const void *data, CC_LONG len, unsigned char *md);
static unsigned char * replaced_CC_MD5(const void *data, CC_LONG len, unsigned char *md) {
NSLog(@"Calling MD5");
return original_CC_MD5(data, len, md);
}
MSInitialize {
MSHookFunction(CC_MD5, replaced_CC_MD5, &original_CC_MD5);
}
【问题讨论】: