1. Си / Говнокод #15572

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    #ifndef _AVRECORD_H__INCLUDED_
    #define _AVRECORD_H__INCLUDED_
    #include 
    
    //! Структура сигнатуры
    typedef struct SAVSignature{
    SAVSignature(){
    this->Offset = 0;
    this->Lenght = 0;
    memset(this->Hash, 0, sizeof(this->Hash));
    }
    DWORD Offset; // - Смещение файле
    DWORD Hash[4]; // - MD5 хэш
    DWORD Lenght; // - Размер данных
    } * PSAVSignature;
    
    //! Структура записи о зловреде
    typedef struct SAVRecord{
    SAVRecord(){
    this->Name = NULL;
    this->NameLen = 0;
    }
    ~SAVRecord(){
    if(this->Name != NULL) this->Name;
    }
    //! Выделение памяти под имя
    void allocName(BYTE NameLen){
    if(this->Name == NULL){
    this->NameLen = NameLen;
    this->Name = new CHAR[this->NameLen + 1];
    memset(this->Name, 0, this->NameLen + 1);
    }
    }
    PSTR Name; // - Имя
    BYTE NameLen; // - Размер имени
    SAVSignature Signature; // - Сигнатура
    
    } * PSAVRecord;
    
    #endif

    Пишем антивирус на аццкой помеси Си, ООП-стайла, говнокода и синтаксических ошибок.
    http://hack-academy.ru/programming/system/361-pishem-svoj-antivirus-na-c.html

    Запостил: gost, 25 Марта 2014

    Комментарии (25) RSS

    • Вирус все-таки написали, и теперь пытаются его вылечить? :)

      offset, length... Какие все-таки наивные эти юные антивирусописцы...
      Ответить
      • http://av-school.ru/up/article/file/cpp/avscan.rar
        этот пример долго висел на форуме у касперского.
        Ответить
    • Структура записи о зловреде должна называться ZlovRecord. Третья строка еще смущает.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • и ленгхт, как это принято у недокодеров.
      Ответить
      • Вот именно поэтому в стандартной крестолибе это свойство назвали size.
        Ответить
        • length - size
          width - size_x
          height - size_y
          depth -size_z
          ?
          Ответить
          • Ну а че, оно даже наглядней.

            P.S. А weight как переименовать?
            Ответить
          • я так стараюсь и делать
            и длина одинаковая
            код симметричнее получается

            а эти уебанские имена бесят
            или
            MoveWindow(H, R.Left, R.Top, R.Right-R.Left, R.Bottom-R.Top, True);
            БЕСИТ
            Ответить
            • скорее, нагляднее все же Left, Top, Right,Bottom. Как вариант, N,S,W,E. А с X,Y,U,Z не всегда однозначно получается.
              Ответить
    • > SAVSignature()
      Где здесь Си?
      Ответить
      • Перед двумя плюсами.
        Ответить
      • >Где здесь Си?
        >помеси Си, ООП-стайла, говнокода и синтаксических ошибок.
        Ответить
        • > синтаксических ошибок
          Инклюд пустоты?
          Ответить
          • >Инклюд пустоты?
            плюсовые конструкции в си коде :)
            Ответить
          • Инклюд пустоты там везде, а вот нахуй было делать говноструктуры вместо классов - неебу.
            Ответить

    Добавить комментарий