劫持__NR_read和bash崩溃(caf用户?)

我劫持__NR_readsys_read调用),每当我用我自己的系统调用劫持原始系统调用时,它会导致崩溃(在所有打开的KDE“konsoles”中)(即,只要我劫持sys_open )。

我想知道这是否是我的代码中的错误(可能),或者是因为别的原因而发生的。

我的问题是:如果崩溃是由于我的代码造成的,究竟是什么原因造成的,以及如何(如果可能)我可以修复它? 如果崩溃不是由我的代码造成的,是什么原因造成的?

我的代码在这里: https : //github.com/alexandernst/procmon/tree/master/procmon_kmodule

syshijack.c是我得到syscall表的地方, hookfns.c是我劫持系统调用的地方。

PS:在这之前我已经问过这个问题了,但是它现在已经改变了,因为一旦我劫持了系统调用,崩溃就发生了。

*编辑*

我认为这个错误是来自钩子/解除钩子调用,所以我创build了一个问题https://github.com/alexandernst/procmon/issues/7不pipe怎样,我看不到是什么导致崩溃/冻结。

钩引擎工作正常,我的x86_64没有IA32一部分,没有你的代码在hooked_sys_readr = real_sys_read() 。 挖掘你的代码我发现IA32钩子可能有问题,如下所示:

 #define HOOK(F, RF, FF) RF = sys_call_table[F]; sys_call_table[F] = FF; #ifdef CONFIG_IA32_EMULATION #define HOOK_IA32(F, RF, FF) ia32_sys_call_table[F] = FF; #endif 

..所以HOOK_IA32不会存储在HOOK宏中实现的RF值。 一探究竟。

至于其他… path_from_fd似乎是丑陋的我。

祝你好运 ;)