View Full Version : Native API چیست
jeson_park
شنبه 23 مهر 1390, 00:08 صبح
سلام Native API چیه؟؟
آیا نمونه کدی سراغ برای این نوع برنامه نویسی هست؟؟
Nima_NF
شنبه 23 مهر 1390, 00:31 صبح
کل این بخش برای برنامه نویسی Native هست.
Windows API که با نام win32 می شناسند و همین طور کلاس های MFC برای کار با API های Native در ویندوز هستند
در اعلان ها تاپیکی هست تحت عنوان نمونه برنامه های ++VC
r00tkit
شنبه 23 مهر 1390, 14:56 عصر
این طوری نیست اکثر مواقع منظور دقیقا توابع native هستش
یعنی طرف داره می گه توابع ای که جدا از subsystem win32 باشه مثل :
ٓZwClose, .....
http://en.wikipedia.org/wiki/Native_API
این توابع در NTdll.dll اکسپورت شدن
jeson_park
شنبه 23 مهر 1390, 19:44 عصر
بنده دقیقا منظورم همین چیزی بود که آقای geek1982 گفتن
ظاهران یه لایه پایین تر از win32 هست
من کمی با win32 آشنا هستم
دیروز اتفاقی این Native API رو دیدم
اولش فکر می کردم همون win32 هست
اما ظاهران سطح پایین تره
Nima_NF
شنبه 23 مهر 1390, 21:37 عصر
API هایی که مدنظر شما API های درایورنویسی یا kernel ویندوز هستند.
سال ها قبل با نام DDK بودند و اکنون در زیر شاخه Windows Driver Kit / WDK هستند.
بسیاری از آن توابع در حالت برنامه های عادی (user-mode) قابل استفاده نیستند و باید در حالت برنامه سیستمی و برای درایور نویسی استفاده شوند (مثلا kernel-mode)
کتاب های زیادی در این باره وجود داره و MSDN مایکروسافت هم برای هر بخش یک Sample کامل سورس قابل اجرا قرار داده.
لینک اصلی این سری کتابخانه ها:
http://msdn.microsoft.com/en-us/windows/hardware/gg487428
لینک داخلی:
Windows Driver Kit (http://msdn.microsoft.com/en-us/library/windows/hardware/ff557573%28v=VS.85%29.aspx)
برای مثال صفحه داخلی برای (http://msdn.microsoft.com/en-us/library/windows/hardware/ff542573%28v=VS.85%29.aspx)modem (http://msdn.microsoft.com/en-us/library/windows/hardware/ff542573%28v=VS.85%29.aspx) (کلیک کنید) (http://msdn.microsoft.com/en-us/library/windows/hardware/ff542573%28v=VS.85%29.aspx) که در MSDN همه به همین شکل هست. برای API ها بر روی references کلیک کنید و برای مثال هم روی sample.
r00tkit
یک شنبه 24 مهر 1390, 09:39 صبح
برادر jeson_park برای درک بهتر چیز هایی که من گفتم + چیز هایی که استاد نیما گفت ببین فرق Zw ,NT در یوزر مود و کرنل مود چیه
به عبارتی دیگه ما برای یوزر مود و برای کرنل مود یه جفت Zw ,NTداریم :
از این توابع اکثرا می شه در حالت عادی هم توی یوزر مود استفاده کرده . تنها علت اینه که مستند نیستنند و ممکنه توی نسخه های بعدی کار نکنن ولی این خیلی کم اتفاق می افته .
http://www.amazon.com/Windows-2000-Native-API-Reference/dp/1578701996
کرنل مود این توابع توی WDK مستند شده ولی یوزر مودشون منابع ای مثل کتاب بالا داره .
من از هر دو حالتوشن بار ها استفاده کرده ( هم یوزر مود و هم کرنل مود ) برای کار های مختلف
jeson_park
دوشنبه 25 مهر 1390, 06:00 صبح
با سلام و تشکر
البته فکر نکنم محصور به درایور نویسی باشه
این یه نمونه هست native shell اسم برنامه هست
http://hex.pp.ua/img/native/nativeshell.png
می خواستم بدونم که فرضا چه طوری می شه کاری کرد که برنامه از اینجا شروع بشه
r00tkit
دوشنبه 25 مهر 1390, 09:16 صبح
سلام دوباره
این رو Alex Ionescu نوشته
البته فکر نکنم محصور به درایور نویسی باشه من که نگفتم محصور به درایور هستش ،گفتم ؟
برای اینکه تو بتونی چنین چیزی بنویسی باید subsystem برنامت native باشه و در این صورت فقط می تونی از native api استفاده کنی
به جای main باید NtProcessStartup بزاری بعد مسیر برنامت رو داخل HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute قرار بدی
برای اینکه کد هم بزنی باید Visual studio رو تنظیم کنی ولی می تونی از همون build که همراه native shell هستش استفاده کنی
این دو تا رو هم بخون
http://www.alex-ionescu.com/Native.Pdf
اولی از همون نویسندهی native shell دومی از مستر mark
http://technet.microsoft.com/en-us/sysinternals/bb897447
اینم خوبه بخون
http://www.xenomai.org/documentation/xenomai-2.3/pdf/Native-API-Tour-rev-C.pdf
اول برای مارک رو بخون :))
r00tkit
دوشنبه 25 مهر 1390, 09:18 صبح
http://undocumented.ntinternals.net/
اینم یه جور MSDN برای native api :)
mahmood0197
سه شنبه 09 اسفند 1390, 09:22 صبح
باسلام می خواستم بدونم چطور میشه از کرنل مد یک فایل ایجاد کرد!!!
کاری که استاکس نت کرد چطوری بود؟؟؟
mahmood0197
سه شنبه 09 اسفند 1390, 09:40 صبح
سوالمو توی این تایپیک گذاشتم ممنون میشم از کمکتون
http://barnamenevis.org/showthread.php?330080-%D8%B3%D9%88%D8%A7%D9%84-%DA%A9%D8%B1%D9%86%D9%84-%D9%85%D8%AF&p=1452821#post1452821
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.