C++是否可以直接调用所有的system call?
有没有什么注意事项呢?
[解决办法]
于安全性的考虑,在linux2.4.18之后,已经不再导出sys_call_table符号了。
在这种情况下,如果要修改系统调用函数,就必须首先要获得sys_call_table这个符号地址。
最简单的一种方法,但是平台依赖性太强,移植性不好。
通过grep sys_call_table /boot/System.map,从System.map(不同的系统,这个文件的名字有些许的不同)文件中,来获得sys_call_table的地址。
[解决办法]
可以!
[解决办法]
如果权限够理论上是
[解决办法]
标准C++完全兼容标准C的,所以答案是可以。