ویروسها

ويروس كامپيوتري چيست؟

ويروس كامپيوتر برنامه‌اي است كه مي‌تواند نسخه‌هاي اجرايي خود را در برنامه‌هاي ديگر قرار دهد. هر برنامه آلوده مي‌تواند به نوبه خود نسخه‌هاي ديگري از ويروس را در برنامه‌هاي ديگر قرار دهد. برنامه‌اي را برنامه ويروس می نامیم كه همه ويژگيهاي زير را داراباشد:
1) تغيير نرم افزارهايي كه به برنامه ويروس متعلق نيستند با چسباندن قسمتهايي از این برنامه به برنامه‌هاي ديگر
2) قابليت انجام تغيير در بعضي از برنامه‌ها.
3) قابليت تشخيص این نکته که برنامه قبلاً دچار تغيير شده است يا خير.
4) قابليت جلوگيري از تغيير بيشتر يك برنامه در صورت تغییراتی در آن بواسطه ی ویروس .
5) نرم افزارهاي تغيير یافته ويژگيهاي 1 الي 4 را دارا هستند . اگر برنامه‌اي فاقد يك يا چند ویژگی از ویژگیهای فوق باشد، نمی توان به طور قاطع آنرا ویروس نامید .

 آشنايي با انواع مختلف برنامه‌هاي مخرب

 E-mail virus
ويروسهايي كه از طريق E-mail وارد سيستم مي‌شوند معمولاً به صورت مخفيانه درون يك فايل ضميمه شده قرار دارند که با گشودن يك صفحه ی HTML يا يك فايل قابل اجراي برنامه‌اي (يك فايل كد شده قابل اجرا) و يا يك word document می توانند فعال‌ شوند.
Marco virus
اين نوع ويروسها معمولاً به شکل ماکرو در فايلهايي قرار می گیرند كه حاوي صفحات متني (word document) نظير فايلهاي برنامه‌هاي Ms Office (همچون Microsoft word و Excel) هستند.
توضيح ماكرو: نرم افزارهايي مانند Microsoft word و Excel اين امکان را برای كاربر بوجود می آورند كه در صفحه متن خود ماكرويي ايجاد نماید،اين ماكرو حاوي يكسري دستور العملها، عمليات‌ و يا keystroke ها است كه تماماً توسط خود كاربر تعيين ميگردند.
ماكرو ويروسها معمولاً طوري تنظيم شده‌اند كه به راحتي خود را در همه صفحات متني ساخته شده با همان نرم افزار (Excel , ms word) جاي مي‌‌دهند.
اسب تروآ:
اين برنامه حداقل به اندازه خود اسب تروآي اصلي قدمت دارد . عملكرد اين برنامه‌ها ساده و در عین حال خطرناك است.
در حاليكه كاربر متوجه نیست و با تصاویر گرافیکی زیبا و شاید همراه با موسیقی محسور شده ، برنامه عملیات مخرب خود را آغاز می کند.
براي مثال به خيال خودتان بازي جديد و مهيجي را از اينترنت Download كرده‌ايد ولي وقتي آنرا اجرا مي‌كنيد متوجه خواهيد شد که تمامی فايلهاي روي هارد ديسك پاك شده و يا به طور كلي فرمت گرديده است.
كرمها (worm)
برنامه كرم برنامه‌اي است كه با كپي كردن خود توليد مثل مي‌كند. تفاوت اساسي ميان كرم و ويروس اين است كه كرمها براي توليد مثل نياز به برنامة ميزبان ندارند. كرمها بدون استفاده از يك برنامة حامل به تمامي سطوح سيستم كامپيوتري «خزيده» و نفوذ مي‌كنند. راجع به اینگونه برنامه ها در فصل سوم مفصلا بحث خواهد شد.
ويروسهاي بوت سكتور و پارتيشن
Boot sector قسمتی از ديسك سخت و فلاپي ديسك است كه هنگام راه اندازی سيستم از روي آن به وسيله كامپيوتر خوانده مي‌شود. Boot Sector یا ديسك سيستم ، شامل كدي است كه براي بار كردن فايلهاي سيستم ضروري است. این ديسكها داده هایی در خود دارند و همچنین حاوي كدي هستند كه براي نمايش پيغام راه اندازی شدن کامپیوتر بوسیله ی آن لازم است
سكتور پارتيشن اولين بخش يك ديسك سخت است كه پس از راه‌اندازي سيستم خوانده مي‌شود. اين سكتور راجع به دیسک اطلاعاتي نظیر تعداد سكتورها در هر پارتيشن و نیز موقعيت همه ی پارتيشن‌ها را در خود دارد.
سكتور پارتيشن، ركورد اصلي راه‌اندازي يا Master Boot Record -MBR نيز ناميده مي‌شود.
بسياري ازكامپيوترها به گونه ای پيكربندي شده‌‌اند كه ابتدا از روي درايو: A راه‌اندازي میشوند. (اين قسمت در بخش Setup سيستم قابل تغيير و دسترسي است) اگر بوت سكتور يك فلاپي ديسك آلوده باشد، و شما سیستم را از روي آن راه‌اندازي كنيد، ويروس نيز اجرا شده و ديسك سخت را آلوده مي‌كند.
اگر ديسكی حاوي فايلهاي سيستمي هم نبوده باشد ولي‌ به يك ويروس بوت سكتوري آلوده باشد وقتی اشتباهاً ديسكت را درون فلاپي درايو قرار دهيد و كامپيوتر را دوباره‌ راه‌اندازي كنيد پيغام زير مشاهده مي‌شود. ولي به هر حال ويروس بوت سكتوري پيش از اين اجرا شده و ممكن است كامپيوتر شما را نيز آلوده كرده باشد.

Non-system disk or disk error
Replace and press any key when ready

كامپيوترهاي بر پايه Intel در برابر ويروسهاي Boot Sector و Partition Table آسيب پذير هستند.
تا قبل از اینکه سیستم بالا بیاید و بتواند اجرا شود صرفنظر از نوع سیستم عامل می تواند هر کامپیوتری را آلوده سازد.

HOAX (گول زنك‌ها)
اين نوع ويروسها در قالب پيغامهاي فريب آميزي ، كاربران اينترنت را گول زده و به كام خود مي‌كشد. اين نوع ويروسها معمولاً به همراه يك نامه ضميمه شده از طريق پست الكترونيك وارد سيستم مي‌شوند. متن نامه مسلماً متن مشخصي نیست و تا حدودي به روحيات شخصي نويسنده ويروس بستگی دارد، پیغامها می توانند مضمونی تحدید آمیز یا محبت آمیز داشته باشند و یا در قالب هشداری ، مبنی بر شیوع یک ویروس جدید ئر اینترنت ، یا درخواستی در قبال یک مبلغ قابل توجه و یا هر موضوع وسوسه انگیز دیگر باشد . لازم به ذکر است كه همه اين نامه‌ها اصل نمي‌باشند يعني ممكن است بسیاری از آنها پيغام شخص سازنده ويروس نباشند بلكه شاید پيغام ويرايش شده يا تغيير یافته از يك كاربر معمولي و يا شخص ديگري باشد كه قبلا اين نامه‌ها را دريافت كرده و بدينوسيله ويروس را با پيغامي كاملاً جديد مجدداً ارسال مي‌كند.
نحوه تغيير پيغام و ارسال مجدد آن بسيار ساده بوده ، همين امر باعث گسترش سريع Hoax‌ها شده،‌ با يك دستور Forward مي‌توان ويروس و متن تغيير داده شده را براي شخص ديگري ارسال كرد. اما خود ويروس چه شكلي دارد؟ ويروسي كه در پشت اين پيغامهاي فريب آميز مخفي شده مي‌تواند به صورت يك بمب منطقي ، يك اسب تروا و يا يكي از فايلهاي سيستمي ويندوز باشد. شيوه‌اي كه ويروس Magistre-A از آن استفاده کرده و خود را منتشر مي‌كند.

توابع رشته ای

باسلام . امروز می خواهیم چند تا تابع رشته ای را معرفی کنیم.

توابع رشته ای:

 ---------------------------------------------

 Len ( ):

این تابع طول یک رشته را برمی گرداند.شکل کلی این تابع به صورت زیر می باشد:

Len (string)

Len (www.learnvb.blogfa.com ) = 22

---------------------------------------------

Mid ( ):

این تابع رشته ای را در رشته دیگر جستجو می کند. شکل کلی این تابع به صورت زیر می باشد:

A=Mid (String, I, Length)

A=mid (www.learnvb.Blogfa.com, 5, 14) = "Learnvb.Blogfa"

در تابع بالا ،  String  رشته ای است که می خواهیم داخل آن جستجو کنیم و  I  شروع جستجو را به ما می گوید و همچنین پارامتر  Length طول رشته ای که می خواهیم جداکنیم را می گذاریم.

---------------------------------------------

String ( ):

این تابع یک کاراکتر را به تعداد معین تکرار می کند. شکل کلی این تابع به صورت زیر می باشد:

String (n, Char)

String (7, A) = AAAAAAA

در این تابع n   عددی است که تعداد تکرار را مشخص می کند و Char  می تواند کاراکتر یا کد اسکی باشد.

انواع فایلها

 بطور کلی فایلها بر دو نوع هستند:

1. فایلهای متنی : این فایلها فقط شامل کاراکترهای اسکی وبرخی کاراکترهای خاص مانند انتهای خط و انتهای فایل هستند.2. فایلهای باینری : شامل هر نوع کاراکتری می توانند باشند و کاربردهای گسترده ای در زمینه های : بانک های اطلاعاتی ، فایلهای اجرائی ، فایلهای گرافیکی و غیره در ویژوال بیسیک دارن و می تواند با هر دو نوع فایل کار کند .

چگونگی باز کردن فایلها :

ل

اتوضیح پارامتر های موجود در دستور :

 قسمت اول : نام فایلی است که می خواهیم آنرا باز کنیم.
قسمت دوم : حالتهای باز کردن فایل است. این حالتها عبارتند از :

فایل بعنوان ورودی بازمی شود.

       Input

فایل بعنوان خروجی باز می شود.

       Output

فایل ازنوع باینری باز می شود.

       Binary

فایل طوری باز می شود که بتوان به انتهای آن چیزی اضافه کرد.

        Append

قسمت سوم : نوع دسترسی به فایل را مشخص می کند .انواع دسترسیها عبارتند از :

خواندن فایل

Read

نوشتن در فایل

Write

خواندن و نوشتن فایل

Read Write

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

 قسمت پنجم : یک ثابت بوده.

قسمت ششم: عددی است که ویژوال بیسیک از آن برای دسترسی به فایل استفاده می کند .این عدد بایستی برای هر فایل منحصر بفرد و بین 1 تا 511 باشد . برای بدست آوردن اولین شماره آزاد می توان از تابع Free File استفاده کرد .

قسمت هفتم : طول بافر فایل است . این عدد بایستی از 32767 کوچکتر باشد .

 * در صورتی که فایلی که توسط filename مشخص شده وجود نداشته و فایل برای Append ، Binary ، Output و یا Random باز شده باشد در اینصورت یک فایل جدید با این نام ساخته می شود .

* در صورتی که فایل بصورت باینری باز شده باشد پارامتر Len نادیده گرفته می شود .

چگونگی بستن فایل :

پس از پایان کار با فایل برای بستن آن از دستور Close استفاده می کنیم . فرمت این دستور بصورت زیر است :

Close #file number

دستورClose بدون هیچ پارامتری تمام فایلهای باز را می بندد .

* یادتان باشد هرفایلی که باز شد باید بسته شود.