你好,这个仓库真的很酷,帮助了我很多!!
当我在测试2-fundamentals中的文件隐藏pshid时(fshid也有相同错误),我在make以后第一次插入模块,会提示有未定义的符号:

然后在dmesg窗口显示:

我明白这是real_iterate为空时程序直接退出。当我第二次插入模块时,没有错误发生:

dmesg信息如下:

很显然,此时real_iterate不为空,而是使用之前fake_iterate的值。
当我认为一切可以工作时,却发生了意外,内核模块无法按照既定的方式工作,即:无法隐藏进程或者文件
当我尝试多次插入和删除模块时,发现一个非常有意思的现象:

real_iterate和old_iterate的值只在两个值之间固定的变化,我不知道这是不是出现该错误的原因,所以该实验结果图片提供给您参考。
我在Ubuntu 16 的虚拟机环境上进行的测试,uname -a的输出为:
Linux hq-virtual-machine 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
最后,期待您的回复!
你好,这个仓库真的很酷,帮助了我很多!!
当我在测试2-fundamentals中的文件隐藏pshid时(fshid也有相同错误),我在make以后第一次插入模块,会提示有未定义的符号:


然后在dmesg窗口显示:
我明白这是real_iterate为空时程序直接退出。当我第二次插入模块时,没有错误发生:


dmesg信息如下:
很显然,此时real_iterate不为空,而是使用之前fake_iterate的值。
当我认为一切可以工作时,却发生了意外,内核模块无法按照既定的方式工作,即:无法隐藏进程或者文件
当我尝试多次插入和删除模块时,发现一个非常有意思的现象:

real_iterate和old_iterate的值只在两个值之间固定的变化,我不知道这是不是出现该错误的原因,所以该实验结果图片提供给您参考。
我在Ubuntu 16 的虚拟机环境上进行的测试,uname -a的输出为:
Linux hq-virtual-machine 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux最后,期待您的回复!