Недавно я использовал много языков ассемблера в операционных системах * 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, но как использовать их в сборке, если я не знаю соглашение о вызове.
ОФИЦИАЛЬНО: ???
- Если вы скажете, они не задокументировали это. Тогда как можно писать libc для Windows, не зная системных вызовов? Как собираются программировать Windows Assembly? По крайней мере, в программировании драйвера нужно знать это. правильно?
Теперь, Что с так называемой Native API? Is 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.
Может ли кто-нибудь подтвердить это и объяснить.
EDIT:
Был еще один ответ. Это был второй ответ. Мне очень понравилось, но я не знаю, почему ответчик удалил его. Я прошу его передать ответ.
Также читайте это: http://stackoverflow.com/questions/919051/finding-undocumented-apis-in-windows – claws
Ваши ссылки на метаслои нарушены ... – Calmarius