在OS X Lion下工作时,我已经做了一些代码注入的工作,最近逐个进程地处理系统调用。OS X系统调用是否可以覆盖或插入系统范围内?
我学到了很多,一路走来,现在它看起来会更有意义,为研究目的,至少,以“简单地”干预所有调用某些系统功能,如pwrite
,如果这样的事情是可能的。
是否有可能被调用,而不是从每过程中,OS为每调用某些系统调用(例如pwrite
)我的代码?
如果是这样,我可以知道什么过程已经打了电话吗?
编辑:为了避免有人认为我是因为我的问题的性质恶意软件作者,我会解释为什么我现在在这里,问我要问:
我试图获得一个大而复杂的闭源软件,它应该像这样工作。为什么不等待供应商解决它?两年前,他们开始将手指指向另一方,该党指出对方。情况是荒谬的,值得在没有任何一方的帮助下克服,因为这个软件被电影和视频制作人员使用,他们每小时收取数百美元的创造性和技术先进的努力,而且不应该浪费他们的时间摔跤他们的工具。
到目前为止,我的努力的问题是我需要使用代码注入和插入来找到问题的来源(这是我以上称为“研究”)。一旦发现问题的根源,解决方案可能还包括注入和插入,或者更换动态库,或者一些模糊的低级系统调优,或者谁知道什么?我正在分析的软件非常庞大,它反过来利用了其他框架,库和后台任务,其中一些是OS X的一部分,其中一些是有问题的软件包的一部分。代码注入和逐个组件的插入已经变得有点疯狂了,这就是为什么我想在的系统调用结束时监视上发生了什么,所以我可以看到,例如,哪里所有pwrite
呼叫都来自呼叫的细节。
我希望这个澄清有所帮助,而且有人可以指出我正确的方向。谢谢!
* [长篇论坛被删除] * – 2012-07-31 22:52:14
作为对您编辑的回应 - 这是一个公共论坛,您正试图将技术娴熟和经验丰富的开发人员提供给您关于您承认两个供应商之间已经存在争议的主题的建议。我不想去那里,SO上的其他人也不应该去。 – 2012-07-31 22:53:25
@MartinJames:可惜的是,虽然Windows非常容易接受堆栈的过滤器驱动程序_(正如许多病毒扫描程序所使用的那样),但OS X并不支持这个概念。 – bland328 2012-07-31 22:54:08