آیا qt در ساخت آنتی ویروس مشکلی داره ... ؟
-
p{direction:rtl;text-align:right}. اگه تو سطح کرنل باشه که بحث نوشتن درایور هست که کلا ساختار های خودش رو داره و تمام منابعی که لازم داری رو خود سیستم عامل در اختیارت قرار میده. این مستلزم اینه که به api سیستم عامل کامل آشنایی داشته باشی. مثلا توی ویندوز wdk ریفرنس هاشو بطور کامل در اختیار برنامه نویساش قرار میده.
ولی تو سطح برنامه نویسی خود آنتی ویروس میتونی از کیوت یا هر چیز دیگه ای استفاده کنی. مهم الگوریتم هایی هست که استفاده میکنی. فکر نکنم کیوت توی این قضیه زیاد کمکت کنه ولی همونطور که سروش گفت برای اینترفیس یا عملیات نهایی روی فایل ها میتونی از کیوت استفاده کنی. -
p{direction:rtl; text-align:right}. یه چیز برای هنوز روشن نشده محسن جان ... یعنی کیوت پای سیشارپ و ویژوالبیسیک میمونه؟
میخای سورس آنتیویروس با VB6 یا C# بهت بدم ... !
مثلا یه توضیح میدم : مثلامن با Win32 میفهمم که ویروس کجاست (همون Real-Time) و بر با همون Win32 ویروس رو از حافظه خارج میکنم و با Qt ویروس رو حذف و ریجستری رو پاکسازی میکنم ... اینترفیس هم که همون Qt هستش
یعنی این کار رو هم نمیشه با کیوت انجام داد ...
یکی از دوستام با C# آنتی ویروس نوشته رویایی (البته در حد 1 نفر) از 64583 ویروس که البته 174 تاش ویروس نبودن و صرفا جهت تست بودن این آنتی ویروس 501 شناسایی و پاک سازی کرد ... اونم با C# یعنی Qt پای یه فرامورک میمونه ؟ -
p{direction:rtl;text-align:right}. آخه تو میگی برنامه نویسی سطح کرنل و درایور! نه کیوت نه فریم ورک دیگه ای نمیتونه کمک کننده باشه تو این سطح.
ساده بهت بگم
1- کیوت لایه اضافی مثل .net نداره. بنابراین سرعت اجرای بالایی داره.
2- وقتی از کیوت استفاده میکنی در واقع داری از زبان ++C استفاده میکنی. کیوت چند تا لایبرری هست که توی برنامه نویسی بهت کمک میکنه.
3- نوشتن کد های سیستمی (درایور) نه ربطی به کیوت داره (نه فریم ورک دیگه ای) نه به دردت میخوره در این زمینه.
4- برای نوشتن engine آنتی ویروس میتونی از کیوت استفاده کنی (اگر لازم باشه).
5- QFileSystemWatcher و پروژه QDeviceWatcher میتونه کمکت کنه (برای مانیتور کردن فایل ها).p{direction:rtl;text-align:right}. در نهایت بگم که من نمیدونم چقدر در مورد تولید آنتی ویروس اطلاع داری ولی چیزی که من میدونم اینه که تو در مرحله اول میتونه یه آنتی ویروس بنویسی که ویروس رو پیدا کنه. ولی
1- با چه سرعتی؟
2- چقدر از منابع سیستم رو اشغال میکنه؟
3- مدل عملکردش چقدر رو سرعت پردازش سایر برنامه ها تاثیر میذاره؟ (در صورتی که realtime protect داشته باشه).
4- چقدر تسلط روی منابع ورودی و خروجی سیستم داره؟
اینها از معیارهای سنجش engine آنتی ویروسه. بخاطر همینه که آنتی ویروس ایمن بعد از اینهمه سال هنوز نتونسته رقابت کنه. -
p{direction:rtl; text-align:right}. بازم سلام
میگم محسن جان با این همه معلومات ی که داری(من از پست هات فهمیدم) چرا تا حالا یه برنامه ی بزرگ ننوشتی ... (مثلا آنتی ویروسی چیزی)
ببینم اصلا تو ایرانی یا نه ... ؟
ببین محسن جان کاملا درست میگی اولا که در مورد آنتی ویروس به زبن های .Net و Vb باید بگم که من تا الان ندیدم که real time باشن و یا با هسته ی سیستم عامل در ارتباط باشن و یا ...
ولی مهم ترین مزیتشون استفاده از MD5 و ... هست
منم گفتم که برای اون 4 موردی که گفتی من از API خود ویندوز استفاده میکنم ... یعنی API خود ویندوزم نمیشه((!!!!)) و برای بقیه ی موارد از qt استفاده میکنم (یعنی qt یه فایل رو هم نمیتونه از یه جا حذف کنه ... ((!!!)) و البته ایمن هم که جدیدا به شید پیوست و بعد از فکر کنم بعد از 18 سال شد آنتی ویروسی نیم ایرانی(به خاطر استفاده از BitDefander ) من فکر نمیکنم همچین چیزی که شما میگید باشه
من خودم نصب نکردم ولی شنیدم که در اون 4 مورد که گفتید در سطح همون آنتی ویروس های خارجیه حتی من یک جا خوندم از Kaspersky خیلی سریعتره ... بگذریم
الان یه چند هفته ای میشه که دارم در مورد kernet ویندوز و ساخت آنتی ویروس و خود ویروس و ... دارم تحقیق میکنم تا وقتی پروژه رو شروع میکنم کم نیارم ... اگر شما هم در این مورد کمک کنید که ... -
p{direction:rtl;text-align:right}.
سلام به همگی
دوست عزیز ، اگر قصد تولید یک آنتی ویروس رو داری ، اینطوری نیست که با ایجاد یک تاپیک بتونی استارت بزنی و 100% هم موفق باشی!
به پست آخری که محسن جان ارسال کرده توجه کن.
آنتی ویروس یعنی مطمئن ترین و مورد اعتماد ترین برنامه بعد از سیستم عامل! پس شوخی نیست
شما باید خیلی تحقیق کنید.آنتی ویروس کار یک نفر نیست
باید یک تیم باشید که همگی حداقل C++ و Native Programming رو بلد باشین
باید بدونید که آنتی ویروستون چی کار قراره بکنه
توی سایت هایی که آنتی ویروس ها رو رتبه بندی میکنن ، ببینید که با توجه به چه خصوصیاتی این کارو میکنن
سپس ببینید که زبان برنامه نویسی ، پلتفورم و کتابخانه این ویژگی ها رو داره یانه
و با توجه به اون میتونید محیطی که میخواید کد بزنید رو انتخاب کنید
بیگدار به آب نزنید
امیدوارم که موفق باشید -
p{direction:rtl; text-align:right}. سلام سلام
بعد از حرف های دوستان عزیز دیگه خیلی نگران شدم که شدنی نیست
اما ... فقط بدونید من کسپراسکای رو مهندسی معکوس کردم ... چطور کار نداشته باشید فقط بدونید که از qt در این آنتی ویروس استفاده شده و فهمیدم که نسخه ی اصلی آنتی ویروس به زبان روسی هست (یعنی فرم هاش همه روسی هستن) و بعد فایل هایی داره که به به زبان های دیگه تبدیل میشه
البته خیلی کار مهمی نکردم ولی حداقل فهمکیدم که بخش هایی از این آنتی ویروس با qt هست ...
حالا چی میگید ..... هنوزم نمیشه ! -
[quote author="Sorn01" date="1357162435"]p{direction:rtl; text-align:right}. سلام سلام
بعد از حرف های دوستان عزیز دیگه خیلی نگران شدم که شدنی نیست
اما ... فقط بدونید من کسپراسکای رو مهندسی معکوس کردم ... چطور کار نداشته باشید فقط بدونید که از qt در این آنتی ویروس استفاده شده و فهمیدم که نسخه ی اصلی آنتی ویروس به زبان روسی هست (یعنی فرم هاش همه روسی هستن) و بعد فایل هایی داره که به به زبان های دیگه تبدیل میشه
البته خیلی کار مهمی نکردم ولی حداقل فهمکیدم که بخش هایی از این آنتی ویروس با qt هست ...
حالا چی میگید ..... هنوزم نمیشه ![/quote]p{direction:rtl;text-align:right}. من که گفتم میتونی آنتی ویروس بنویسی. ولی اگر تونستی برای ساخت درایور از کیوت استفاده کنی یک صفحه باز کن و کارت رو به جهان معرفی کن.