Aslında kanının (ve burada bazı cevaplar), cevap, evet, ama hangi işletim bağlı olabilir aykırı: Linux'ta
, neredeyse tüm sistem eğer çağrıları çağırabilir Çekirdek ihracatlarını bulabilirsiniz (örneğin "cat/proc/kallsysms | grep sys_"). Veri segmentini (KERNEL_DS) ayarlayarak çoğu sistemde (kullanıcı modunu kabul edenler *) koruma sağlamak için küçük bir "hile" vardır. Tam olarak tavsiye edilmez, ancak çekirdeğe (ör. SELinux) erişmeniz gerekiyorsa kesinlikle mantıklıdır.
Windows'ta, çekirdekte Nt * çağrılarının çoğu, Zw * çağrıları - do "dumpbin/export C: \ windows \ system32 \ ntoskrnl.exe | findstr Zw (veya Nt)" olarak da kullanılabilir. örnek. Mac OS X'te, teknik olarak izin verilmemesine rağmen, etrafta dolaşmak için akıllı bir korsanlık olmasına rağmen, izin verilmemelidir. ancak uyarılar dikkatli gözetilmesi de - sistem çağrıları aslında kullanıcı modu ve çekirdek arasında arayüz olsa
, birkaç hatta üretim layık kod yapar durumlar şaşırtıcı oldukça vardır.
Hayır yapamazsınız. Bir sistem çağrısı, kernel ve kullanıcı tanımadığım –
arasındaki arabirimdir. Yaptığımız şey yardımcı veya diğer işlevleri çağırmak. Sadece merak ediyorum, yapabiliriz ya da yapamayız. – liuyruc
Ve bir sistem çağrısı muhtemelen bir programlama noktasıdır; Bu nedenle, işlevini çekirdekteki rastgele bir noktada aramak istemezsiniz. Genel olarak, çekirdek kodlaması çok zor. Bunu niçin ve niçin yapmak istediğinizi çok daha fazla açıklamalısınız .... –