最近我在* NIX操作系統中使用了很多彙編語言。我想知道的Windows域。Windows和Native API中的系統調用?
在Linux調用約定:
mov $SYS_Call_NUM, %eax
mov $param1 , %ebx
mov $param2 , %ecx
int $0x80
完蛋了。這就是我們應該如何在Linux中進行系統調用。
所有系統的引用調用在Linux中:
關於這$ SYS_Call_NUM &哪些參數,我們可以利用這個參考:http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html
官方參考:http://kernel.org/doc/man-pages/online/dir_section_2.html
調用約定在Windows中:
???所有系統的
引用調用Windows中:
???
非官方:http://www.metasploit.com/users/opcode/syscalls.html,但是除非我知道調用約定,否則我如何在彙編中使用它們。
正式:???
- 如果你說,他們沒有記錄它。那麼如何在不知道系統調用的情況下爲Windows編寫libc?如何做一個Windows Assembly編程?至少在驅動程序編程中需要知道這些。對?
現在,怎麼了所謂的原生API?是Native API
& System calls for windows
這兩個術語是指不同的術語?爲了證實我比較了這兩個非官方渠道
系統調用:http://www.metasploit.com/users/opcode/syscalls.html
的Native API:http://undocumented.ntinternals.net/aindex.html
我的意見:
- 所有的系統調用都用字母
Nt
其中的開始Native API由很多不以字母Nt
開頭的函數組成。 System Call of windows
是Native API
的子集。系統調用只是Native API的一部分。
任何人都可以證實這一點並解釋。
編輯:
有另一種答案。這是第二個答案。我真的很喜歡它,但我不知道爲什麼回答者已經刪除它。我請他重新發布他的答案。
另請參閱:http://stackoverflow.com/questions/919051/finding-undocumented-apis-in-windows – claws 2010-03-22 18:12:46
您的metasploit鏈接已損壞... – Calmarius 2013-08-23 13:03:09