1. C# / Говнокод #12816

    +130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Открытие в проводнике подпапки "logs" основной папки приложения при нажатии кнопки на панели инструментов:
    1) получение с сервера строки
    "{(new ShellClass()).Open(System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + "\\logs");}"
    2) формирование текста с полным объявлением класса, содержащего полученный выше код в методе Run
    3) компиляция этого текста в сборку с помощью CSharpCodeProvider
    4) создание экземпляра класс и выполнение метода Run

    Доигрались... Проснулся пятилапый пес "Пиздец" и наступил.

    Запостил: grobotron, 28 Марта 2013

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

    • Path Combine лучше чем + "\\..."
      Ответить
      • > \\
        Когда уже это виндоблядство закончится... Давно пора перейти на единые слеши '/'. Тем более ядро винды их вполне понимает.

        Траблы разве что с софтом, который с досовских времен считает их ключами командной строки. И с пользователями, которые по инерции будут писать \.
        Ответить
    • Это вообще откуда?
      Ответить
      • Я бы сначала спросил:
        Это вообще что?
        Ответить
        • > Это вообще что?
          Это алгоритм.
          Ответить
          • То, что это алгоритм текстовые инструкции понятно.
            Вопрос был о том, почему они на гк, и зачем вообще компилировать сборку, а потом вызывать из нее метод класса используя текстовый транслятор.
            Ответить
            • Чтобы создать дыру в безопасности, и уметь запускать произвольный код, предложенный сервером ;)
              Ответить
              • Это наверное входит в описание вакансии под грифом "интересные проекты". :)
                Ответить
    • Да какой там, нах, алгоритм, какие текстовые инструкции... Описан механизм, с помощью которого макронабиратели открывают на клиенте папку в проводнике в трехзвенном коммерческом приложении.
      Ответить

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