- 论坛徽章:
- 0
|
1.要替换system call 可以参考http://www.ibm.com/developerwork ... y/au-kernelext.html 里的办法来扩展内核了。
2.如果还想调用原来的,system call 我现在只知道的是,可以通过 汇编来做了,可以在c里 和汇编内联应该问题不大。
下面是网上找的例子好像有点不对,syscall number 是存储在 r0 里,参数就是 r3,r4,r5 .....,然后通过 sc 调用。可以参考一下
Assembler Language Reference。
网上找的一个shell code的例子可看看
Linux (IA32)
mov eax, 0x01 ; Move system call for exit() into eax. Linux = 1
mov ebx, 0x05 ; Move value 5 into ebx register
int 0x80 ; Activate the system call exit(ebx) or exit(5)
OS X (PowerPC)
li r0, 0x01 ; Load system call for exit() into r0. OS X = 1
li r3, 0x05 ; Load value 5 into r3
sc ; Activate the system call exit(r3) or exit(5) |
|