iOS 使用什么函数/系统调用来读取和写入文件



我想在iOS上拦截文件读/写,以便为我的某些应用程序提供透明的加密/解密功能。

我知道我可以使用各种SDK方法来读取/写入文件来执行此操作,但这需要大量的艰苦工作并且容易出错(我可能会错过某些方法,导致我的应用程序崩溃/行为不端)。

如果所有这些方法都使用一些常见的系统调用/函数,那么我宁愿滑动它并节省一些辛勤工作+使其更加万无一失。有没有这样的共同切入点?

PS:接受进入应用商店不是这里的标准,因为所有这些应用程序都是用于内部企业部署的。

谢谢!

为此

,您需要一个越狱设备。

有POSIX系统调用readwrite可以被劫持(这是如何 - 不是特定于iOS的,但无论如何都是达尔文......

您还可以使用 MobileSubstrate(http://iphonedevwiki.net/index.php/MobileSubstrate) 挂接 C 标准库中的 read() 和 write() 函数,该函数库几乎专门用于实现许多基本框架和方法(包括 CocoaTouch - Foundation、CoreFoundation,实际上还有一些 C 和 C++ 标准库等) - 所以很可能你不需要直接更改系统调用。例:

static size_t (*orig_write)(int fd, void *buf, size_t n);
size_t hijacked_write(int fd, void *buf, size_t n)
{
    // do something, then
    return orig_write(fd, buf, n);
}
// in some initialization:
MSHookFunction(write, hijacked_write, (void **)&original_write);

相关内容

  • 没有找到相关文章

最新更新