Си диез / Говнокод #27669 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
private void LoadControlFile()
{
    this.OFD2.Title = "Open an ORYZA Run Control File";
    this.OFD2.Filter = "Text Files|*.*";
    this.OFD2.ShowDialog();
    string path = this.OFD2.FileName.Trim();
    if (Path.GetExtension(path).ToUpper() != ".EXE")
    {
        this.TextBox2.Text = path;
    }
    else
    {
        string text = "Loading file is not a text file, RETRY!";
        MessageBox.Show(text, "Important Note", MessageBoxButtons.OK);
    }
}

Филипинская прога на Win Forms. Проверка на то что входной файл не исполняемый, а текстовый.

Запостил: contemporary_rapist contemporary_rapist, (Updated )

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

  • $ echo "EXE if for tEXt Extension" > test.exe
    Ответить
    • 32-битная система посчитает такой файл досовским COM-файлом и попытается выполнить.
      Ответить
      • Это специальная олимпиада?

        proc isExecutable(string file): bool =
          let extension = file[^3..^1]
          var b = false;
          if extension[0] == 'e' or extension[0] == "E":
            if extension[1] == 'X' or extension[1] == "x":
              if if extension[0] == 'e' or extension[0] == "E":
                b = true
          return b;
        Ответить
            • Чтобы ты потом написал com из буковок и сказал, что это текст, а не исполняемый файл?
              Ответить
              • Вон там Иканус ниже по треду именно это с .exe и сделал
                Ответить
                • Я ниже написал фрагмент песни на суахили, на котором у теста будет ложноположительное срабатывание.
                  Ответить
                  • Я хочу стгриггерить Броманда распарсить весь PE, найти там нужные сегнменты с нужными именами, и тогда признать это настоящим EXE
                    Ответить
                    • Ну давай ещё цифровую подпись проверю )))

                      Как-будто мне делать больше нехуй сейчас.
                      Ответить
                      • А вы мне уже доказали, что подпись это хуйня, и что там ключи по триста долларов в даркнете продают, и никто не скрывает
                        Ответить
                        • Представь, сколько софта сразу перестанет работать, если «Микрософт» спизженные ключи добавит в список отзыва. В 64-битных «Windows» проверку подписи драйверов не так просто отключить.
                          Ответить
                    • Имена секций могут быть произвольными. Код не обязан находиться в секции «.text». Бывают конпеляторы, которые дают секциям другие имена.

                      Важны атрибуты секций. Точка входа должна указывать на секцию с атрибутом «исполнимая».
                      Ответить
                      • Ага, а то вдруг это resource-only dll. А она технически не executable, кода там нет.
                        Ответить
  • Видимо, пользователи часто путали. Нормальный такой костылек под конкретную ситуацию...
    Ответить
  • если пользователь что-то делает не так - его надо наказывать перегрузкой системы. иначе он никогда ничему не научиться
    Ответить
      • В досе ребут не такое уж и наказание... Он же не грузится по 10 минут.
        Ответить
        • Я жал «Reset» на системнике, если не знал, как выйти из программы. Перезагрузка занимала меньше времени, чем поиск способа выхода.
          Ответить
            • Теперь я уже знаю: эскейп, двоеточие, q, ентер.

              А в «emacs» нужно нажать Ctrl+X Ctrl+C.

              Ничего не напутал?
              Ответить
              • А ещё в «Emacs» можно в любой момент нажать «M+x» и ввести какую-нибудь команду, например «exit».
                Ответить
                  • Неплохая клавиатура, кстати.

                    Мне удобно пользоваться «Emacs» на любой клавиатуре: ведь у него есть красивый и стильный графический режим с поддержкой мыши, а ещё нужные шорткаты логичные и тоже прикольные.
                    Ответить
                    • Ага, умели раньше клавиатуры делать. А на современных зачастую клавишей не хватает.
                      Ответить
                      • Я бы себе ещё отдельный USB-numpad какой-нибудь прикупил, чтобы рогалики гонять, а так клавиш мне хватает сполна: некоторые я даже почти не использую.
                        Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8