当前位置: 技术问答>linux和unix
C++是否可以直接调用所有的system call?
来源: 互联网 发布时间:2016-01-20
本文导语: 有没有什么注意事项呢? | 于安全性的考虑,在linux2.4.18之后,已经不再导出sys_call_table符号了。 在这种情况下,如果要修改系统调用函数,就必须首先要获得sys_call_table这个符号地址。 最简...
有没有什么注意事项呢?
|
于安全性的考虑,在linux2.4.18之后,已经不再导出sys_call_table符号了。
在这种情况下,如果要修改系统调用函数,就必须首先要获得sys_call_table这个符号地址。
最简单的一种方法,但是平台依赖性太强,移植性不好。
通过grep sys_call_table /boot/System.map,从System.map(不同的系统,这个文件的名字有些许的不同)文件中,来获得sys_call_table的地址。
在这种情况下,如果要修改系统调用函数,就必须首先要获得sys_call_table这个符号地址。
最简单的一种方法,但是平台依赖性太强,移植性不好。
通过grep sys_call_table /boot/System.map,从System.map(不同的系统,这个文件的名字有些许的不同)文件中,来获得sys_call_table的地址。
|
可以!
|
如果权限够理论上是
|
标准C++完全兼容标准C的,所以答案是可以。