PDA

View Full Version : سوال: نحوه کنترل برنامه توسط سیستم عامل



shinyboy
چهارشنبه 23 شهریور 1390, 14:46 عصر
گمونم این سوالم بیشتر از اینکه به برنامه نویسی ربط داشته باشه به سیستم عامل بستگی داره واسه همین اینجا مطرح میکنم.

وقتی که یه برنامه تو محیط ویندوز اجرا میشه ، اگه از API های خود ویندوز استفاده نکرده باشه . بازم محدودیت های اعمال شده روی ویندوز، روی برنامه ما تاثیر داره!!

منظورم اینه که مثلا ما یه برنامه بنویسیم واسه کپی کردن فایل های سیستمی که تو پوشه system32 تو ویندوز هست. در ضمن تو یوزر های Limit

تاکید میکنم یوزر های لیمیت ( چون تو این یوزر ها همون طور که میدونید به خاطر مسائل امنیتی اجازه دسترسی به فایل های این پوشه واسه کپی و بقیه چیزار نیست)



حالا اگه این برنامه ما از API های ویندوز استفاده نکرده باشه بازم اجازه دسترسی به این فایل هارو نداره و نمی تونه فایل رو کپی کنه ؟!!

آیا برنامه ای که مینویسیم وقت اجرا توسط ویندوز کنترل میشه؟!! (اگه اره راهی هست که برنامه ای بنویسیم که تو محیط ویندوز اجرا بشه و مستقل از ویندوز عمل کنه )

pswin.pooya
چهارشنبه 23 شهریور 1390, 23:13 عصر
توی حالت کلی نمیشه اما توی موارد خاص میشه از سیستم عامل عبور کرد و سرویسهای امنیتی اون برای فرایندها رو کنار گذاشت (که این موضوع کاملا با مباحث این تالار مخالفه)

در مورد سیستم عاملها باید بگم که اونها چند سطح محافظتی دارن که برای ویندوز 2 و خیلی از سیستم عاملهای دیگه دو سطح هست که تقریبا رسیدن به لایه های پایین غیر ممکن هست مگر اینکه یا سیستم عامل باگ داشته باشه و یا اینکه مورد امنیتی داشته باشه که در مورد سیستم عاملهایی مثل لینوکس باید بگم تقریبا محال است اما در مورد ویندوز بدلیل وجود باگهای امنیتی زیاد و مشکلات طراحی ممکن اما خیلی سخت هست که باز هم پرداختن به اونها خارج از بحث تالار و قوانین اون هست.


آیا برنامه ای که مینویسیم وقت اجرا توسط ویندوز کنترل میشه؟!! (اگه اره راهی هست که برنامه ای بنویسیم که تو محیط ویندوز اجرا بشه و مستقل از ویندوز عمل کنه )

بله تمامی برنامه ها توسط سیستم عامل (هسته سیستم عامل) کنترل و مدیریت میشن.


اگه اره راهی هست که برنامه ای بنویسیم که تو محیط ویندوز اجرا بشه و مستقل از ویندوز عمل کنه

در لحاظ تئوریک و عملی خیر. شما به هیچ عنوان نمی تونین توی محیط ویندوز و هر سیستم عامل دیگه ای حتی داس برنامه ای رو ایجاد کنید که سیستم عامل از وجود اون بی خبر باشه و یا اینکه اصلا اون رو مدیریت نکنه. تنها می تونید برنامه ای بنویسید که لایه های سیستم عامل رو دور بزنه. برای اینکار باید یه سیستم عامل جدید و یا اینکه یه برنامه EMBEDDED جدید بنویسید

shinyboy
پنج شنبه 24 شهریور 1390, 12:29 عصر
چون فرموده بودید مسائلی که من مد نظرمه خلاف قوانین تالار واسه همین میخواستم تو خصوصی مطرح کنم ولی نمیشه پ.خ فرستاد واسه همین اینجا مطرح میکنم (بعدا ادیت میکنم). میشه لطف کنید منو راهنمایی کنید. و اگرم بشه بهم منبع معرفی کنید .

وی حالت کلی نمیشه اما توی موارد خاص میشه از سیستم عامل عبور کرد و سرویسهای امنیتی اون برای فرایندها رو کنار گذاشت (که این موضوع کاملا با مباحث این تالار مخالفه)

در مورد این حالت خاص بیشتر توضیح بدید !

shinyboy
پنج شنبه 31 شهریور 1390, 09:58 صبح
میشه منابعی معرفی کنید که نحوه عملکرد سرویس های امنیتی در ویندوز رو تشریح کرده باشه؟!!!

ببنید برای اینکه بشه با بد افزار مقابله کرد حتما باید به این مووضوع واقف بود که این برنامه ها به چه صورت عمل می کنند.

میشه فقط اشاره وار بگید که چه راه هایی هست که برنامه ها سرویس های امنیتی رو دور می زنند

shinyboy
یک شنبه 03 مهر 1390, 14:09 عصر
میشه لاقل بهم چند تا منبع خوب (فارسی - انگلیسی) در مورد برنامه نویسی امنیتی تو ویندوز معرفی کنید؟

که کلا در مورد لایه های امنیتی ویندوز باشه؟@

shinyboy
جمعه 08 مهر 1390, 14:00 عصر
خودم این دوتا منبع رو پیدا کردم نظرتون چیه
windows via c
windows system programing

r00tkit
دوشنبه 11 مهر 1390, 10:05 صبح
میشه لاقل بهم چند تا منبع خوب (فارسی - انگلیسی) در مورد برنامه نویسی امنیتی تو ویندوز معرفی کنید؟

که کلا در مورد لایه های امنیتی ویندوز باشه؟@

منظورت از برنامه نویسی امنیتی چیه ؟ توضیح بده دقیقا چی کار می خوای بکنی
ان دو تا کتاب رو حتما بخون اولی هیشه به عنوان منبع در کنارت می مونه

shinyboy
دوشنبه 11 مهر 1390, 13:29 عصر
میخوام با اصول کلی برنامه نویسی در ویندوز آشنا بشم ---> واسه نوشتن یه برنامه مثل آنتی ویروس

برای این کار باید اول بدونم یه ویروس چطور عمل میکنه و سیستم های امنییتی رو دور میزنه تا بتونم جلوشو بگیرم یا برنامه هایی مثل فایروال ها و .... تمام برنامه هایی که به امنیت مربوط میشه !

r00tkit
دوشنبه 11 مهر 1390, 13:41 عصر
خوب این شد حرف حسابی !

دوست من انتی ویروس از قسمت های خیلی زیادی تشکیل شده ! ولی کلا به دو قسمت من تقسیم می کنمش : یوزر مود و کرنل مود ،

برای شروع باید تو برنامه نویس با API ویندوز رو بلد باشی همون کتابی که معرفی کردی خیلی خوبه
خیلی مهم باید تو معماری ویندوز رو بشناسی : کتاب windows internals رو باید بخونی
باید بتونی ویروس ها رو انالیز کنی کتاب های زیاد برای این کار در ویندوز وجود داره Reverse Engineering Code with IDA Pro این رو می تونی بخونی
برنامه نویسی کرنل بلد باشی همون مستندات ناقص ویندوز کافیه ( برای شروع)

کتاب Malware Analyst’s CookBook رو هم بخونی دید کلی پیدا می کنی

انتی ویروس کار یک نفر و کار یک سال نیست افراد زیادی روش کار می کنن

به علت شغل فعیلم که ارتباط مستقیم با انتی ویروس داره می تونم بهت بیشتر راهنمایی کنم اگه خیلی علاقه داری بگو و سوالات رو بهتر بپرس تا به جاهای خوب برسیم :)