سؤال

#include<stdio.h>
#include<conio.h>
union abc
{
    int a;
    int x;
    float g;
};
struct pqr
{
    int a;
    int x;
    float g;

} ;

void main()
{
    union abc b;
    struct pqr c;
clrscr();
b.a=10;
textbackground(2);
textcolor(6);
cprintf(" A = %d",b.a);
printf("\nUnion = %d",sizeof(b));
printf("\nStructure = %d",sizeof(c));
getch();
}

لقد أنقذت هذا البرنامج ك Virus.cpp. أنا أستخدم مترجم Turbo C لتجميع هذا البرنامج وتشغيله من Turbo C (CTRL + F9).

أنا أستخدم نظام التشغيل Windows 7 وقمت بتثبيت نظام فيروس Avira AntiVir.

عندما حاولت تشغيل البرنامج أعلاه، فإنه يخلق دودة (DOS / CANDY). أعتقد أنه لا يوجد شيء خاطئ في البرنامج.

نص بديل

الآن هنا شيء خاص. تنفيذ نفس البرنامج مع الاختلاف التالي. هنا الفرق الوحيد هو المسافة بين \n:

#include<stdio.h>
#include<conio.h>
union abc
{
    int a;
    int x;
    float g;
};
struct pqr
{
    int a;
    int x;
    float g;

} ;

void main()
{
    union abc b;
    struct pqr c;
clrscr();
b.a=10;
textbackground(2);
textcolor(6);
cprintf(" A = %d",b.a);
printf("\n Union = %d",sizeof(b));
printf("\n Structure = %d",sizeof(c));
getch();
}

الفرق هو فقط n والفضاء. سؤالي هو، لماذا يتم اكتشاف برنامجي البسيط كفيروس؟

هنا نموذج رمز آخر، هذه المرة ل C ++:

#include<iostream.h>
#include<conio.h>
class A
{
    int a,b;
public:
    A()
    {
        a=0;b=0;
    }

    A(int x)
    {a=x;
    b=0;
    }

    A(int x,int y)
    {
    a=x;
    b=y;
    }

    ~A()
    {
    cout<<"All things are deleted.";
    }

    void get()
    {
    cout<<"\nA = "<<a;
    cout<<"\nB = "<<b;
    }
};

void main()
{

A a1(5,10);
clrscr();
a1.get();
getch();
}

عندما أقوم بتشغيل هذا البرنامج، فإنه يعطي "تحذير الفيروسات" - حتى أنه ليس فيروسا. الآن، المأساة هي عند إزالة المدمرين، لن يكتشفها كفيروس.

هنا هي لقطة الشاشة وسؤال مماثل:

اللغة C - n - إنشاء فيروس

نص بديل

السؤال هو كيف، ولماذا؟

هل كانت مفيدة؟

المحلول

يشبه إيجابية خاطئة. نظرا لأن الفيروسات الحديثة تستخدم تعدد الأشكال لاختبئها من برامج مكافحة الفيروسات، فإن برنامج مكافحة الفيروسات يجب أن يقدم تقريرا حتى مطابقا جزئيا، ويبدو أن مترجمك مع رمز المصدر المحدد ينتج عنه تطابق جزئي لهذه البرامج الضارة.

نصائح أخرى

تستخدم الماسحات الضوئية للفيروسات الاستدلال والتوقيعات للكشف عن نقاط الضعف. الإيجابيات الخاطئة لا مفر منها. يبدو أن برنامجك يؤدي إلى الإغراء. من المفترض أن المجموع الاختباري، حجم الملف أو الخصائص الأخرى تطابق فيروس معروف. هذه هي حقيقة أن التغيير الصغير يكفي لحل المشكلة.

تعديل استدعاء طلبك virus.exe. هو خيار مؤسف للغاية، وأفترض أنه سيؤدي إلى أن يؤدي معظم ماسحات الضوئية للفيروسات بسرعة (على الرغم من أنه بالتأكيد ليس اسما مثاليا للفيروسات الحقيقية ...).

أعتقد أن لديك فيروس حقيقي في مكان ما، ربما قامت بتعديل المكتبات القياسية: D أو ببساطة يكتشف الفيروسات نمطا في القابل للتنفيذ.

يرى http://www.viruslist.com/en/viruses/encyclopedia؟virusid=1857. .

تخميني هو أن تفحص Antivir من خلال السلاسل النصية التي تحتوي dos / candy، وبما أن واحد في القطعة الثانية من التعليمات البرمجية يشبه الجهاز الذي يبحث عنه، يكتشف AntiVir القابل للتنفيذ المترجم كفيروس.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top