ورود

View Full Version : آنتی ویروس ها از چه راهی برای .... استفاده می کنند.



mehran8
پنج شنبه 06 اردیبهشت 1386, 13:12 عصر
سلام
چه طوری آنتی ویروس هایی مثل مک آفی به محض اینکه وارد فولدری می شیم تشخیص می ده چه فایل هایی توی اون فولدر وجود دارند و سریعاً اونها رو چک می کنه ؟

‍Peter Norton
پنج شنبه 06 اردیبهشت 1386, 20:35 عصر
ویندوز از روتینهایی برای این منظور استفاده می کنه. آنتی ویروسها با hook کردن این روتینها به ویندوز اعلام می کنن که همیشه یه کپی از عملیات در حال انجام رو هم برای اونها بفرسته. این عملیات در زمان اجرای یه فایل، ارسال میل و ... هم اتفاق می افته.

vb_nima
پنج شنبه 06 اردیبهشت 1386, 20:41 عصر
آره من هم فکر میکنم از قلاب یا همون hook اسفاده میکنند.

mehran8
پنج شنبه 06 اردیبهشت 1386, 22:13 عصر
بیشتر توضیح بدید

CodeMasterX
پنج شنبه 06 اردیبهشت 1386, 23:02 عصر
بهتر نبود همین سوال روی توی تاپیک پروژه آنتی ویروس خودت مطرح کنی ؟
اینجاست که باید با معماری و برنامه نویسی سیستم عامل زیر دستت آشنا باشی.ویندوز مایکروسافت وقتی میخواد فایلی رو باز کنه،فایلی بسازه،رجیستری رو باز کنه یا هر کار دیگه ای که بخواد بکنه توسط یه سری توابع آماده از قبل اجرا میشن.میشه این توابع رو هوک کرد.مثلا آنتی ویروس Avast که قبلا هم بهت معرفی کردم برای بار اول که اجرا میشه یه سری تنظیمات در فایل های SystemConfig در فولدر سیستم ویندوز انجام میده که قبل از بوت ویندوز شروع میکنه به بررسی هارد دیسک شما.توی سایت زیر یه جستجو بکن مثال های زیادی برای هوک کردن فولدر های فعال هست که میتونی با استفاده از اونا باز شدن فولدری رو بفهمی و بعد مثلا فایل های اونو جستجو کنی:

http://www.pscode.com (http://www.pscode.com/)

deuce
پنج شنبه 06 اردیبهشت 1386, 23:57 عصر
سلام
آنتی ویروس ها از روش API Hooking استفاده نمی کنند، چون با استفاده از این روش هر چند می توان از تغییرات درفایل ها و شاخه ها مطلع شد ولی نمی توان جلوی اجرا یا تغییر آنها را گرفت.
هر آنتی ویروس یک File System Filter Driver دارد و یک فیلتر روی راه انداز فایل سیستم نصب می کند. یعنی برای یک آنتی ویروس عملا" یک نرم افزار مشابه درایور باید نوشته شود که کار ساده ای نیست.

vb_nima
جمعه 07 اردیبهشت 1386, 07:46 صبح
آقای deuce برای من که جالب بود اگر مقاله ای در این زمینه خوندید یا دارید لطفا لینکش را بگذارید. بقیه هم استفاده کنند

mehran8
جمعه 07 اردیبهشت 1386, 16:48 عصر
بهتر نبود همین سوال روی توی تاپیک پروژه آنتی ویروس خودت مطرح کنی ؟
اینجاست که باید با معماری و برنامه نویسی سیستم عامل زیر دستت آشنا باشی.ویندوز مایکروسافت وقتی میخواد فایلی رو باز کنه،فایلی بسازه،رجیستری رو باز کنه یا هر کار دیگه ای که بخواد بکنه توسط یه سری توابع آماده از قبل اجرا میشن.میشه این توابع رو هوک کرد.مثلا آنتی ویروس Avast که قبلا هم بهت معرفی کردم برای بار اول که اجرا میشه یه سری تنظیمات در فایل های SystemConfig در فولدر سیستم ویندوز انجام میده که قبل از بوت ویندوز شروع میکنه به بررسی هارد دیسک شما.توی سایت زیر یه جستجو بکن مثال های زیادی برای هوک کردن فولدر های فعال هست که میتونی با استفاده از اونا باز شدن فولدری رو بفهمی و بعد مثلا فایل های اونو جستجو کنی:

http://www.pscode.com


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

deuce
جمعه 07 اردیبهشت 1386, 19:28 عصر
ببینید
http://channel9.msdn.com/ShowPost.aspx?PostID=36907

CodeMasterX
شنبه 08 اردیبهشت 1386, 00:53 صبح
مبانی FileSystemDriver ها:

http://www.microsoft.com/whdc/driver/filterdrv/default.mspx

نوشتن یک FileSystemDriver مجازی با C:

http://www.flipcode.com/articles/article_vfs02.shtml

CodeMasterX
شنبه 08 اردیبهشت 1386, 01:08 صبح
حدود 30 دقیقه ای هست که دارم روی اینکه آیا میشه درایور فایل سیستم ها رو با VB6 نوشت یا نه جستجو میکنم و شواهد نشون میدن که نه! این کار توی وی بی 6 حتی اگر به کمک راهنما ها و API ها خود مایکروسافت هم باشه خیلی سخت و دشوار خواهد بود و خود مایکروسافت استفاده از خانواده C رو پیشنهاد میکنه.توی دات نت هم یه چیزایی دست گیرم شده ولی خیلی جالب و مفصل نیستن.

Inprise
شنبه 08 اردیبهشت 1386, 08:49 صبح
این کار توی وی بی 6 حتی اگر به کمک راهنما ها و API ها خود مایکروسافت هم باشه خیلی سخت و دشوار خواهد بودبرای نوشتن درایور باید از DDK استفاده کنی . یعنی نمیتونی با ویژوال بیسیک درایور بنویسی . لینکر ویژوال بیسیک چنین باینری ای تولید نمیکند


توی دات نت هم یه چیزایی دست گیرم شده ولی خیلی جالب و مفصل نیستنر-ک جواب قبل .
مایکروسافت UMDF را منتشر کرد که حاوی مقادیری COM Wrapper است تا بتوان "باصطلاح" User Mode Driver نوشت که البته در زمینه مورد بحث کاربردی ندارند و بیشتر برای ساده تر کردن پیاده سازی منطق کد که نوشتن آن با C یا اسمبلی دشوار است در نظر گرفته شده اند که در هر حال باز هم نیاز به کد نویسی سطح کرنل دارد . به غیر از محیط Kernel Development مایکروسافت نمیتوانید با محیط و زبان دیگری درایور تولید کنید . مدتها قبل Holy Father نویسندهء Hacker Defender با دستکاری لینکر دلفی و یک کتابخانهء ترجمه شده از DDK ، کیتی برای نوشتن درایور با دلفی ارائه کرد که البته فقط در حد یک نمایش ساده بود ، و ادامه هم پیدا نکرد .