История первая


Не я, но мой бывший советник тогда в Индии рассказывал нам эту поучительную историю на тему «зачем нужно проверять код» (Примечание: это было лет 30 назад)

Чувак в адрес компании: если уволите меня, ваша система прекратит работать.

Компания планировала сокращения, а глава этого проекта, чтобы сохранить свою должность, выступил с вышеуказанной угрозой руководству. Сначала это сработало, но потом они все же решили уволить его, в пятницу. И, конечно же, в понедельник утром система прекратила работать. Они рьяно пытались устранить проблему, но потом решили взять его обратно. Когда он на следующей неделе вернулся на работу, все опять заработало.

В чем был фокус?

Он устроил так, что система делала проверку на факт проведения его бейджа сотрудника через считывающее устройство, и похоронил это в каком-то зашифрованном коде, который никто не удостоился посмотреть/понять.

Нелегально? Возможно. Неэтично? Ага. Отличная история? А то!

Nupul Kukreja, Senior Engineer at Credit Karma


Перевод выполнен при поддержке компании EDISON Software, которая профессионально занимается тестированием ПО, контент-маркетингом и продвижением, и немного интеграцией систем видеонаблюдения.


История вторая


Этот код сэкономил мне кучу денег в детстве, когда я сидел в интернет-кафе.

“REG add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f”

Теперь к истории.

Большинство интернет-кафе в моей стране использовали программу «Cyber client» для отслеживания времени, которые вы покупали, а когда оплаченный период истекал, сеанс завершался, и на мониторе возникало следующее:

image


Эти интернет-кафе отключали диспетчер задач, т.к. он позволял удалить программы.

А теперь вот что делал я:

Я покупал, например, 10 минут

логинился на их компьютере

Включал диспетчер задач, используя CMD и вышеуказанный код

наконец, я зажимал «Ctrl+Alt+Delete», открывал диспетчер задач, завершал программу «Cyber client» и продолжал сидеть в интернете.

МЕНЯ НИ РАЗУ НЕ ПОЙМАЛИ

Maduka Kalu, studied Computer Programming at Google University

История третья


Когда я учился в старших классах, я сделал простенький скрипт, который определял установленную версию Windows и копировал небольшой командный файл (batch файл) в соответствующую папку автозагрузки, который содержал просто «shutdown -f -s -t 0», и выключал комп. Я также подготовил файл autorun.inf, который выполнял это. Все это было для того, чтобы создать CD-диск, с которым я бы разыгрывал своих друзей: их компьютеры выключались, стоило им только запустить его. Довольно безобидно и легко исправляемо: нужно просто загрузиться в безопасном режиме и удалить файл из загрузочной папки.

Я записал все файлы на дискету, намереваясь взять ее домой, и записать все на диск, но как раз в тот момент, когда я вытаскивал дискету, ИТ-админ заметил это и конфисковал ее.

Неделей позже меня вызывают в кабинет к директору и говорят, что я отстранен от компьютерного класса за то, что написал вирус, который очевидно «распространился по всей сети». Вот такой вот, блин, безмозглый у нас был админ.

А вот учитель информатики был крутой. Во время родительского собрания он поднял этот вопрос и просто сказал моей маме, что он высоко оценил мое творчество, потом повернулся ко мне и сказал, что все же надо быть поосторожней, пока ты в школе, и подмигнул мне.

Даже сегодня я все еще думаю, что, подмигнув, он имел в виду «не попадайся», а не «не делай этого больше». Позже я нарезал кучу таких дисков и оставил их среди стопки дисков, которые мы прятали в классе, подписанные как игры (все копировали свои компьютерные/консольные игры и оставляли копии в неиспользовавшемся школьном шкафу у нас в классе, чтобы делиться. Это было довольно круто, если честно). И веселился, слушая, как народ жалуется через несколько дней. А потом помогал им исправить этот баг.

10/10 что я сделал бы это снова.

Cedric Mamo

История четвертая


Я однажды написал приложение на Visual Basic, которое имитировало картинку входа в систему «ctrl+alt+del», и установил его на загрузку на многих компьютерах в нашей школьной сети.

Приложение запускалось прежде, чем появлялось окно настоящего входа, и записывало введенные логин/пароль, отправляло их мне по электронной почте, и на экране появлялось сообщение об ошибке «неправильный пароль», вне зависимости от того, что они вводили, а потом прекращало свою работу, позволяя пользователю на самом деле залогиниться.

Таким образом мне удалось проникнуть в несколько учительских аккаунтов и получить доступ в интернет! (аккаунты учеников были лишены доступа в интернет). Я часто продавал доступ к аккаунту с интернетом за 50p в день :)

Вот ведь времена были…

Jay Kavanagh, Website manager at tReds.co.uk

История пятая


Не я…

Но кое-кто из моих знакомых поступил довольно неэтично.

Он работал по контракту с компанией, писал встроенные системы на ассемблере (это было в 1980-х).

Им была преднамеренно встроена в код ошибка, которая проявилась бы только через год или два. Сбой был прописан очень изощренно, поэтому проверка кода не выявила бы никакого злого умысла.

И вот его контракт кончится. Система будет работать, а через год или два начнутся сбои. Никто не сможет устранить их, а значит, он получит еще один доходный контракт на устранение этой проблемы.

Не круто.

Glyn Williams, has written many lines of Swift

История шестая


Много лет назад при работе с клиентами я очень часто сталкивался с проблемой неплатежей. Я устал преследовать их, чтобы напомнить, сколько они мне должны. Тогда по большей части речь шла о веб-приложениях, поэтому стоило им получить приложение, и я уже ничего не мог ничего поделать, чтобы остановить его работу.

Мне пришла оригинальная идея встроить лазейки в коде, которые позволяли мне получить доступ к приложению, и часто даже ко всему серверу, на котором оно работало.

Если клиенты задерживали платеж, некоторое время я упрашивал их в надежде, что мне заплатят. Если они не платили в определенный промежуток времени, я делал так, что приложение начинало вести себя некорректно, а в некоторых случаях полностью удалял его.

Это было не самым умным решением, но оно работало. Клиенты писали мне о возникновении проблем с приложением и просили меня разобраться. Само собой, сначала они должны были мне заплатить, что задолжали. Если они платили, я сразу исправлял код приложения, и все были счастливы. Сейчас я так больше не поступаю, т.к. работаю с поэтапной оплатой или предоплатой.

Раньше я писал вредоносные программы, но всегда только с просветительской целью, и я никогда не выпускал их в мир. Еще однажды написал руткит. О многих других вещах я не могу говорить по юридическим соображениям.

James Jeffery, Software Developer for over 12 years

Комментарии (148)


  1. Ugrum
    24.11.2017 17:42

    del.


  1. aik
    24.11.2017 17:46
    +1

    1. Ну это вообще уголовщина. Удивляюсь, что не привлекли полицию.
    2. Кривые руки админов, забывших запретить редактирование реестра.
    3. Это уже нормальная шутка. В меру забавная и недеструктивная.
    4. Странновато. Если у них стояла NT, то до появления «входа в систему ctrl+alt+del» никакой софт запускаться не мог. Если 9х, то там вообще никакого входа по CAD не было.
    5-6. Это примерно как первый, только без прямого вымогательства.


    1. Neikist
      24.11.2017 17:54
      +1

      4. Семерка, до экрана с cad запускается vipnet monitor с предложением ввести пароль.


      1. aik
        24.11.2017 18:11
        +1

        Ну это уже системный сервис получается.


    1. dezconnect
      24.11.2017 18:09
      +1

      но можно было подделать приложение которое стартует, и оно уже после запускает оболочку ;)


    1. jcmvbkbc
      24.11.2017 18:10
      +1

      до появления «входа в систему ctrl+alt+del» никакой софт запускаться не мог.

      ctrl-alt-del обрабатывается штукой, которая называется GINA, её можно кастомизировать, написав и зарегистрировав свою DLL.


      1. aik
        24.11.2017 18:13
        +1

        Да, забыл про то, что существует всякий софт, который может подменять диалог ввода пароля. Сам в саое время таким пользовался, когда вход в систему по флэшке делал.


    1. Leopotam
      25.11.2017 02:09

      2. Кривые руки админов, забывших запретить редактирование реестра.

      Фигня. Первое, что делалось — правился один байтик в regedit.exe (условный переход -> nop) и редактор благополучно открывался.


      1. aik
        25.11.2017 04:10

        А толку, если у вас прав на редактирование нет? Это даже если вам разрешают свой софт запускать, а не ограничивают только предустановленным.


        1. Leopotam
          25.11.2017 12:25

          В те времена NT4 стояла только на машине преподавателя, а все десктопы были на 95 или 98, я уже не помню. Поэтому ни о каких белых списках приложений речи не было, как и о запрете на редактирование локальных политик после логина.


          1. aik
            25.11.2017 12:41

            Относительно 98 винды говорить о каких-то там правах доступа вообще смысла нет. Строго однопользовательская система, какие бы костыли в неё не пытались втыкать.


    1. KivApple
      25.11.2017 18:52

      5. Действительно не круто, но, к сожалению, очень труднодоказуемо.
      6. А вот тут спорный вопрос. Разве пока автору кода не заплатили, код обязан стабильно решать поставленную задачу? Если он только ломал своё же приложение, но не трогал ничего больше, то что плохого?


      1. aik
        25.11.2017 19:06

        Всё равно очень скользко с юридической точки зрения.


        1. KivApple
          25.11.2017 19:23

          А если таймбомба будет заранее заложена в приложение (в случае оплаты «ой, я тут забыл одну мелкую ошибку исправить — вот вам бесплатное обновление»), либо проверять внешний url, но при этом не оставлять возможности удалённого исполнения кода? Тогда под несанкционированный доступ к системе подвести будет нельзя. Если приложение просто перестаёт работать, а не начинает вредить другим приложениям, то под «копирование, модификацию или удаление» информации подвести нельзя тоже (если не встраивать в ПО шифровальщик). По факту наличие такой тайм-бомбы является лишь нарушением договора на разработку (ПО содержит функции, которые совсем не хочет заказчик). С другой стороны раз заказчик не оплатил, то и обязанностей соблюдать ТЗ у разработчика нет.

          Вредоносное ПО должно вредить другому ПО или оборудованию, воровать личные данные и т. д. (хотя бы потенциально — полный бекдор позволяет украсть данные пользователей, так что автору придётся доказывать, что он точно никогда этого не захотел бы, что вряд ли у него получится), просто факт прекращения работы самого ПО вредоносной деятельностью не является, лишь нарушением ТЗ.


          1. qw1
            25.11.2017 19:42

            Сомневаюсь, что судьи будут рассматривать все эти размышления.

            Строго формально, по УК РФ 273 — Создание, распространение или использование компьютерных программ либо иной компьютерной информации, заведомо предназначенных для несанкционированного уничтожения, блокирования, модификации, копирования компьютерной информации или нейтрализации средств защиты компьютерной информации

            Если закладка, приводящая к блокированию информации, была умышленно внедрена, статья уже действует. А если «группой лиц по предварительному сговору» или «из корыстной заинтересованности» — отягчающие обстоятельства.

            А кто кому не заплатил — подавайте иск и решайте отдельно, по ГК, а не УК.


            1. KivApple
              25.11.2017 19:45

              Так информация не блокируется — она как лежит на диске, так и лежит (в открытом формате, можно, например, посмотреть все данные через phpMyAdmin или аналог, для надёжности можно оставить инструкцию). Просто ПО не выполняет части функций. Вот, например, если просто сильно покорёжить дизайн сайта, то это даже никак доступу к информации не мешает, а заказчику будет неприятно. Или перевести все операции в RO — блокирования информации опять же не происходит, только нельзя добавлять новую средствами разработанного ПО.

              Информация, которая была внесена в систему заказчиком и его клиентами является их собственностью, её портить нельзя. Но само ПО портить можно, ибо оно не является собственностью заказчика до оплаты.


              1. qw1
                25.11.2017 20:04

                Опять рассуждения, которые судьям пофиг.
                Вот был доступ к информации через страницу сайта, а потом его не стало. Для клиентов, информация заблокирована, бизнес несёт убытки.

                По-вашему, можно электронику жёсткого диска спалить и утверждать потом — а что такого, на блинах-то всё целенькое лежит. Меняйте контроллеры и считывайте.


                1. KivApple
                  25.11.2017 20:21
                  +1

                  Ну контроллеры являются собственностью заказчика, как и диски в целом. Так что их повреждение это плохо.


                  1. qw1
                    25.11.2017 20:26
                    +1

                    Тут вопрос, как это расценивать — как копеечное повреждение имущества или как уничтожение/блокирование информации.


                1. KivApple
                  25.11.2017 22:46

                  А как же вариант с переводом базы в RO? Доступ к информации полный сохранился, просто новая не добавляется через неоплаченный софт.


                  1. qw1
                    26.11.2017 10:17

                    В формулировке есть слово «несанкционированный». Если вы договоритесь, что будет RO, пока не заплатят, то пожалуйста ))


            1. DistortNeo
              25.11.2017 22:57

              Сомневаюсь, что контора вообще в суд подавать будет, если работа велась без договора или других юридически значимых свидетельств о её выполнении.


            1. quwy
              25.11.2017 23:56
              +1

              По вашей логике тогда и за триальную версию любой программы, которая через некоторое время прекращает запускаться, нужно сажать. Ведь к моменту прекращения работы юзер мог успеть и данные насоздавать, а окончание триала перекрывает к ним доступ.


              1. Stan_1
                26.11.2017 00:15

                Триал — описан в лицензионном соглашении, которое явно акцептует клиент. Если «таймбомба» была описана в лицензионном соглашении, и клиент такое соглашение акцептовал, то тогда такая «таймбомба» легальна.


                1. quwy
                  26.11.2017 03:13

                  Ну так кто мешает прописать пункт типа «автор не несет ответственности за неработоспособность контрафактного продукта»?


                  1. qw1
                    26.11.2017 10:22

                    А если софт человека убьёт (умышленно причём)?


                    1. quwy
                      26.11.2017 21:22

                      Как не работающий сайт или программа может убить человека?


                      1. qw1
                        26.11.2017 22:10

                        А почему для одной статьи УК надо делать оглядку на лицензионное соглашение, а для другой статьи УК лицензионное соглашение игнорируется? Вот строго формально, с точки зрения права, без оглядки на этику.


        1. KivApple
          25.11.2017 19:33

          Согласно 163 статье УК РФ, вымогательством считаются действия имущественного характера – требование передачи права на чужое имущество (самого имущества) под угрозой:
          • применения насилия (как неопасного, так и опасного для жизни и здоровья);
          • распространения сведений, которые могут причинить значительный вред интересам и правам потерпевшего или его близких;
          • повреждения или уничтожения чужого имущества.

          Угроза прекращения работы ПО не является ни угрозой применения насилия, ни угрозой распространения сведений. Имуществом же заказчика ПО станет только после оплаты, а до этого оно принадлежит автору. А владелец имущества имеет полное право портить его. Имуществом заказчика может являться железо и другое ПО, которое на нём крутится, но таймбомба может его никак не затрагивать.

          Так что под шантаж подвести данные действия тоже нельзя.


        1. KivApple
          25.11.2017 19:42

          Таким образом вставлять таймбомбы, которые приводят просто к прекращению работы части или всех функций ПО — законно. Не убирать их после оплаты — нарушение договора. Требовать дополнительную плату за убирание после основной оплаты — шантаж. Делать дополнительные действия, которые приводят к копированию, модификации или удалению информации заказчика (например, сливать базу пользователей к себе, сносить ОС, выводить из строя железо) — разработка вредоносного ПО. Делать функции, которые потенциально быть так использованы (но на практике их планируется использовать лишь для остановки работы неоплаченного ПО) — серая зона. В случае чего придётся доказывать, что никогда не стал бы делать ничего кроме остановки неоплаченного ПО. И вряд ли сможешь.


  1. Furriest
    24.11.2017 17:49
    +1

    По первой истории — а в отпуск у них, типа, ходить было не принято? Ну и в принципе про существование автоматизированных СКУД в Индии в окрестностях 1987 года меня терзают смутные сомнения.


    1. PapaBubaDiop
      24.11.2017 19:21
      +2

      N>20 (например, а не N!=0)


      1. Furriest
        24.11.2017 19:22
        +2

        «но потом они все же решили уволить его, в пятницу. И, конечно же, в понедельник утром система прекратила работать»


        1. PapaBubaDiop
          24.11.2017 20:30

          У хорошего программиста чтобы N поменять — по коду лазить не надо)) Особенно в пятницу)


          1. KivApple
            25.11.2017 19:36

            Если график отпусков тоже хранился в системе, то он мог обращаться к нему.


            1. askv
              25.11.2017 19:53

              А неожиданный больничный?


              1. staticlab
                26.11.2017 13:04

                … который должен был быть внесён в систему до начала рабочего дня понедельника, что практически нереально.


                Итого получается, что либо глава проекта интегрировал свою систему как минимум с актуальным календарём выходных и праздничных дней, табелем отпусков и больничных, либо автор заблуждается, и завязка была на БД сотрудников, либо глава проекта всё-таки не учёл нюансов, и система могла отключиться непредсказуемо.


                1. michael_vostrikov
                  27.11.2017 09:31

                  Либо просто активировал закладку в день увольнения.


                  1. staticlab
                    27.11.2017 10:23

                    Тогда вся история про хитровыдуманную проверку — выдумка.


                    1. semen-pro
                      27.11.2017 12:44
                      +1

                      Скорее всего, это для конспирации такие «подробности». Лишь бы история оставалась красивой.


                    1. michael_vostrikov
                      27.11.2017 14:17

                      Почему, там же не сказано, что он за 2 года до этого ее добавил.
                      Может даже и не в день увольнения, а как только руководство начало говорить о сокращениях. То есть за пару недель или месяц. А в проверке например стоит условие, прекращать работу если бейжд не регистрировали в течение 3 дней. Выходные учтены, а в отпуск он может и не собирался.


                      1. staticlab
                        27.11.2017 14:23

                        В отпуск-то может и не собирался, а если бы вдруг заболел на выходных, то на работе бы всё рухнуло, почему я и упомянул про "не учёл нюансов, и система могла отключиться непредсказуемо".


  1. vesper-bot
    24.11.2017 18:03

    История №4 — делал лично, правда, не под винду, а под FreeBSD 2.3, но потом потерял пароль от исходника (я его crypt'ом шифровал, чтобы не спалили) и не мог допиливать дальше. Но не потребовалось :)


  1. mwambanatanga
    24.11.2017 18:11
    +1

    Скрипт, добавляющий и удаляющий в сорцы комментарий для бесплатного использования pvs-studio, считается неэтичным? Проект опенсорсный, лицензия соблюдается. Просто не хочется осквернять релиз молитвой в адрес PVS.


    1. Andrey2008
      24.11.2017 21:29

      Да, это неэтично.

      см. Update в статье Как использовать PVS-Studio бесплатно:

      Update
      Возникло очень много рассуждений на тему того, допустимо ли добавлять и удалять комментарии в исходный код, чтобы бесплатно использовать анализатор. Мы считаем такой приём неприемлемым, так как он по факту является способом обхода ограничения, наложенного нами на бесплатную лицензию. Поэтому мы решили добавить следующий раздел в лицензионное соглашение:

      Вы имеете право использовать PVS-Studio бесплатно, добавив в исходный код своего проекта комментарии специального вида. Какие именно комментарии следует добавлять и как автоматизировать этот процесс описано в статье «Как использовать PVS-Studio бесплатно».

      Отметим, что данный режим не предназначен для оценки возможностей анализатора. Чтобы познакомиться с анализатором, вы должны использовать демонстрационную версию или запросить у нас временный лицензионный ключ.

      Вам следует вставлять комментарии, когда вы уже решили, что будете использовать анализатор на регулярной основе. Вы можете удалить в последствии эти комментарии, но можете сделать это только один раз.

      Не допускается многократное добавление комментариев в исходный код с последующим их удалением. Также не допускается многократное добавление комментариев с последующим откатом содержимого исходных файлов с помощью системы контроля версий. Такие действия направлены на обход условия, что исходный код должен содержать комментарии, и являются нарушением данного соглашения об использовании анализатора.


      1. gasizdat
        25.11.2017 10:12

        А что мешает каждый раз делать тестируемую ветку на основе мастера или иной ветки, где идёт активная разработка, автоматически добавлять в нее необходимые руны и скармливать анализатору? После чего ветку навсегда оставлять в гите как есть, ничего из нее не удаляя и не перезатирая. Таким образом, файр юз формально не нарушен, комментарии только добавляются и никогда не удаляются и не перезатираются. При этом релизится основная ветка, в которую ничего никогда не добавлялось.


        1. Hardcoin
          25.11.2017 12:48

          Особенность этики — вы можете придумать способ, который её обходит, делая вид, что ничего не нарушается.


          Но вы сами знаете, зачем вы придумали обходной способ — что бы нарушить. То есть вам самому-то видно, что нарушаете. А в суд на вас, конечно, подавать не будут.


          Так какой смысл нарушать хитро, а не просто многократным добавлением комментариев?


          1. mwambanatanga
            27.11.2017 08:11

            Начиная с Андрея, все путают нарушение лицензии (юридическое понятие) и неэтичное поведение (моральное понятие). Многократное добавление и удаление комментария в код не может нарушать лицензию, так как не относится к использованию анализатора (я могу запускать анализатор без комментариев, а могу добавлять комментарии без запуска анализатора).

            А то, что Андрей считает это неэтичным, меня не очень удивляет. Если почитать его комментарии, то любое действие, кроме покупки лицензии, для него неэтично. Нет, чтобы радоваться, что заведомо бесплатные опенсорс-проекты пользуются его продуктом…


    1. ZyXI
      24.11.2017 23:47
      +1

      В Neovim такое вместо trial’ьной лицензии было. Но я никогда не планировал использовать это в CI или не добавлять комментарии в master*, только именно вместо trial’а и только до того момента, как увидел уточнение, процитированное выше Andrey2008. Впрочем, код, автоматически добавляющий комментарии, до сих пор там, переделан из «нужен для запуска анализатора, делает своё дело в отдельном каталоге, создаваемым самим скриптом» в «нужен для изменения сгенерированных файлов в build (ну или если кому?то захочется вставить такой патчинг в git’овский pre-commit hook), делает своё дело в текущем каталоге».


      * Когда и если остальные разработчики согласятся, что использовать PVS — хорошая идея. Впрочем, никто против в итоге не был и реклама PVS на положенных местах сейчас красуется.


  1. dammer
    24.11.2017 18:13
    +1

    приложение на Visual Basic, которое эмитировало картинку входа в систему

    рукалицо) язык оригинала сохранён?))


    1. tandzan
      24.11.2017 18:40

      Там еще дальше

      Он работал по контракту с компанией над встроенной, используя ассемблер (это было в 1980-х).

      Видимо embedded так «перевели».


  1. HellMaster_HaiL
    24.11.2017 18:14
    +1

    Иногда прибегал к варианту №6, но не считаю это чем-то неэтичным или нелегальным. Если клиент не оплатил мою работу — он получал проблемы, если оплатил — получал патч с устранением бэкдоров. Лет 10-15 назад, занимаясь фрилансом, только такой способ казался самым надежным.


    1. AllexIn
      25.11.2017 15:37

      Тоже не считаю не этичным.
      Я предоставил демку проекта, она перестала работать? Ну да, бывает.
      Я не предупредил, что отдал демку? А я и не обязан. Проект не оплачен, значит условия договора не соблюдены. Как только оплатите — получите полную версию.


    1. bro-dev
      25.11.2017 20:13
      +1

      До тех пор пока оплаты нету, проект еще не перешел во владение заказчика, так что можно делать со своим кодом все что угодно.


  1. PapaBubaDiop
    24.11.2017 18:28
    +1

    У нас я ядерном центре был отдел системщиков. Которые писали OS под ЕС и СВС. Очень были умные и злобные ботаники. Один по фамилии Прохоров был особенно умный и злой. Разумеется вступил в конфликт с многочисленным начальством. В лихие 90-ые Прохоров со скандалом покинул ядерный центр и оказался в… Нью-Йорке, где до сих пор трудится. Сейчас такое невозможно.

    Ну ладно, ушел, но ведь он, подлец, оставил в недрах секретной операционной системы саркастическую статью о начальстве. С подробностями. Статья появлялась во всех папках и директориях.

    Специальные люди все чистили, но победить вирусный файл не смогли.
    С исчезновением ЕС и БЭСМ статья исчезла. А так бы до сих пор читали…


  1. MagisterLudi
    24.11.2017 18:42

    Я как-то в детстве начитался журнала «Хакер».
    Добыл я .bat файл, который убивает винду.
    примерно такой
    Назвал его типа doom2.bat и залил на дискету вместе с какими-то файликами для приятеля.
    Через пару дней приятель сказал, что винда грохнулась.
    До сих пор надеюсь, что это просто совпадение.
    И стыдно.


  1. askv
    24.11.2017 19:08

    Я как-то в университетском классе написал вариант 4, только для юникса (там, кстати, не было alt-ctrl-del). Меня админ как-то спросил: «а ты знаешь, что все sudo логируются?» я ответил, что знаю :) но мою прогу вроде никто не заметил, а потом и учебный год закончился…

    А в первом варианте непонятно, он ведь в отпуск или поболеть уходил наверняка…


    1. vesper-bot
      27.11.2017 11:38

      А ваша реализация умела обрабатывать Ctrl+D? Моя — нет :)


      1. askv
        27.11.2017 22:07
        +1

        Не помню уже. Я, помнится, ее несколько раз совершенствовал, поставил в скрипт при логауте, так что мне достаточно было зайти на терминал и выйти. Потом записывал ее в логаут-скрипт тому пользователю, чей пароль попадался. Один раз root попался, но залогиниться я не смог — то ли пароль был ошибочный, то ли кто-то подбирал пароль, то ли он его сразу же сменил — не знаю. Моя прога выдавала login incorrect и запускала системный login после первой же попытки ввода пароля.


        1. vesper-bot
          28.11.2017 10:46

          :brofist:

          Думаю, тот root сменил пароль сразу, поняв, что попался. Все-таки в то время админы уже были пуганые, а пользователи ещё нет :)


          1. askv
            28.11.2017 12:21

            Не знаю. Программу-то они не вычислили…


  1. mickvav
    24.11.2017 19:14

    Купил в детстве диск с кучей софта. Дистрибутив чего-то был запакован (авторами диска) в exe-шник, который требовал пароль. Но диалог, спрашивающий этот самый пароль, как оказалось, выводился каким-то интерпретируемым языком и исходник болтался в памяти и имел вид «if password='fasdfa' then ...». Ну, вы поняли.


    1. askv
      24.11.2017 19:17

      Ну давайте сейчас все кряки вспомним :)

      Дизассемблировали как-то с другом игрушку и оператор уменьшения количества жизней заменили на nop :)


      1. MagisterLudi
        24.11.2017 19:24
        +1

        Ну и хекседитом в фоллауте пару сотен тыщ опыта подкинуть…


        1. square
          25.11.2017 14:29

          Я помню, что подкручивал деньги, но продавцы в фолаче предпочитали бартер на вещи и только на деньги часто не соглашались, это было печально))


          1. MagisterLudi
            25.11.2017 15:14

            С «опытом», там и без вещей можно было с вертухи когтей смерти валить


    1. michael_vostrikov
      24.11.2017 20:06

      Встречал установщик CyberDVD, пароль можно было узнать открыв файл установщика в блокноте, небольшая строка читаемого текста в окружении кракозябр и пробелов.


  1. Meklon
    24.11.2017 20:43

    Я в классе информатики писал скрипт на DOS, который перед загрузкой выводил текст вида:
    «Some text. Press any key to continue»
    А набор текста был из вариантов:
    If you want to fuck for funny, fuck yourself and save your money.
    If you want to fuck the sky, you must teach your penis fly.
    Ну и в таком духе)


  1. PavelMSTU
    24.11.2017 20:46

    Я писал «нелегальный»/неэтичный код

    Вопрос некорректен. Если вы профессиональный ИБ-шник (пинтесер, "архитектор песочниц", вирусолог и т.д.), вы должны писать нелегальный код…


    И это не значит, что вы — негодяй...


    1. DaneSoul
      25.11.2017 04:58

      А почему код в данном случае нелегален-то, если он используется для тестирования защиты в благих целях? Это точно также как полицейский под прикрытием работает вполне легально, хотя теже действия для обычного человека нелегальны.


  1. SagePtr
    24.11.2017 20:53

    По поводу второй истории, обходил ограничение ещё проще: тупо скачивал procexp, на который не распространялись политики Windows.
    А из шутеек — писал программу, которая в каждую третью папку (рандомно) клала desktop.ini с идентификатором Корзины. В результате проводник Windows треть папок отображал корзинами и при их открытии открывал Корзину вместо исходных папок. Разумеется, рядом клал программу, которая удаляла это безобразие и возвращала всё как было.


    1. qw1
      24.11.2017 21:57
      +1

      А у меня на дискете была своя пропатченая версия taskmgr, с подправленной проверкой ключа реестра.


  1. fatronix
    24.11.2017 21:22

    Один раз писал закрытый софт, форкнутый из проекта, лицезированного по GPLv2, б`ольшую часть изменений в апстрим отправить не мог, т.к. на лицензию тогда обратил внимание слишком поздно.


  1. leschenko
    24.11.2017 22:27
    +2

    Будучи учеником в школе занимался брутфорсом (тогда еще не зная что это и думая что это я придумал такой способ) админской учетки. Пароль был слабым и взлом удался. Учитель заметил это (по логам), но ничего не сказал, т.к. собирался увольняться.

    Получив доступ к учетной записи администратора, модифицировал dll отвечающую за проверку пароля (любой пароль считался верным). Это была NT4 без всякий доменов.

    Весело было.


    1. SagePtr
      25.11.2017 15:07

      У нас в универе у одного из доменных администраторов пароль был 12345. Но как потом оказалось, можно было и не перебирать, Windows на контроллере домена был не пропатчен (уязвимость lsass, которую sasser использовал в своё время для заражения), что позволяло легко получить полный доступ. И это на математическом факультете.


  1. aosja
    24.11.2017 22:47
    +1

    Много лет назад работал в одной конторе. Когда решил уволиться, хозяин шаражки меня по-хамски кинул и з.п. не дал. Но, поскольку я что-то подобное предполагал, delpart был переименован в word.exe, excel.exe и т.д. и оставлен на память. Невесть какое программирование, но все же :)


  1. zenkz
    24.11.2017 23:12
    +1

    В школе писал нечто подобное истории №4, но не на VB, а на паскале и эмулировал не Windows, а окно ввода пароля БИОСа и помещал это в autoexec.bat. Так я узнал пароль от биоса (уже не помню зачем он был мне нужен).

    Также приходилось несколько раз писать тайм-бомбы для нерадивых/сомнительных клиентов.


  1. Isma
    24.11.2017 23:37
    +1

    Однажды автоматизировали одну крутую гостиницу. Но еще, гостиницей на работу был взят очень смышленый админ. Который быстро разобрался во всем устанавливаемом софте, правильно все организовал и далее весело проводил время, практически ничего не делая. Через 4 месяца после запуска руководство гостиницы озадачилось вопросом его «ничегонеделанья». По непонятным причинам решать вопрос переговорами руководство не решилось. Но зато подоспел удачный случай — украли с бухгалтерии 2 компа. Тупо через форточку. В этом был обвинен админ и даже привлекли «своих» людей из органов. Которые популярно объяснили админу, что либо он увольняется без последней зарплаты, либо будет дело и все такое. Админ был не дурак и в тех местах работа за ним сама бегала. Поэтому он уволился сразу.
    Каково же было удивление гостей (а там были и вполне известные народу личности в этот день), когда 31 декабря в 8 утра замки всех дверей открылись и карты перестали работать. А база ключей была зачищена. Само собой, базу к вечеру восстановили из бекапа, но новогодняя ночь была серьезно омрачена этим инцидентом. Ну а мы на поддержке за сверхсрочный вызов в праздник хорошо заработали. Была ли это «закладка» или админ оставил себе бекдор — мы не разобрались. Все было сделано чисто.


  1. VBKesha
    25.11.2017 00:23
    +1

    Самое неэтично что я писал, был попап для сайта который при входе на сайт предлагал вступить в группы в facebook и vk. До сих пор противно что я это писал.


  1. norlin
    25.11.2017 00:25

    Код не писал (хотя всегда было интересно), но однажды давно увёл номер аськи, который полностью совпадал с моим тогдашним номером телефона. В оправдание могу сказать, что сначала спросил владельца, пользуется ли он им. Ждал неделю.


  1. Alex_ME
    25.11.2017 00:34

    Не то, чтобы прям неэтично. Но вот в школе (да и потом иногда) много раз писал различные шутейки и подсовывал их. Чаще всего просто говорил, что это %cool program name%.


    • Сообщение при смещении курсора — положение курсора было изменено, перезагрузите компьютер, чтобы изменения вступили в силу. И обрезал область действия мышки этим окном.
    • Многочисленные имитаторы BSOD. Как-то с другом дали однокласснику, который был чайником, якобы MS Office, который устраивал потом перманентный "BSOD" при перезагрузке
    • Плавающие по рабочему столу Trollface'ы
    • Программа, которая по клику курсора делает в окне дырку с помощью WinAPI. Не все окна обрабатываются корректно, но прикольно
    • В школе писал полноценный троян с удаленной командной строкой и FTP. Можно было сделать много инстансов на разных компьютерах, список активных формировался. Поддержка работы из-под NAT. Правда, в отличие от безобидных шуток, которые антивирусы не замечали, Касперский на эту дрянь ругался сильно.
    • В универе от скуки на лабе написал vbs, который всегда выставляет в качестве обоев ВИD'а. Он долгое время проработал.
    • Мое любимое. vbs, который в цикле запускает свои копии. Такое экспоненциальное размножение забивает всю оперативку за считанные секунды. Остановить можно только по имени из консоли (если успеешь до того, как все повиснет), но неопытные пользователи пытаются через диспетчер задач — а там тысячи процессов. На одном компьютере сделал несколько ярлыков одной важной_для_учебного_процесса_программы и только один правильный. Остальные — скрипт. Разбросанные в разных участках замусоренного рабочего стола. Немного стыдно, но нефиг мусорить.


    1. abyrkov
      25.11.2017 23:36

      Дайте мне №3 :D
      Ну, а последнее — обычная форк-бомба


  1. ameli_anna_kate
    25.11.2017 00:38

    Делала лабу в универе, преподу не понравился результат одной из задач, все время один и тот же, цифре в правильном ответе полагалось не много меняться при каждом новом перерасчете. Я не помню точно, что в ней было, какие-то математические расчеты с вероятностями и точностью до n-го знака. Сама цифра выглядела правдиво, а разобраться в чем ошибка не хватало времени. Я просто добавила строчку, прибавляющую к предыдущему результату 0.000000001. Препод доволен, задачи сданы, а мне как-то не много стыдно.


    1. algotrader2013
      25.11.2017 15:09

      кстати, еще лайфхак — надо было в универе делать лабу с двумя алгоритмами — наивным и каким-то оптимизированным. Тот, что более сложный, никак не хотел правильный результат давать. Тогда в его предпоследней строке написали после точки с запятой 1000 пробелов, и return с вызовом наивного алгоритма.


    1. sotnikdv
      25.11.2017 17:34
      +1

      У меня была фееричная история, была семестровая лаба по электротехнике, куча вычислений с мнимыми числами. Я написал свой калькулятор, который позволял считать с точностью до 20 знака, в итоге баланс сошелся с точностью, по моему, до 15 знака, которые я, гордый собой, и указал после запятой.

      Старый пень просто не поверил, и сказал, что я его обманываю и ничего не сделал. Ни программу ни расчеты убедить этого старого хрыча посмотреть не удалось.

      Было очень много неэтичных мыслей.


    1. mickvav
      26.11.2017 22:48

      Может, это какой монте-карло был, а вы про srand не знали?


  1. KirEv
    25.11.2017 00:56

    из забавных развлечений, делали скрин рабочего стола, ставили как обои, а все ярлыки-папки, выделяя, с помощью клавиш курсора, удавалось сместить за зону рабочей области… кто не знал прикол — долго пытался разобраться что с мышкой… курсор «ходит», на левую кнопку не реагирует )

    еще баг в win xp до sp2 включительно было, позволял получить подключится через telnet, потом, как правило, инсталлился radmin как демон с названием процесса типо explorer.exe и кейлогер… бесплатный интернет от соседа, доступ к почте, к аккаунтам linega2 и т.п. :) было лет 10 назад… гордиться мало чем, но было весело :)


    1. askv
      25.11.2017 05:56

      Тоже скрин рабочего стола на обои ставили. Только скриншотились вполне конкретные ярлыки выхода в интернет, остальные оставались живыми :)


    1. domix32
      25.11.2017 13:31

      Преподавателей доставали тем, что делали скриншот из какой-нибудь Counter Strike или Quake3 в оконном режиме и ставили на фон. Иконки скрывались вместе с панелью


  1. Jogger
    25.11.2017 01:27
    +1

    Писать — нет, не писал. Взламывал программы, было дело. Но опять же, в основном для себя, только один раз для коллеги взломал демо-версию игры в шашки чтобы убрать ограничение времени на игру — и по совместительству это был самый сложный взлом, потому что в коде было штук 5 или 6 мест, в которых программа вываливалась, и при чём выход из программы был реализован каждый раз по разному, так что просто поиском одинакового кода или ссылок на одну точку выхода дело не ограничилось. Хотя всё это нелегально, но неэтичным я не считаю — если бы не взломал, я бы всё равно тогда не покупал эти программы, так что потери денег со стороны авторов не было.


  1. seregagl
    25.11.2017 01:37
    +1

    Во времена первых курсов института и первого опыта программирования, я жил в небольшом поселке, в котором была сеть из 15-20 домашних компьютеров. Так как интернет был в то время по талонам и аська была недосягаемой роскошью, мы с товарищем на borland builder написали ее убийцу. При первом запуске она прописывалась в автозагрузку и висела в трее. Популярность набрала за четыре дня, потому что ей было очень удобно звать друзей играть в контру, и в ней были прикольные смайлы.

    Первая версия работала через чтение/запись текстовых файлов по самбе, вторая узнала что такое tcp/ip, дальше мы вошли во вкус.

    Мы поняли, что новые фичи нужно дарить пользователям быстрее, чем они переустанавливают нашу программу — привет разработчикам браузеров из 2003, поэтому сделали функцию удаленного обновления программы. Дальше наше творение уверенными шагами шло в сторону того, что в мире софта принято называть бэкдорами: делать снимки экрана, удаленно запускать приложения.

    Возможность делать скриншот экрана на удаленной машине активировалась по нажатию секретной комбинации клавиш. Через пару месяцев информация о серетной функции раскрылась, и нам пришлось открыть его для всех. Друзья стали закрывать наш мессенджер после загрузки компьютера, нам это не нравилось и вдобавок это усложняло сбор команты в контре.

    Следующим апдейтом мы добавили возможность указывать каким пользователям ты можешь разрешать просмотр своего экрана, а каким нет.

    Через пару месяцев нас вычислили, что с наших компьютеров мы можем смотреть скриншоты независимо от ностроек приложения.

    Еще через несколько месяцев выяснилось, что при просмотре экрана на админской машине показывался один и тот же заготовленный скриншот рабочего стола.

    Продлилась эта история год или полтора до того момента, как у нас у всех появилась возможность использовать не повременку, а платить за интернет по трафику. Тут мы в конкуретной борьбе с AOL не устояли.


  1. marenkov
    25.11.2017 01:55

    Когда-то настраивал компы и сеть в одной организации. В качестве страховки установил две политики:

    1. пароли пользователей необходимо менять через 2 недели
    2. пользователи не могут менять пароли

    Оплату получил ровно через две недели ;)


  1. UA3MQJ
    25.11.2017 01:59

    История первая. Участвовал в разработке плагинов для программы выкачивания видео с сайтов. Пара всем известных обычных, и три видеохостинга с видео для взрослых. Супруга проходя мимо компьютера, ругала меня за то, что я не работаю, если не видела на экране обнаженных тел.

    История вторая. Участвовал в разработке покер проекта. Тоже было как-то неловко.


    1. algotrader2013
      25.11.2017 15:13

      Участвовал в разработке покер проекта. Тоже было как-то неловко.

      так а было что-то действительно неэтичное вроде ботов владельца рума или подкрученного ГСЧ?


      1. UA3MQJ
        26.11.2017 08:07

        Нет, такого не было.


  1. seregagl
    25.11.2017 02:05

    И вторая история. В институте мы сдавали довольно много тестов на компьютерах по изучаемым предметам. Обычно лекции в начале семестра нам давали в электронном виде. Если преподаватель ленился, то вопросы в его тесте были копипастой из лекций, достаточно было открыть документ, скопировать часть вопроса, воспользоваться поиском и найти нужную часть в лекции.

    Все тесты проходили в компьютерном классе, где кроме браузера не было ничего установлено. Мы с другом на все том же borland builder написали программу, в которую мы в ночь перед тестом заливали нужный файл с лекциями, выкладывали ее в интернет. В начале пары каждый качал эту программу, запускал ее и успешно проходил тест.

    Одного из нас спалили на скачивании программы. Закрыли доступ к интернету. Мы узнали, что хоть доступ к интернету закрыт, но работает доступ к внутреннему ресурсу, на котором выдавали доступ студентам для создания домашних страничек. У нас была самая лучая домашняя страничка! А рядом лежала свежая копия нашей программы, которую мы обновляли в ночь перед экзаменом, зачетом или аттестацией.

    Одного из нас спалили на том, что у него в ьаскбаре было открыто непонятное приложение. Наше приложение начало сворачиваться в трей.

    Одного из нас спалили, что в трее висит непонятное приложение. Наше приложение получило прозрачную иконку и функцию самоуничтожения после закрытия.

    Одного из нас спалил, что он нажимает на клавиатуре кнопки Ctrl+F (поиск), наше приложение получило интерфейс управления с мышки, без использования клавиатуры.

    Это была реальная борьба преподавателей нашей кафедры и админа интернет класса с нашей группой. Уже потом мы научились скачивать прошлогодние тесты и решать их заранее и подбирать пароли преподавателей. Считаю, что знания, полученные мной и моим другом при попытке хакнуть систему тестирования, дали мне больше чем половина лекций, которые нам читали )


  1. Viacheslav01
    25.11.2017 02:13

    Писал приложения для 1С на английском, вариантов спинерить мою работу или послать меня было не много :)


  1. Viacheslav01
    25.11.2017 02:22

    В институте, были закрыты многие сайты, а дотянуться до вожделенной нелегальщины очень хотелось. Был сварганен скрипт на перле и размещен на одном из первых бесплатных хостингов с CGI, локально был сделан скрипт на том же перле который выполнял роль прокси сервера, а запросы выполнял через первый скрипт. Так у меня был доступ к всему, что душа пожелает. Ни с кем не делился :)

    И да интернета было 64КБит на весь институт, доступ меня везде, не особо всех радовал.


  1. electronus
    25.11.2017 02:51

    Была система тестирования в ВУЗе, написанная зав. кафедрой информатики на С++ билдере. По результатам тестов выводилась форма на экран с результатом теста. Тестирующей оболочкой пользовались и другие кафедры. Набросал редактируемое окно с результатами теста на Дельфи, сделал сворачивание в трей, со значком Novell Netware, хранил на своем сетевом диске. Концепция была в конце теста предъявить «правильное» окно на экране, ну и с умным видом проходить тест.
    Еще, как-то написал на том же Дельфи звонилку, которая управляла 10-ю телефонами moto c380. Программа делала много рандомных звонков с безлимитных карт на список «правильных» номеров, за входящий звонок на которые начислялись деньги


  1. Cheater
    25.11.2017 09:56

    Им была преднамеренно встроена в код ошибка, которая проявилась бы только через год илидва. Сбой был прописан очень изощренно, поэтому проверка кода не выявила бы никакого злого умысла.

    И вот его контракт кончится. Система будет работать, а через год или два начнутся сбои. Никто не сможет устранить их, а значит, он получит еще один доходный контракт на устранение этой проблемы.


    И что, на код-ревью патча всё не вскроется?


    1. INC_R
      25.11.2017 15:59

      В множестве программ есть работа со временем, а с ним можно подобрать десятки способов все сломать через нужный срок, "случайно"выбрав не тот тип данных для хранения какой-то связанной с временем метрики, что через пару лет приведет к переполнению. Или "случайно" не учесть високосный год, который как раз через 2 года наступил бы. Согласитесь, вполне рядовые ошибки, патч будет безобидным.


      1. Cheater
        25.11.2017 23:55

        Это бы означало, что изначальная реализация, одобренная заказчиком, явно была говнокодом без использования библиотечных функций для работы со временем. Если так и было, то да, сами виноваты, патч внешне выглядел бы адекватно


        1. Chamie
          27.11.2017 15:20

          А часто ли заказчик вообще смотрит в сам код?


  1. gimntut
    25.11.2017 11:02

    В компьютерном лаборатории было всего 4 компьютера. И обычно их нам хватало. До тех пор пока не появилась игра в которой нужно было вырезать однотонный фон под которым была спрятана неодетая девушка. Игра была азартной, т.к. дальше 5-го тура редко кому удавалось пройти. Пришлось взломать эту игру, сделав вырезательную точку неубиваемой. Сколько же людей перестали играть эту игру потеряв к ней всякий интерес. Так я опять разгрузил загруженность компьютерной лаборатории.


    1. Mercury13
      25.11.2017 14:56

      А я сделал другое. Распознал формат и вывел всех на экран так просто.


    1. devop-su
      27.11.2017 10:20

      игра в которой нужно было вырезать однотонный фон под которым была спрятана неодетая девушка. Игра была азартной, т.к. дальше 5-го тура редко кому удавалось пройти


      Sex Xonix — аркадная игра, реализация игры Xonix с элементами эротики.
      Разработана Tankard Soft, Минск, в 1996 году.

      Авторы
      Код: Tankard
      Музыка: Doc/Prestige
      Графика: Kamikaze
      Alex Plusov

      в браузере:
      www.myabandonware.com/game/sexonix-2d2/play-2d2


      1. vesper-bot
        27.11.2017 11:44

        помнится, мой отец говорил, что все 10 уровней прошел. Я сам осиливал до 7-го… Ностальгия :)


      1. MagisterLudi
        28.11.2017 02:57

        а я тока хотел спросить что за игра :)))


  1. Loiqig
    25.11.2017 12:29

    Всякие студенческие шутки странно называть неэтичным/нелегальным так как это вообще очень сильно стимулирует и мотивирует процесс обучения. Третья история сильно выбивается из контекста, преподаватель молодец. Мне повезло у таких же учиться.

    Вторая половина 90-х, DOS ещё достаточно сильно распространён, кафедра программирования в колледже и 20 тинейджеров которые считают себя хакерами. Условия соревновательности зашкаливают, преподаватели это в достаточной мере поощряли, ругали конечно если уже совсем зарывались, но мы обычно между собой бились в основном и не переносили это на других студентов. И при этом мы частенько помогали местным сисадминам, чинить то что кто-то сделал по незнанию.

    Подсунуть сокурснику программу которая запишется в бут и сделает потом бабах или какой нибудь эффект, было вообще в порядке вещей. Оставить на компьютерах в классе резидент, который будет пищать при нажатии на клавиши или сменить знакогенератор и транслитировать все английские символы в русские. В общем весело было.


  1. Kwisatz
    25.11.2017 13:14

    В институте намотал цепочку из ярлыков на ярлык штук в 20 разных аудиторий на несколько кругов. Шутка в том что если удалить исходный файл и потом кликнуть на последний в цепочке ярлык то наступает эпическое веселье.

    Еще в школе быстро стал админом и сделал класс который грузился по сети при помощи линуха, посему там пакостить было бесполезно.

    Даже от написания казино не раз отказывался, не нравицо мне и все тут. Какая то видимо у меня вера неправильная)


  1. timelle
    25.11.2017 13:25

    Предлагали запилить хайп, который типа не хайп, а местная локализация крутой крипто-инвестиционной фирмы, но ни api, ни связи с разрабами «фирмы» у заказчиков не было. Отказался


  1. Keyten
    25.11.2017 14:38

    В детстве у меня не было своего компьютера, и я юзал компы родителей. Однако, поскольку им не очень нравилось, сколько я за ними провожу времени, они были запаролены, и мне разрешалось использовать их строго отведённое количество времени в присутствии родителей дома.

    Иногда случалось так, что я каким-то образом узнавал пароль, и, когда я на этом попадался, его меняли. Был у меня ещё Puppy Linux LiveCD, но на нём не хватало дров для интернета.

    Чуть позже, лет где-то в 13-14 я наткнулся на AutoIt, написал (и закинул в автозапуск) на нём простую программку, которая сидела в фоне, ждала открытия окошка с заголовком «Изменить пароль пользователя» (или какой там был заголовок в WinXP) и сразу же его закрывала.

    Она мне так и не пригодилась. Вскоре она сама меня начала раздражать висением в фоне (ничего особо из-за неё не тормозило, просто неприятно), и я её удалил. А ещё чуть позже мне и вовсе подарили тот ноутбук.


  1. rdc
    25.11.2017 14:47

    Первое вряд ли можно отнести к неэтичным. С волками жить — по-волчьи выть. Выкинули на улицу — расхлёбывайте)


  1. iit
    25.11.2017 14:56
    +1

    В институте написал простой скрипт, который сканировал сеть и выполнял удаленное выключение. Пару дней можно было наблюдать как в бешенстве туда сюда снуют местные админы. Потом они нашли меня шутника и заставили помогать с виртуальным сервером.


    Самое смешное что в этот институт потом пришел мой младший брат и тоже написал "веселый" батник который тупо создавал сложный расчет в бесконечном цикле, рассылался по сети и прописывался в автоспуск. В итоге windows даже не успевала загрузиться — скрипт тупо подвешивал компы.


    1. askv
      25.11.2017 17:09

      А я как-то сидел в университете на практикуме, завис комп. Я протянул руку к системному блоку, нажал ресет. Комп не перезагрузился. Я нажал ещё раз. Комп опять не отреагировал. И тут я заметил возмущенную соседку. Компы стояли в ряд так: комп-монитор-комп-монитор-…


      1. iit
        25.11.2017 20:48
        +1

        Тоже бывало пару раз, только чаще всего так выключали МОЙ комп с открытым редактором TurboPascal набранным но не сохраненным кодом.


        P.S
        Как выяснилось в универе сеть с компами студентов и сеть преподавателей / ректората / бухгалтерии / охраны не была разделена. И админы были в ярости из за того что регулярно ложился сервер 1с и комп секретарши декана. Так бы и в ус не дули.


        Так что люди
        1) Разделяйте сети по отделам и публичную для гостей или студентов огораживайте отдельно
        2) Делайте бэкапы и сохраняетесь чаще ибо ваш комп могут выключить, а теперь еще и зашифровать


  1. Mercury13
    25.11.2017 14:58
    +1

    А я делал «антигейм», который при вызове определённых программ (выяснялось по длине файла) писал: «Нужно работать, а не играть». Под DOS ещё. Чтобы согнать с компа одного геймера.


  1. Torvald3d
    25.11.2017 15:08
    +1

    Однажды, мы ездили на летний отдых от универа, нас заселили в маленькие домики с картонными стенами. Тогда наши соседи целыми днями слушали музыку с плейлистом из 15 песен, да так громко, что она нам надоела уже на следующий день. Чумачечая весна раз 20 за день играла.

    И вот, мы с другом побыстрому набросали программу, которая каждую секунду уменьшала громкость до 10%, а через 10 дней (когда мы уедем) открывала каждые 5 секунд на пару секунд на весь экран картинку, где чернокожие дяди делают неприличные вещи.

    Далее стучусь я в комнату к тем соседям и говорю: «У вас такая музыка классная, можно на флешку себе скину?» Да, конечно, вот ноут — сказали они мне :) Дальше все просто: вставляю флешку, кидаю ехе в автозагрузку, переписываю музыку и ухожу.

    Все последующие дни была тишина)


  1. saboteur_kiev
    25.11.2017 15:23

    В далекие времена я админил довольно популярный в СНГ mud сервер. Но понятно что мне тоже хотелось поиграть наравне с игроками. При этом, если бы кто-то знал кем я играю, никто бы не поверил что я, как админ, играю честно, не подрисовываю себе параметры.
    Поэтому приходилось играть анонимно.
    Кроме меня, в игре было несколько других гейм-мастеров, которым я выдавал права для поддержвания порядка на сервере, и у которых был доступ к некоторым админским командам. Было даже несколько человек, которые помогали мне писать код.

    Собственно я обсфуцировал часть процедуры подключения к серверу (важно было сделать так, чтобы никто не заподозрил, что там что-то спрятано), добавив процедуру, которая при выводе информации об игроках онлайн, выводило на моем персонаже, словно он подключен с удаленного сервера из другой страны. Таким образом удалось сохранить анонимность почти полгода =)


  1. Lord_Ahriman
    25.11.2017 16:09
    +1

    Когда работал лаборантом на кафедре, писал простенькую программу, которая при коннекте к vkontakte.ru и odnoklassniki.ru выводила алерт «спасибо за ваш логин/пароль», девушки очень быстро отучились сидеть в соцсетях на парах. Еще писал безобидную программу, которая выводила модальное окно в духе «Ваши руки ввели недопустимую команду и будут ампутированы» (естественно, не именно это, но в таком духе) и подкидывал ее на диски с приколами в школе, которыми с друзьями менялся.
    Сам один раз сталкивался с непонятной программой такого рода. Году в 2006 нашел диск с антологией игр по «Звездным войнам», там была долгожданная Empire at War. И после установки этой игры WIndows перестала показывать при загрузке логотип. Обнаружил, что на диске была программа BOOTDETRAHER.EXE (название въелось в память), дизассемблирование показало, что она прописывала в boot.ini параметры /noguiboot /nopae. Так и не понял, в чем был ее смысл — разве что напугать неискушенного юзера, что винда сломалась…


    1. Lord_Ahriman
      25.11.2017 16:17
      +1

      И еще забыл: тоже на кафедре никак не могли победить CS1.6 в одной из лабораторий, студенты откуда-то его постоянно тянули, а сеть отключить было нельзя. Писал программу, отслеживающую процесс игры и рандомно завершавшую его или имитировавшшую нажатия WSAD и ЛКМ. ИГрать перестали тоже довольно быстро.


    1. DjOnline
      28.11.2017 19:43

      Сейчас с https так не сделаешь.


      1. qw1
        28.11.2017 20:12

        Это совсем простая программа. Нужно следить за заголовком активного окна и ждать, когда там окажется браузер на определённой странице. После чего вывести MessageBox, простой пользователь не отличит его от alert из браузера.


  1. dartraiden
    25.11.2017 16:11
    +1

    В институте было всего лишь 8 доступных студентам компьютеров, подключённых к интернету, на весь факультет. Естественно, спрос был огромен. Занимая машину, студент записывался в журнал и через час его сгонял следующий желающий.

    Я написал небольшую программу, которая через 5-6 минут после запуска начинала творить непотребства с браузером, имитируя жёсткие висяки и глюки. Запускал её перед уходом, оставалось подождать эти самые несколько минут, чтобы занять освободившийся ПК ещё на часок.

    Ещё однажды обнаружил, что после ремонта одного из компьютеров у него остался незапароленным вход в BIOS. Вызов принят: в этот же день я вернулся с досовской дискетой, загрузился с неё, скопировал себе файл, содержащий хэши паролей, дома сбрутил пароль администратора. С этими уч. данными удалось войти на сервер факультета, где соблазнительно маячили папки, названные по фамилиям преподавателей. В одной из них лежало готовое решение довольно сложной задачи, которую нам как раз перед этим задали на лето. На некоторое время моя популярность в группе превысила все мыслимые пределы.


  1. F0iL
    25.11.2017 16:12
    +1

    Начало 2000-х. Первые провайдеры, предоставляющие интернет по Ethernet. Никаких безлимитов, 1 мегабайт трафика стоит 1 рубль 80 копеек. О том, чтобы скачать альбом в mp3, фильм или ISO-образ диска, даже думать страшно. Локальный трафик (внутри городской сети) тоже не безлимитный, но ощутимо дешевле — 5 копеек за мегабайт.
    У провайдера был локальный бесплатный хостинг для пользовательских страничек. Как выяснилось: 1) трафик с него тоже считается как внутренний 2) ftp-доступ на него открыт снаружи сети провайдера.
    «Неэтичной разработкой» был PHP-скрипт, накиданный за час, который стоял на шаред-хостинге одного знакомого, принимал в виде GET-запроса URL, скачивал его и заливал по ftp на «бесплатный локальный хостинг» провайдера, откуда файл уже можно было утащить к себе по цене внутреннего трафика.
    Учитывая, что место на бесплатном локальном хосте ограничивалось 20 мб на аккаунт, потом появились еще более навороченные версии скрипта, умеющие разбивать большие файлы на куски по 19.9 мб и заливать их на разные «подсайты». Доступ на FTP с внешки закрыли примерно через год.

    Прошло N лет. Безлимиток еще не появилось, но появилось такое редкое явление, как тарифы с учетом времени (как на диалапе, но это был все-таки уже Ethernet с доступом по PPTP) и лимитом скорости 128-256 kbit. Локальный трафик при лимитированном подключении тоже шейпился до этой скорости. Опытным путем (точнее, совершенно случайно) было выяснено, что шейпинг не работает между абонентами, подключенными в момент времени к одному и тому же серверу доступа (DRS), в итоге была написана программка, парсящая дебажный лог DC++ клиента, вытаскивающая оттуда IP-адреса, и делающая traceroute на них, чтобы по числу хопов найти людей, сидящих на том же сервере доступа — в итоге у них качать можно было на полной скорости (до 100 МБит/с в зависимости от района города), платя только за время — общая стоимость мегабайта трафика была в итоге гораздо меньше «легальных» 5 копеек за мег.

    Наше время. Собеседование в одну компанию, известную в своей сфере — обещали позицию в довольно интересном проекте. В первый рабочий день выясняется, что в том проекте поучаствовать получится попозже, а сейчас нужно заняться другой задачей. Задача была связанна с разработкой прошивки для устройства, обманывающего тахографы (устройства контроля на грузовиках и автобусах, чтобы водители не перерабатывали, не превышали скорость, и т.д.). Посидев пару часов, поизучав предметный вопрос, и поразмышляв над моральной стороной такого дела, просто встал и ушел оттуда, и больше не появлялся (трудовой договор, к счастью, в первый же день заключить еще не успели).


    1. MagisterLudi
      25.11.2017 16:28

      Уж больно знакомая первая история… про моего одногруппника…
      Только в моем «сценарии» был пранк от более «крутого хакера».


    1. dartraiden
      26.11.2017 16:03

      О, а у моего провайдера был форум с блогами, открытый с внешки, но с бесплатным трафиком «изнутри».

      Тоже арендовали внешний сервер, писали простенькую программу, которая отдавала серверу команду скачать файл, порезать его на куски, залить эти куски в виде скрытых постов с вложениями в блог. Трафика на отправку этих команд уходили копейки. Потом уже программа сама через нетарифицируемое соединение сливала всё это добро на локальную машину и склеивала.

      А когда уже появился безлимитный интернет (через 3G-модем), постоянные ночные разрывы соединения у «Билайна» сподвигли быстренько изучить nnCron и состряпать скрипт, который при разрыве искал кнопку «Подключить» в билайновской утилите и самостоятельно нажимал её. Стало можно спать по ночам :)


  1. JediPhilosopher
    25.11.2017 16:14
    +1

    Одна контора заказала у нас разработку системы + техподдержку на год, которая в общем-то и окупала весь проект. Оплата за подержку была поквартальная. И каждый, каждый квартал они вместо того чтобы заплатить куда-то сливались. Поэтому в проект был встроен набор подлянок, срабатывавших по-очереди через несколько дней после дня обещанной оплаты. Сперва отваливалось что-то по мелочи в адмнике, некритичное для клиентов но заметное для сотрудников конторы. С мыслью что они сообщат нам о баге и будут вынуждены все-таки погасить долг по техподдержке. Если же этого не происходило то где-то через неделю начинал отваливаться основной функционал и через две — переставало работать вообще все.
    Что характерно, к нам они обращались и выплачивали долг только тогда, когда все разваливалось окончательно, видимо надеясь до последнего сэкономить. Это повторялось раз за разом каждый квартал. Под конец этот цирк нам надоел, от продления контракта мы отказались. Сейчас выполняем для них только предоплаченные работы и доделки.


  1. DistortNeo
    25.11.2017 17:06

    Ни в школе, ни в универе ничего интересного у меня, к сожалению, не было.
    Максимум — создание ZIP-бомб и sparse-файлов, из-за которой местный антивирус сходил с ума.

    Сейчас немного шалю, вставляя в презентации скрины BSOD — неплохо оживляет аудиторию.

    Ну а из нелегальных проектов была разве что программа-бот для одной очень-очень популярной онлайн-игры. Помимо классических функций бота позволяла делать много всего, чего обычные игроки были неспособны делать: выбрасывать других игроков из игры (игровой клиент вылетал с ошибкой, причём для дружественных игроков был фильтр); заставлять игровые клиенты окружающих игроков ужасно лагать (аналогично для своих было противоядие); отслеживать положение любого игрока на карте (чтобы найти и убить его, потом ещё раз убить и т.д.); про автоматические игровые вещи и аналитику вообще молчу.

    За содеянное не жалею — это здорово подняло мой скилл программирования.


  1. eugenk
    25.11.2017 17:25
    +1

    История следующая. 2000-й год. Попросили сделать довольно сложный анимированный баннер на Flash (тогда ещё Flash 5 с ActionScript 1). Я взялся, но поскольку это у меня был первый опыт работы на таких условиях, а мужики показались немного мутноватыми, возникло опасение что не заплатят. Что я сделал. Создал сайт на narod.ru. Баннер обращался к этому сайту и считывал оттуда некий файлик. При ошибке чтения либо если содержимое было пустым, работа продолжалась нормальным образом. Если же файлик был не пуст, с того же сайта считывалась неприличная картинка и соответствующий текст, которые и показывались. Знакомый, с которым мы обсуждали это по аське и которому я показал как это работает, долго ржал. В таком виде работу и отдал. Слава богу мои опасения оказались напрасными и мужики честно заплатили. Но к «отражению агрессии» я был готов.


  1. sotnikdv
    25.11.2017 17:41

    У нас был замечательный преподаватель, который сделал типа тест по дискретной математике и стал использовать его вместо экзамена. Проблема в том, что руки у него росли из одного места и пройти его было невозможно, не зазубривая варианты, коих, собственно, не было. В итоге, народ стройными рядами уходил на переэкзаменовки, а некоторые и на вылет.

    Сдавал друг, предыдущая группа таки умудрилась спереть дискету с софтиной (ой, потерялась!), а мы ее уже немного подшаманили, что бы всегда был верным ответ №3 и умудрились всунуть обратно, типа комп сбойнул, перегрузился. Препод вернулся с дискетой и пока его отвлекли, дискету махнули.

    Смех в том, что преподаватель пришел, забрал эту дискету и, как я понял, использовал ее около года для всех групп. Потом кто-то или проболтался или «спалился».

    Я до сих пор считаю, что это был один из моих самых этичных поступков, несмотря на хак.


  1. x67
    25.11.2017 18:03

    Писал аутораны для собственных дисков с пиратскими ide, с которыми ездил на олимпиады по информатике. Там было все необходимое для ауторанов того времени — безрамочное окно, перемещаемое зажиманием, отдельное окошко с настройками проигрываемой музыки, кнопка в углу, выключающая эту музыку, ну и конечно же окно about.
    Также правил некоторые игры и программы с помощью дизассемблера, например убирал лимит предметов в игре «заработало», никогда не понимал, зачем они его добавили.
    Мелкие пакости как в тексте статьи тоже были, но у нас с компьютерами тогда было плохо, потому были они чрезвычайно редкими)


  1. RomanPokrovskij
    25.11.2017 18:26

    Много лет назад я дизасмом взломал GV и пользовался, а скоро Дмитрий умер uk.wikipedia.org/wiki/%D0%93%D1%83%D1%80%D1%82%D1%8F%D0%BA_%D0%94%D0%BC%D0%B8%D1%82%D1%80%D0%BE_%D0%9E%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80%D0%BE%D0%B2%D0%B8%D1%87. И теперь очень невкусно на душе, когда вспоминаю об этом.


  1. zmejserow
    25.11.2017 18:32

    У нас в университетском интернет-классе были отключены в биосе дисководы: то ли чтобы вирусы не плодились, то ли чтобы народ игрушки не приносил. Биос, разумеется, был запаролен.
    Набросал быстренько программу на асме, которая писала нолик в CMOS по адресу, где хранится CMOS checksum. В результате после перезагрузки биос радостно сообщал, что контрольная сумма некорректна, а настройки биоса сброшены в factory default (в том числе и пароль). Заходишь в распароленный биос, включаешь дисковод и можно жить, главное, не забыть отключить дисковод после себя. :)

    Не на всех машинах, однако, был ассемблер, чтобы собирать выполнимый COM-файл. Не беда: полученный COM был записан в виде десятичных кодов на бумажку. Процедура разблокировки выглядела так: открываешь текстовый редактор, с помощью Alt+код_на_numpad'е набираешь байты с бумажки, записываешь получившуюся абракадабру как .COM-файл, запускаешь.


  1. vlreshet
    25.11.2017 20:17
    +1

    Когда жил в общаге и мне приносили ноуты (поставить винду, что-то настроить, и т.д.) — смотрел ловит ли их ноут их вайфай с моей комнаты, и если да — срисовывал пароль себе. В итоге всегда были пара «резервных» вайфаев на всякий случай)


  1. demonit
    25.11.2017 21:42
    +1

    ну были и более безобидные, но не менее прикольные варианты — например такой:
    делался скриншот рабочего стола, полученная картинка ставилась фоном на рабочий стол, а все ярлыки на нем удалялись в том числе «Мой компьютер», Корзина и пр.
    Эффект был очень прикольный :)


  1. Muzzy0
    26.11.2017 11:57

    Ещё в прошлом тысячелетии я учился в 10 классе. У нас был компьютерный класс из XT-шек, Turbo Pascal и библиотека, где я систематически брал Питера Нортона — «Персональный компьютер IBM и оперционная система MS-DOS». Изучал прерывания, осваивал команду TSR.
    Написал и закинул в autoexec программку, которая по ряду случайных условий обнуляла вектор прерывания 21h :)
    Резиденты на паскале выходили изрядно жирными для 640 кб…
    Творение моё отлавливали, удаляли, я ставил снова :) Никак особо не прятал, поэтому зачистить было несложно.


    1. askv
      26.11.2017 16:28
      +1

      У меня как-то был дисковод, который глючил при перемещении головки больше чем на одну дорожку. Пришлось написать резидента (на асме) который каждый запрос на перемещение головки транслировал в несколько запросов на перемещение головки по одной дорожке за раз. Тарахтело знатно :)


  1. alix_ginger
    26.11.2017 15:55

    Один мой друг в школе добавил в autorun.bat всех компов, до которых мог дотянуться, команду типа cat file.txt >> file.txt (не знаю, как это по-виндовски). В итоге при каждой загрузке файл file.txt увеличивался вдвое.

    Другой мой друг, опасаясь, что заказчик его кинет, добавил в крон еженедельный патч Бармина (), если не существует какой-то файл. В итоге, заказчик его кинул, и патч сработал — от заказчика он ничего после этого не слышал.


    1. Ugrum
      26.11.2017 16:02

      В итоге, заказчик его кинул, и патч сработал — от заказчика он ничего после этого не слышал.

      Не автопилот ли не был оплачен?


  1. Ugrum
    26.11.2017 16:01

    del/промахнулся веткой.


  1. Lucidus
    26.11.2017 23:19
    +1

    Тоже в начале распространения интернет-кафе (комп. клубов) и ввиду своего нищебродства был вынужден сносить клиент. Машины были собраны на базе Duron 600 и 800 под Win98. Клиент-сервер был малоизвестного местечкового мастера.
    Сочетание Win+E не было залочено. При длительном удержании в фоне открывалось большое количество окон проводника. ОЗУ сжиралось под эти окна и вываливалось сообщение о нехватке ОЗУ с сворачиванием клиента и доступом к диспетчеру задач. Ттттаа-даааам! (=


  1. motomac
    28.11.2017 06:30

    В университете проводили онлайн-голосование за лучшую аудиторию. Голосовалка была без всякой защиты от накруток, и каждый факультет накручивал своей аудитории космические цифры с помощью F5. Мне это показалось очень глупым, потому я сделал скрипт, который уравнивал количество голосов для всех аудиторий. Правда, не учел я нагрузки, создаваемой таким потоком запросов, и сервер довольно быстро нахлебался. К слову, и голосование после этого инцидента было прекращено. Как оказалось, оно было сделано просто для виду. Этим и объяснялось отсутствие всякой защиты. Но за падение университетского сервера до сих пор стыдно.


  1. monah_tuk
    28.11.2017 07:30

    Школа, C++ Builder 4.0, Win 98, хотя 95 OSR2 тоже страдала. В винде было ограничение, что-то около 2^16 хендлов для окон. Программа записывалась при старте в реестр (механизм запуска я уже не помню, точно что-то было с autorun.inf, но было и что-то ещё, вроде маскировал под какую-то шуточную хрень, по типу как это делают трояны /сначала запускается троян, а потом оригинальная программа/) в автостарт. Скрывала себя в запущенных процессах. После определённого числа запусков активировалась: сначала двигала лотком CD-ROM, а ещё через некоторое время начинала создавать свои окна размером в пиксель и выключенным заголовком, в результате хендлы кончались и Windows благополучно уходила в BSOD.


    Пострадал компьютерный класс, и несколько людей вне его. Но почему-то не стыдно :)


    1. monah_tuk
      28.11.2017 07:39

      На уроках экономики (была в школе) играли в какую-то игру. Доступа к ней у нас не было и препод очень не хотел нам её давать. В результате была проработана спец-операция основанная на социальной инженерии и фейковой программы, позволяющей записать больше объёма данных на дисткету, чем она позволяла, программа выводила много страшных системных сообщений, повествуя о инициализации своих подсистем, а тем временем копировала игру в скрытую папочку на этой же дискетке. Игрой разжились, но интерес её запускать и использовать сразу угас :) Инструменты: мозг, социальная инженерия, Borland C++ 3.1. Всё дело было под DOS 6.22.


    1. monah_tuk
      28.11.2017 07:42

      Способом подобным выше сграбил учётные данные для корпоративного dial-up в одной конторе, дело на первых курсах универа. Правда дело уже было под Win 98, инструмент Borland C++ Builder 4 или 5.


    1. monah_tuk
      28.11.2017 07:47

      В универе был компьютерный цетр (или центр доступа в интернет). После 19.00 туда можно было звонить модемом и, используя свои учётные данные, подключаться к серверу. Было ограничение на 2 часа в неделю на аккаунт. Различными способами было раздобыто несколько аккаунтов. Кроме того, было понято две вещи: биллинг отрабатывает с задержкой, поэтому если перезванивать быстро после разрыва, то можно подключиться, даже если лимит исчерпан, более того, было обнаружено, что если не рвать связь, то сервер со своей стороны этого тоже не делает.


      Были подняты скрипты автодозвона (привет Linux!), потом пользовался links/lynx, а после осилили пробросить порт сквида и уже сидеть в интернете из браузера на своём компе.


    1. monah_tuk
      28.11.2017 07:52

      Ну и не совсем легальное, но не сильно хакерское.


      Провайдер давал два варианта доступа в интернет: глобальный и локальный. Первый стоил дорого, второй сущие копейки, особенно в выходные (Дальсвязь, если кто помнит/знает: guest/guest и primorye/primorye). Но второй давал доступ только к ресурсам сети Дальсвязи и никуда более.


      Друг подрабатывал админом в компании, сайт которой крутился на своём "сервере", а для выхода в интернет они пользовались услугами Дальсвязи. Естественно этот сервер был доступен в локальных ресурсах. С другой стороны с него был доступ и в глобальный интернет. Простой прокси помог, а друг дал к нему доступ. Проблема с интернетом была решена вплоть до появления первого ADSL на 64к с фиксированной ценой, которая получалась существенно ниже использования глобального доступа у провайдера и, что более ценно, не занимало телефон.