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

我想拦截iOS上的文件读/写,为我的一些应用程序提供透明的encryption/解密function。

我知道我可以调用各种SDK读/写文件的方法来做到这一点,但这需要很多努力,而且很容易出错(我可能会错过一些方法,导致我的应用程序崩溃/行为不端)。

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

PS:接受应用程序商店不是一个标准,因为所有这些应用程序是内部企业部署。

谢谢!

为此,你需要一个越狱设备。

有POSIX系统调用可以被劫持( 这是怎么样的 – 不是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); 
Interesting Posts