问题标签 [interception]

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 投票
7 回答
1498 浏览

.net - .Net 中的 AOP 编程?

我想知道 .Net 中的 AOP / 横切有什么好处,就像 AspectJ 一样。我看到微软有一个策略注入应用程序块;还有其他好东西我应该看看吗?

0 投票
3 回答
12608 浏览

php - 如何在 PHP 中捕获对对象的任何方法调用?

我试图弄清楚如何捕获 PHP 中对对象调用的任何方法。我知道魔术函数__call,但它仅针对被调用对象上不存在的方法触发。

例如我有这样的事情:

当我这样做时:

我想要这个输出:

而不是这个:

有什么办法可以做到这一点?请帮忙 :)

0 投票
4 回答
391 浏览

debugging - DLL 注入后拦截 BIG 应用程序执行

我必须在很多地方拦截非常大的应用程序的执行。

我可以使用哪些程序来做到这一点?有哪些技术可以解决这个问题?

手动逆向工程和添加钩子可能不是这个问题的最佳解决方案,因为应用程序非常大并且应用程序的某些部分可以在一段时间内更新,我认为使用一些工具或好的实践来解决这个问题我可以更快地做到这一点,任何人知道怎么做吗?

有人帮我吗?

0 投票
4 回答
3746 浏览

c# - 在 C# (WinForms) 中拦截应用程序中所有控件的单击事件

我想制作一个应用程序来拦截我的应用程序所有形式的所有 UI 事件并将它们写入日志。这些数据可以用来查看哪些控件最常用,以什么顺序等。问题是我希望这能自动发生,而不需要修改现有的类。

我制作了一个原型,将方法附加到表单中所有控件的单击事件,但是如何对所有表单执行此操作?反射在操作事件时需要一个目标对象,但只有启动窗体可以方便地访问。

有没有办法挂钩对象的构造函数?然后我可以在新表单的所有事件中“注入”我的方法。或者也许还有另一种方法可以做到这一点。

提前致谢!

0 投票
1 回答
781 浏览

wcf - 带有 WCF 的 Ninject 拦截扩展给了我一个“未设置对象实例的对象引用”。错误

我开始使用 Ninject 拦截扩展,但无法让它在我的 WCF 服务中工作。使用 WCF 扩展,ninject 可以正常工作,正是拦截给我带来了麻烦。也许我做错了?当我尝试在内核构造函数中添加 LinFuModel 时,它告诉我它已经加载,所以我想这很好。

基本上所有对绑定的拦截都会破坏我的 wcf 服务,但我的方法拦截仅适用于服务(getData() 在服务合同中)。

编辑:以下也不起作用

结束编辑

提前感谢,Rinze

0 投票
2 回答
4662 浏览

ninject - Ninject Interception Extension (AOP) - 好的工作示例/教程?

我一直很难找到一个易于遵循的教程或使用 Ninject 拦截扩展的示例,或者理想情况下,一个工作示例。

我已经尝试了下面的教程,但立即遇到了让命名空间工作的问题the Intercept()

http://innovatian.com/2010/03/using-ninject-extensions-interception-part-1-the-basics/

0 投票
1 回答
448 浏览

linux - 使用 g++ 在 Linux 上使用 Valgrind 拦截全局函数

根据他们的示例,我正在尝试使用 Valgrind 拦截一个函数。

使用 gcc 构建时,我能够拦截全局函数,但是当我使用 g++ 编译相同的代码时,拦截不起作用。

我应该指定的编译器标志有什么特别的吗?

这是我的示例应用程序:

使用 GCC 编译时,输出为:

*** Before foo()
inside foo
*** After foo()

但是,当使用 g++ 编译时,输出很简单

里面 foo

0 投票
3 回答
1231 浏览

c - 拦截 64 位 Linux 内核函数:32/64 位函数指针的长度?

我正在尝试重新实现旧的庞然大物内核拦截(在这个 Phrack 问题中描述)。

替换 32 位函数调用的代码如下:

但是原函数的64位地址是0xffffffff12345678(内核位于低内存)。

那么(长)新函数指针是否只适合movl指令的 4 个\x00字节?

顺便说一句,请将此链接到我可以用模块替换 Linux 内核功能吗?用Linux内核中的模块覆盖功能,上面描述的hacky方法更灵活(可以拦截非外部函数=>无需重新编译内核)。

0 投票
1 回答
528 浏览

linux - Linux内核:什么是指令缓存和mp-IRQ子系统,通过replace进行函数拦截?

我正在尝试实现一个内核函数拦截(使用这个旧方法(c) Silvio 替换 System.map 的函数指针);根据这个论坛帖子,一些可能的缺陷可能与指令缓存和 mp-IRQ 源有关,它们在拦截后没有刷新/更新。

这些子系统是什么以及在这种情况下如何处理它们?

0 投票
1 回答
1696 浏览

c - Linux,kprobes/kretprobes:一种从寄存器中恢复的方法?] 探测函数的参数?

问题很简单:我需要指向探测(拦截)函数参数的指针。有没有办法从寄存器中获取/恢复它们?