问题标签 [interposing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
431 浏览

macos - 能否在系统范围内覆盖或插入 OS X 系统调用?

在 OS X Lion 下工作,我最近做了一些代码注入工作,以逐个进程插入系统调用。

在此过程中,我学到了很多东西,现在看来,至少出于研究目的,“简单地”插入对某些系统函数的所有调用,例如pwrite,如果这样的事情是可能的,它会更有意义。

对于每个进程对某些系统调用(例如)的每次调用,是否可以调用我的代码而不是操作系统?pwrite

如果是这样,我能知道是什么进程发出了调用吗?

编辑:以免有人认为我是恶意软件作者,因为我的问题的性质,我会解释为什么我现在在这里,问我在问什么:

我正在尝试让一个大型、复杂的闭源软件按其应有的方式工作。为什么不等待供应商修复它?两年前,他们开始指责另一个派对,而那个派对则指指点点。这种情况是荒谬的,值得在没有任何一方帮助的情况下尝试克服,因为该软件被电影和视频制作人员使用,他们每小时收取数百美元的费用,因为他们的创意和技术先进的工作,不应该浪费他们的时间与他们的工具搏斗。

到目前为止,我努力的问题是我需要使用代码注入和插入来找到问题的根源(这就是我上面所说的“研究”)。一旦我找到问题的根源,解决方案也可能是注入和插入,或者替换动态库,或者一些晦涩的低级系统调优,或者谁知道呢?我正在分析的软件非常庞大,它又利用了其他框架、库和后台任务,其中一些是 OS X 的一部分,还有一些是相关软件包的一部分。逐个组件的代码注入和插入变得有点疯狂,这就是为什么我想监视系统调用结束时发生的事情,所以我可以看到,例如,pwrite呼叫发起和呼叫的细节。

我希望这种澄清会有所帮助,并且有人可以为我指明正确的方向。谢谢!

0 投票
0 回答
34 浏览

android - 将代码插入现有的 apk

给定现有的 apk,是否可以插入方法调用?任意行代码呢?

理想情况下,我希望能够拦截方法调用/代码行并调用我自己的方法进行一些检查或记录,然后让原始执行继续而不改变原始行为。

如果这是可能的,有人可以为我指出一些阅读材料的正确方向吗?

谢谢

0 投票
0 回答
71 浏览

c - 覆盖像 fopen/ofstream 这样的全局函数

我想知道打开了什么文件以及以什么模式打开,为此我想覆盖全局函数,如 fopen/ofstream 和其他文件处理函数

必需的:

输出应该是:name.txt -w

一种解决方案是为 fopen 创建一个具有其他名称的包装器,但由于 fopen 是从各个地方调用的,所以我不想使用不同的名称

有没有办法实现上述场景?