همان گونه که شاید بدانید ویندوز های xp و vista ویندوز های nt به شمار می روند. در این گونه ویندوز ها برای به کار گیری سرویس های پایه ای سیستم باید دستور های زیر را به کار برد. (این دستور ها دستور های IA-32 هستند و برای ویندوز های 64 بیتی باید از دستور های IA-32e یا IA-64 کمک گرفت) :
mov eax,sevice code
mov edx,pointer to parameters
sysenter
service code در بالا شماره سرویس سیستم می باشد که در هر ویندوز و یا شاید در هر یک از service pack های یک ویندوز شماره ها شماره هایی ویژه هستند. لیست شماره،نام و پارامترهای این سرویس ها را می توانید از این لینک بگیرید. (من خودم همه این کد هارو آزمایش نکردم. پس اگر می خواهید ویروسی، تروجانی و ... بنویسید پیش از رها سازی اش آن را بیازمایید).
pointer to parameters آدرس (virtual address یا همان linear address) جای پارامتر های سرویس در RAM است. این پارامتر ها همان پارامتر های سرویس های ntdll.dll هستند که به آنها یک پارامتر که همان آدرس بازگشت به برنامه هست افزوده گشته.
ادامه مطلب ...