1. Куча / Говнокод #15278

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    http://www.youtube.com/watch?v=swAEcc9JX4Q
    
    (автор пишет троян на дельфях, и комментирует)
    
    убила фраза:
    
    "...реестр[...]. Так как в линуксе все по-другому, Вы должны быть уверены, что ваша программа запускается на Windows"

    убила фраза:

    "...реестр[...]. Так как в линуксе все по-другому, Вы должны быть уверены, что ваша программа запускается на Windows"

    Запостил: Stertor, 01 Марта 2014

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

    • этоже ты на видосе, ебаный стыдъ
      Ответить
      • иди на хуй, петухоид!
        Ответить
        • твой удел на хуях прыгать
          Ответить
          • Мой удел лечить таких как ты, к сожалению.
            Ответить
            • У меня для тебя плохие новости,к сожалению школьникам это не доступно
              Ответить
              • Пациентов в нашей больничке пренимают вне зависимости от возраста, мой сладкий. Так что приходи. Вернее, приезжай.
                Ответить
    • Ответить
      • См. видео. хотя бы первые три минуты.
        Ответить
        • Давным-давно, после одного инцидента, я пообещал себе больше никогда не связываться с разработкой вирей. Так что вломы смотреть.

          Ну и вполне логично, что код не пойдет в линухе даже под wine. Троян же все-таки должен юзать много платформозависимых фишек и хаков, чтобы выживать и выполнять свои задачи...
          Ответить
          • Вы все правильно решили. Я плюсанул Ваш пост.
            Ответить
          • после анальной кары?
            Ответить
            • Не, анальной кары не было. Вирус никому не навредил, т.к. был совершенно безобидным proof of concept'ом который ничего не удалял и не воровал...
              Ответить
          • >Ну и вполне логично, что код не пойдет в линухе даже под wine.
            С чего вдруг?
            Ответить
            • Ну как минимум - в wine, емнип, не работают ключи автозагрузки.
              Ответить
      • wine в ахуе будет от этого трояна
        Ответить
    • Этот говнюк не форматирует код!
      Ответить
    • В конце шестой минуты хохма про незакрытый сокет и БСОД :)
      Ответить
    • Блин, все-таки решил посмотреть... давно я так не смеялся...

      "Первым делом мы убираем форму" // без комментариев

      "HKLM/Software/Microsoft/Windows/CurrentVersion/Run" // нахрена для рисковать с HKLM, если есть аналогичная ветка в HCCU? :)

      "Чтобы юзер ничего не заподозрил, нам надо дать записи имя windows update service"

      "ExtractFilePath(Application.ExeName )" // это же отрежет имя экзешника и ничего работать не будет? Я прав?

      "Компонент ServerSocket" // эпично! троян с сокетом, лежащим на форме

      "Это число должно быть меньше 1000" // в винде за порты меньше 1024 по рукам не дают, если ты не админ?

      "Если windows будет завершать работу, а сокет не будет закрыт - windows может выдать синий экран смерти" // не, ну я знал, что винда решето, но чтобы настолько...
      Ответить
      • >>ExtractFilePath(Application.ExeName)
        получит имя абсолютного пути к своему модулю, с завершающим слэшем.
        Ответить
        • Application.ExeName - 'c:\program files\trojan\trojan.exe'
          ExtractFilePath(Application.ExeName) - 'c:\program files\trojan\'

          Как-то так же будет? Оно же не стартанет из автозапуска, т.к. имя экзешки отхерачили...
          Ответить
          • Именно. Ну и дурак. Надо было указать прямо - application.exename, а он еще извратился с извлечением пути.
            Ответить
            • касперский с вас рыдаетъ
              Ответить
              • А чтобы не рыдал, можно загнать тело *.exe в vbs-ку, в виде xor-шифрованной константы с ключом(эвалим, батенька мой, эвалим!..), и прописать в автозагрузку. Хуй, кто удалит.
                Ответить
                • > прописать в автозагрузку
                  Проактивка поймает. Как ты виря не шифруй, а в реестр и API придется передавать реальные пути.
                  Ответить
                  • Проактивка у большинства юзеров выключена, так как неумерно ебет мозг своими сомнительными сообщениями. Разве что, у единичных параноиков она работает, но таких людей на моем веку видено не было. А так - да, глупо спорить.
                    Ответить
                    • Вообще, добавление в автозагрузку - вредный атавизм, так как сосадмин с немытой головой сразу полезет туда.
                      Ответить
                    • Проактивка всегда включена.
                      Ответить
                      • Сочувствую ;(, но понимаю, когда покупаешь узурпатора за ~3000 тыс. руб., хочется, чтобы он хотя бы вид делал, что защищает комп.
                        Ответить
                      • Вири - это АоЕ, и будет достаточно юзеров, у которых она выключена.
                        Ответить
      • >в винде за порты меньше 1024 по рукам не дают, если ты не админ?
        Не-а, только в ваших питухах.

        >не, ну я знал, что винда решето, но чтобы настолько...
        Оче толсто.
        Ответить
    • Зачем создвать серверный сокет? Он же все равно с 95% вероятностью будет за натом
      Ответить
    • показать все, что скрытоВообще-то, это ты с ебанцой - у кого-то на "Linux`e" может быть установлена тема оформления, имитирующая "Windows". Так что открой ротик и вбери в себя армаду сомалийских фаллосов, индивидуалка.
      Ответить
      • Это в вашем виндосе установлена программа имитирующая консоль. А Линуксу нахуй ненадо чего то там имитировать, в нем своих менеджеров хоть жопой ешь. А Вашей винде есть что нибудь кроме експлорера?
        Ответить
        • http://holywars.ru/comments/60
          Ответить
          • Благодарю тебя, брат мой. Ты обеспечил меня пищей до самой глубокой старости, до самой смерти, и после нее.
            Ответить
          • >У Microsoft агресивная маркетинговая политика. Мне не нравится предустановленный софт на железе, за который я вынужден платить
            Так не плати, еба.
            > и не нравится навязывание IE.
            Мне он тоже не нравится, и я им не пользуюсь, более того, не знаю людей, которым им пользуются.

            >Так же весь нормальный софт под ОСь Вин платный, под никсы - нет.
            Толстовато. Вспомнил бы адваре и тулбары - было бы не так толсто, а так увы. Это про андроид скорее.

            >Так же я не хочу использовать ОС виндувз, потому что не хочу делать свою машину чьим-то ботом, или чтобы мои пароли ушли "налево".
            Ты соснул http://habrahabr.ru/post/213973/ , алсо угадайте, с какого ботнета просканировали весь ipv4? Ага, с линупсрутеров.
            Ответить
            • Документация по программирований для Флеша переведена на что-то типа 12 языков (в том числе и на Русский).
              (что, как вы наверное догадались, не делает Флеш замечательной средой для программирования).
              Ответить
              • Флеш, в отличие от дотнета, весьма ограниченная среда.
                Ответить
                • плять я может щас когонибудь при кормлю но всё жескажу. С какого хуя плптформа ограниценая одной осью типа дотнета не ограничена. (Моно можно не упоминать это такое говнище как и open JDK.) флеш умеет на большом количестве платформ.
                  Ответить
                  • >С какого хуя плптформа ограниценая одной осью типа питона не ограничена.
                    Пофиксил.

                    >(Моно можно не упоминать это такое говнище как и open JDK.)
                    Ну если не трогать гуй, то должен работать, скажем сервер по идее можно на нем запустить. А что с openjdk? А как же заветы штольмана?

                    > флеш умеет на большом количестве платформ.
                    Да? Ну напиши мне на нем сервер/IDE
                    Ответить
          • >naxellar 16-04-2009 18:42 +7
            >На технологии Microsoft написана наилучшая документация. Программировать под Windows - одно удовольствие.
            Вендотехнологии, наверно, единственные с локализованной документацией.

            http://holywars.ru/comments/60#comment_586
            Вот тут действительно толсто

            >curlyangel 16-04-2009 19:16 +10
            >я девушка и мой аргумент простой: windows красивее :) особенно Win 7 - очень клевый!
            Ну тут все понятно, на линупсе одни бородатые свитерасты.
            Ответить
            • А линупсовые Кеды не только красивы, но ещё и кастомизируемы. Не говоря уже о всеобщем разнообразии гуёв в этой оси...
              Ответить
              • > всеобщем разнообразии недопиленных гуёв в этой оси

                fixed
                Ответить
                • кто не допилен ? вот юзаю гном 3 на порядок лучше експлорера.
                  Ответить
                  • сам сижу на gnome 3.8

                    canonical со своей unity - мудаки. только всё начало более-менее нормально работать в 13.04, так они в 13.10 ввели новый апплет для переключения языков. КОТОРЫЙ НИХЕРА НЕ РАБОТАЕТ И ЕГО ХЕР ПОЧИНИШЬ

                    Gnome - мудаки. Постоянно ломают обратную совместимость. К примеру, в 3.10 не работает куча шелл-экстеншенов, которые прекрасно работают в 3.8 (мой любимый pixel-saver, например). Да ещё и systemd в зависимости запихнули. Эпик.

                    Зла в общем не хватает.
                    Ответить
                    • лалка. что ты против systemd имеешь? консерватор.
                      Ответить
                    • > КОТОРЫЙ НИХЕРА НЕ РАБОТАЕТ И ЕГО ХЕР ПОЧИНИШЬ
                      Х.з. у меня не работает только в окне разблокировки экрана - приходится мышкой тыкать для переключения на инглиш. В остальных местах - пашет.

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

                      ЗЫ. почитал systemd годная штука.
                      Ответить
                      • > пусть лучше ломают обратную совместимость чем тянут её со времен динозавров

                        Ладно бы они ломали её между мажорными версиями. Это было бы приемлимо.

                        Но я вот захотел недавно кой-чего законтрибьютить в гномье приложение. Так оно требует по сути транк гнома и gtk, недоступные даже в последней версии ubuntu. Ну а как выглядит и ведёт себя gnome 3.10 в убунте 13.10 лучше забыть как страшный сон.
                        Ответить
            • >наверно, единственные с локализованной документацией.
              Которую невозможно читать в переводе, т.к. похоже переведена промтом.
              Ответить
              • Ну апидок там вовсе не промптом переведен.
                Ответить
          • >deniska 16-04-2009 21:59 +17
            >Для стандартной домохозяйки, для которой яндекс и одноклассники — весь интернет, не играет особой роли ОС, стоящая на компьютере.
            Знакомый аргумент. Тем не менее, когда что-то сломается, домохозяйка будет искать себе того, кто поможет - и как вы думаете, кого проще будет найти?"

            >К такому «домохозяечному» линуксу стремятся дистрибутивы для нетбуков (xandros, linpus, ubuntu netbook remix). Наверное на десктопе они будут смотрется очень хорошо.
            Наверное? Ага, то есть ты, сука, их даже в глаза не видел, а предлагаешь впаривать их людям?
            Ответить
          • >blacktass 16-04-2009 22:29 +12
            >под линухом гораздо удобнее работать и писать под него сплошное удовольствие...нету этого извращенного винАПИ
            Ты в 2009 пишешь под винапи? ССЗБ

            > spiff 17-04-2009 18:34 +6
            >никто еще не написал самого главного аргумента, благодаря которому сейчас тут и там все переходят на линукс. Он - бесплатен! (линуксоид, читай как "свободен")
            Штольман перевернулся бы в гробу (что? он еще жив? Извините). Алсо стоимость винды по сравнению со стоимости обустроенного рабочего места - это такая хуйня...
            Ответить
            • Штольман перевернулся бы в гробу, где я его видел. Так правильнее.
              Ответить
          • >ftynse 17-04-2009 18:57 +16
            >Мне вот интересно, сколько из голосующих за коммерческую операционную систему и коммерческое по под нее действительно _купило_ ее.
            >И стоит ли чего-то голос людей, нарушающих соглашение использования своей ос? ;)

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

            >PS веду разработку и бета тестирование для Symbian на чем при этом не плохо зарабатываю!!!
            Некрофил в треде, все на выход.

            >HiAndy 10-07-2009 15:20 +1

            >svin: Вот именно!

            >Спросил недавно у друга, который сервера под юниксом админит уже лет 10, какой линукс ставить себе. Так он ответил: "Ставь Виндоуз7, оно до следущего августа бесплатное, надо быть душевнобольным, чтобы систему изначально заточеную под сервера ставить на рабочую станцию."

            Адекватный админ, чо.
            Ответить
            • >Адекватный админ, чо.
              Виндовз "изначально заточенную как надстройка над мс дос" ставят же себе на компутеры. Ну не олени ?
              Ответить
              • >Виндовз "изначально заточенную как надстройка над мс дос"
                Как там в коме с 90х? Сколько можно уже эти сказки рассказывать? Надстройкой была 3.11, уже 95 была полноценной осью, а из NT многие фишки доса, угрожавшие стабильности, вроде поддержки дос расширителей, выпилили нахуй.

                Иногда таки кажется, что линукс - это форма слабоумия.
                Ответить
                • Ядро линукса 90 годов тоже было под сервер. Все давно те времена прошли когда линь признавался только на серверах. Я юзаю линь 90% времени и у меня он не падает удобный быстрый. Я не ковыряю конфиги линя, и признаюсь я даже не разу ничего под него не собирал.
                  Ответить
                • 95 состояла из двух частей: модифицированный ДОС плюс надстройка над ним.

                  NT — да, полноценная система. Расскажите подробнее, что там произошло с дос-расширителями.
                  Ответить
                  • 95 - это не настройка над досом. Она имела слегка порезаный дос в составе, но сама работала без него (что такое защищенный режим - в курсе?).

                    >Расскажите подробнее, что там произошло с дос-расширителями.
                    Они переводили проц из реального режима (в котором он работал в досе) в защищенный, в котором можно было адресовать больше метра памяти. win9x уже сама работала в защищенном режиме и расширители работали через костылик. Тем не менее, повисон программы с дос расширителем гарантированно заканчивался зависоном системы, поэтому из NT его выкинули нахуй. Подробнее - в гугле и книжках по асму (тот же Зубков).
                    Ответить
                    • Да нифига там не порезанный ДОС. Наоборот, даже несколько новых функций добавили. И без IO.SYS загрузить маздайный VMM возможности не было, так что без ДОСа маздайка не работала.

                      Про то, что делали расширители, я в курсе. Запускал программы, основанные на dos4gw, из Windows 98, зависонов не было. Зависали только программы, использующие видеорежимы SVGA, если стоял родной видеодрайвер от S3 Inc. После замены видеодрайвера на микрософтовский ничего не висло.

                      Я и в Висте запускаю программы для DPMI. У меня всё работает, что я делаю не так?
                      Ответить
                      • Порезаный в смысле свободу творить хуйню порезали, например, можно обращаться не ко всем портам ввода-вывода (вот что еще наверняка убрали в NT).

                        >зависонов не было
                        Если висла игра с дос расширителем - висла и винда.

                        >Я и в Висте запускаю программы для DPMI.
                        И?
                        Ответить
                        • > можно обращаться не ко всем портам ввода-вывода

                          ЩИТО? Голый IO.SYS из Windows 95/98/Me до загрузки VMM работает в реальном режиме и доступ к портам ввода-вывода не ограничивает. Для программы эта штука неотличима от других досов, если не пользоваться недокументированными функциями.

                          А после загрузки Винды (когда режим процессора переключится в защищённый) — да, программу пустят только к тем портам, которые поддерживаются VXD-драйверами (работающими в нулевом кольце), ибо за доступ к железу из третьего кольца программа будет казнена через матумбу. Но то же самое было и в Windows 3.x.

                          > вот что еще наверняка убрали в NT

                          Здесь слово «наверняка» имеет оттенок утверждения или неуверенности?
                          Ответить
                          • > можно обращаться не ко всем портам ввода-вывода
                            Дос проги из под винды имеют доступ не ко всем портам.

                            >Здесь слово «наверняка» имеет оттенок утверждения или неуверенности?
                            Я не системный программист, ёба. Когда-то читал Зубкова, можешь и сам прочесть.
                            Ответить
                            • > Дос проги из под винды имеют доступ не ко всем портам.
                              А разве вообще имеют? Там же походу тупо эмулируются эти порты по protection fault'ам.
                              Ответить
                              • Имеют.
                                Ответить
                                • Я просто оставлю эту ссылку здесь:
                                  http://www-user.tu-chemnitz.de/~heha/vxd/vxd.htm

                                  Для Windows 95/98/Me вместо «WIN386.EXE» следует читать «VMM32.VXD», всё остальное со времён Windows 3.x сохранилось без существенных изменений.

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

                                  В Windows NT немного по-другому, потому что там нет VXD. Там NTVDM эмулирует железо.

                                  P.S. В общем, в официальном Windows DDK всё есть.
                                  Ответить
                            • В доказательство правоты Борманда сообщу, что досовскую программу можно в Винде запустить в оконном режиме. Поскольку у ДОСа вообще не было функций для графики, то досовские программы напрямую писали в порты ввода-вывода и в окно видеопамяти. В этих условиях заставить программу работать в окошке можно, только если перехватывать обращения к портам и к определённым диапазонам адресов памяти.

                              Вывод: досовская программа лезет в порт видеокарты и нарывается на исключение → драйвер ловит это исключение и добавляет пиксели в GDI. По-другому ресайз и перемещение окна с графикой не реализовать.

                              Возвращаюсь к фразе: «Она имела слегка порезаный дос в составе». Так вот, ловля исключений при обращении к портам — не новшество Windows 95. Так было и в Windows 3.x, и в OS/2 VDM, и в DOSEMU под Линуксом, и в Desqview — в любой среде, работающей в защищённом режиме. Количество поддерживаемых портов ввода-вывода не имеет ни малейшего отношения ни к функциям ДОСа, ни к тому, был ли ДОС вложен в эти среды (как в NT, OS/2, DOSEMU) или эти среды запускались из него (как в Windows 3.x, 95, Desqview).
                              Ответить
                              • Разве все обращения ловились? Порт клавиатуры, по крайней мере, читался на ура.
                                Ответить
                                • А если у меня usb клавиатура, то что, досовские проги не будут работать? И когда работает досовская прога - она пожирает все глобальные хоткеи, включая alt-ctrl-del?

                                  Всяко оно эмулируется по protection fault, вот всяко...
                                  Ответить
                                  • >А если у меня usb клавиатура, то что, досовские проги не будут работать?
                                    Не знаю, проверь. В то время, когда это писалось, я про usb даже не знал толком, что это такое.

                                    >И когда работает досовская прога - она пожирает все глобальные хоткеи, включая alt-ctrl-del?
                                    Ты не понимаешь, как работать с клавиатурой на уровне портов.
                                    Ответить
                                    • > Ты не понимаешь, как работать с клавиатурой на уровне портов.

                                      Давно это было, нихера уже не помню по этим портам... Но судя по тому, что я дергал порт 61h после прерывания - в 60h действительно валяется последний байт, прилетевший с клавы. Так что, походу, ты прав.

                                      Но неужели в винде досовской прогой можно невозбранно снифать клавиатуру, даже если прога сейчас не в фокусе, или вообще запущена под другим юзером? :) Вот решето то... Ну не верю я, что в винде сделали такое говно, не верю. 146%, что этот порт для досовских прог эмулируется по протекшн фолтам, и значение, которое прочитает досовская прога из этого порта, определяет именно винда, а не железо.
                                      Ответить
                                      • Если было так. То нахер бы не нужны были DLL который вешали хуки на хот кеи. Но они активно использовались, значит там работает как то по другому.
                                        Ответить
                                      • Фрагмент исходника VKD:
                                        BeginProc VKD_Enable_Keyboard
                                        
                                        	mov	edx, pcmd_Kybd		    ; enable global trapping of
                                        	VMMcall Enable_Global_Trapping	    ; 60h & 64h
                                        	mov	edx, pdata_Kybd
                                        	VMMcall Enable_Global_Trapping
                                        	SetFlag [VKD_flags], VKDf_initialized	; flag initialization complete
                                        	mov	eax, [VKD_irq_Handle]
                                        	VxDCall VPICD_Physically_Unmask     ; unmask the IRQ
                                        	call	VKD_Enable_Kbd
                                        	ret
                                        
                                        EndProc VKD_Enable_Keyboard
                                        Брал отсюда: http://www.mdgx.com/add.htm#DDK

                                        Что делает вызов Enable_Global_Trapping?
                                        Ответить
                                        • P.S. И ещё кусочек:
                                          ;******************************************************************************
                                          ;
                                          ;   VKD_Trap_CommandR
                                          ;
                                          ;   DESCRIPTION:    virtualize the I/O done to the keyboard's command port
                                          ;
                                          ;   ENTRY:	    AL = Byte to be output (if output)
                                          ;		    EBX = VM handle
                                          ;		    EDX = Port address
                                          ;		    ECX = 0 for byte input, 4 for byte output, others emulated
                                          ;
                                          ;   EXIT:	    AL = byte input (if input)
                                          ;
                                          ;   USES:	    Everything
                                          ;
                                          ;==============================================================================
                                          Ответить
                                • Если бы порт клавиатуры читался без эмуляции, то Ctrl+Alt+Del, Alt+Enter, Ctrl+Esc, Alt+Tab при запущенной досовской программе не обрабатывались бы Виндой и досрочно снять досовскую программу можно было бы только ресетом на системном блоке.
                                  Ответить
                                  • Клавиатура отдает последний код, пока не появится новый. Прерывания я не перехватывал.
                                    Ответить
                    • >>Она имела слегка порезаный дос в составе, но сама работала без него
                      Первым стартует DOS затем win.com
                      Ответить
                      • Windows 95 уже умел загружаться и без win.com: если в файле MSDOS.SYS не было строки BootGUI = 0, то IO.SYS напрямую загружал VMM32.VXD без command.com и win.com (в этом случае выйти из Windows нельзя, можно только выключить компьютер или перезагрузить).

                        Если же в файле MSDOS.SYS присутствует строка BootGUI = 0, то IO.SYS загружает command.com и дальше среда ничем не отличается от предыдущих версий ДОСа: можно запустить Windows через win.com, как и в Windows 3.x.

                        В любом случае VMM для своего запуска требовал загруженного IO.SYS, в отличие от NTOSKRNL, который наличие ДОСа не требует.
                        Ответить
          • >SViN95 18-05-2010 19:17 0

            >PadonakSem: Ага... Например, почти вся Visual Studio 2010 написана на C# (с .NET'ом). Ее системки:<br />
            >Hard disk<br />
            >3 GB (5400 RPM)<br />
            >Memory Recommended<br />
            >1 GB (32 Bit) or 2 GB (64 Bit) RAM (add 512 MB if running in a virtual machine)<br />
            >Video card<br />
            >DirectX 9 capable video card running at 1024 x 768 or higher-resolution display.<br />
            <br />
            >Для такой проги ОМГ. + У меня с Core 2 Duo и GeForce 9600gt тормозит меню!<br />
            >Главное, чтоб винду на .NET не переписывали)

            Ты Pycharm попробуй.

            >spiff 16-04-2009 19:18 +8
            >naxellar: вы сошли с ума.. Знаете в чем разница между линуксоидами и виндузятниками. В том что первые разбираются как в винде так и в линуксе.. они компитентны.. А вы перевираете факты. совершенно перевираете. Стыдно не знать что в юниксе, еще с конца 60х было разделение прав. а винде, скажу вам по секрету, его до сих пор нет) что вы видите в висте - это фэйк. ошибка в днк. стыдно.. просто даже не холивар.. ребячество..

            rwx - это разделение прав? Все-таки линукс- это форма слабоумия.

            >neurons 16-04-2009 19:30 +3
            >spiff: А есть ли здесть "линуксоиды", которые хотя бы одну строчку в ядро закомитили ? Или "быть компитентныйм" - это умение гуглить в поисках нужных конфигов, и знанеие пары-тройки статей из википедии,

            Тсс! А то сейчас назовут Русланом и скажут "толсто!"
            Ответить
            • > rwx - это разделение прав
              Это самое настоящее разделение прав, хоть и убогое (но если нужны более гибкие ACL - можно включить). А в винде до NTFS вообще никакого не было (впрочем, на однопользовательском десктопе оно и не требовалось).

              >> что вы видите в висте - это фэйк
              Ну вот это очень толстый вброс. Во всех NT было нормальное разделение прав. Просто из-за кривожопого и не готового к этому софту до самой висты его боялись настраивать как положено.
              Ответить
              • Меня больше всего убил Assassin Creed 4, который пишет сейвы в... program files. 2014 год на дворе, а любители посрать в windows и program files еще вылезают из криокамер.
                Ответить
                • минуснул
                  я очень люблю срать в своей папке
                  и очень не люблю этот линуксоблядский пиздец, при котором данные и программы сидят порознь и процесс переноски программ превращается из простого копирования в какой-то пиздец
                  Ответить
                  • Плюсы разделения:
                    1. Ридонли-файлы и перезаписываемые файлы можно размещать на разных разделах и даже на разных физических носителях.
                    2. Защита исполнимых файлов от вирусов.
                    3. Легче снимать резервную копию настроек или пользовательских данных.
                    Ответить
                    • > 2. Защита исполнимых файлов от вирусов.

                      не понимаю
                      если программа имеет права на свою папку, а другие программы не имеют права на эту папку, то как вирус пролезет?
                      Ответить
                      • >если программа имеет права на свою папку
                        любая программа имеет все права пользователя, запустившего её, если не использовать всякие selinux
                        Ответить
                        • Это хуёвая система.
                          Я говорю при систему, где каждая программа имеет все права в своей папке. Какого хуя такую никто не осилил?
                          Ответить
                          • Ставь прогу в %appdata% - и будет тебе щастье.
                            Ответить
                            • Тонко. гугло-яндексо-мейл агенты туда ставяцца - уже можно предположить, что не с благой целью.
                              Ответить
                          • Это очень примитивное представление системы, которое подразумевает, что программа находится только в одном месте. В системах, в которых симлинками пользоваться просто и комфортно такая ситуация практически не случается никогда.
                            Как правило нужны симлинки для альтернатив (т.е. может быть более чем одна программа реализующая стандартную возможность, или просто одной и той же программы можно одновременно установить много разных версий). Кроме того, алиасы, для быстрого доступа, желательно для каждого пользователя (пользователи - это не только живые люди использующие компутер, а и сущности созданые для разных програм: например, пользователь бит-торрент клиента, пользователь интернет сервера, или виртуального хоста этого сервера и т.д.)
                            Если каждая программа будет сама заниматься расфасовкой файлов по пользователем, их группам и персональным настройкам - это будет ад, гораздо проще и понятнее для пользователей, если программа будет использовать системные утилиты для хранения пользовательских данных.
                            Ответить
                            • Гораздо лучше будет, как я уже упоминал, как в ведре - программы просто не могут нагадить куда не надо.
                              Ответить
                              • А что значит "куда не надо"? Как это узнать? Как узнать, где находится "папка программы"? Что собственно составляет программу? Например, скрипт для запуска интерпретатора указывающий ему на файл который нужно интерпретировать является программой или нет? Или файл который нужно интерпретировать - это програма?
                                Ответить
                                • >А что значит "куда не надо"?
                                  Не могут изменить настройки других программ - программы заизолированы друг от друга.

                                  >Что собственно составляет программу?
                                  Хуита, ставящаяся через магазин. Мб.
                                  Ответить
                                  • apk - это просто архив с ХМЛ файлом-манифестом, в котором описано куда устанавливать части програмы, и что им можно делать. Его совсем не обязательно скачивать и распаковывать через магазин. А распаковать его можно куда угодно. В него, например, можно просто картинки положить. Вряд ли это сделает его програмой.
                                    Ответить
                                    • >Вряд ли это сделает его програмой.
                                      Программа - это код на каком-нибудь языке, очевидно же.
                                      Ответить
                                      • Програма - это код (а код это програма?).
                                        Как отличить язык от не-языка?
                                        Код написаный в консоли браузера - это програма? Какой у нее каталог тогда?
                                        Ответить
                                        • программа это набор инструкций записанный по каким то правилам. И этот набор инструкций есть кому исполнять. код это сами инструкции.
                                          Набор картинок тоже могут быть программой.
                                          Ответить
                                        • >> Гораздо лучше будет, как я уже упоминал, как в ведре - программы просто не могут нагадить куда не надо.

                                          > Код написаный в консоли браузера - это програма? Какой у нее каталог тогда?

                                          А стоит ли углубляться в определения, если код из консоли браузера (если это не расширение) не срёт куда попало и дорогих сердцу файлов не удаляет, тем самым не создавая обсуждаемой выше проблемы?
                                          Ответить
                                          • Кто сказал, что не срет? Почему не удаляет? Было бы желание.

                                            Набор инструкций можно записать и в фотошопе в джейпег, это сделает их програмой?
                                            Ответить
                                            • при наличии соответствующего транслятора вполне.
                                              Ответить
                                              • Значит, является ли что-то (что? принадлежат ли програмы к какому-то более общему классу сущностей?) програмой напрямую зависит от наличия интерпретатора. Другими словами, мы не можем быть уверены в том, что перед нами програма, коль скоро у нас нет интерпретатора.
                                                Возможно ли, что у програмы может быть более одного интерпретатора? (вобщем то, зависимость подразумевает наличие более чем одного интерпретатора) Следовательно, разглагольствования о каталоге программы - неправильно сформулированая проблема, т.как програм вне контекста интерпретаторов не существует, а в контексте - они могут быть разными сущностями, и нет никаких гарантий, что у каждой сущности будут одни и те же свойства.
                                                Например, програма написаная для стандартного интерпретатора sh может быть выполнена в Bash или еще куче других интерпретаторов. И что до каталогов и вообще всего, что с этой програмой может быть связано будет зависеть от наличия интерпреататора.
                                                Ответить
                                            • Может быть, это программа на brainfuck, пусть и не всегда валидная. Но это не важно.

                                              В обсуждаемом вопросе важно - что объявил программой создатель ОС, создатель песочницы, а то и конкретный пользователь.
                                              Тот, кто по нашему мнению ответственен за исполнение кода, тот и программа.
                                              Я предлагаю называть программами исполняемые файлы и изолировать их в своей области. Файлы вроде *.cmd, *.sh, *.py тоже называть программами и изолировать их, а не их интерпретаторы, стоит регистрировать отдельно и рассматривать отдельно (как - точно не знаю, но можно либо им доверять, либо симлинками разделять на программу и исполнитель программ).

                                              a.exe - программа, переименованная в a.jpeg - файл с данными, переименованная в a.sh - программа.

                                              Это всё - чисто практические рассуждения, за теорию сферических программ в вакууме не берусь, поскольку бывает достаточно приближённых моделей.
                                              Ответить
                                              • Это не философия, а
                                                http://en.wikipedia.org/wiki/Textual_criticis
                                                , у нас это преподавалось как "редакторское дело", т.е. это то, чем занимаются корректоры науч.поп. изданий, энциклпоедий и т.д.
                                                Смысл предмета заключается в том, чтобы обращать внимание на плохо выраженые мысли, неумышленое словоблудие и просто ошибки в использовании языка.
                                                Предположение о том, что в принципе возможна такая вещь, как каталог програмы само по себе не состоятельно исходя из вышеописаных соображений. Общий класс таких ошибок известен как "ошбка категорий".
                                                Типичная иллюстрация такой ошибки: студент, приехавший в Оксворд, посетил библиотеку, аудитории, спортзал и т.д. так и не найдя университета. Ошибка заключалась в том, что студент предполагал, что университет отностится к категории зданий, но в реальности - университет относится к категории учреждений, для которых типично располагаться в одном здании, но иногда они могут занимать больше, или меньше одного здания.
                                                Ответить
                                                • Студент не может назвать спортзал, своих одногруппников или клумбу во дворе университетом, а мы - можем. Студент оперирует устоявшимися понятиями, а мы планируем новое. Пусть не программа, а "ответственная сущность", чтобы не портить существующую терминологию, пусть не просто каталог, а каталог внутри каталога с ответственной сущностью, имя которого зависит от хэша пути к интерпретатору.
                                                  Достаточно сформулировать набор реализуемых правил, по которым сущности должны быть ограничены, чтобы целевая аудитория была довольна.

                                                  Сейчас ещё ничего не готово, а Вы уже пытаетесь что-то сломать, в то время, как по всему миру программы пишут что попало куда попало :)
                                                  Ответить
                                                  • Если бы я работал корректором:

                                                    Студент не может[1] назвать спортзал, своих одногруппников или клумбу во дворе университетом, а мы[2] - можем[3]. Студент оперирует устоявшимися понятиями, а мы планируем новое[4]. Пусть не программа, а "ответственная сущность"[5], чтобы не портить[6] существующую терминологию, пусть не просто каталог, а каталог внутри каталога[7] с ответственной сущностью, имя которого зависит от хэша[8] пути к интерпретатору.
                                                    Достаточно сформулировать набор реализуемых правил[9][10][11], по которым сущности должны быть ограничены, чтобы целевая аудитория была довольна[12].

                                                    [1] Почему не может?
                                                    [2] Кто такие "мы"?
                                                    [3] Чем "мы" отличаемся от студента?
                                                    [4] На каком основании сделано такое заявление? Из предыдущего текста не видно, что студент оперирует устоявшимися понятими, "мы", кто бы это ни был не предлагал никаких изменений пока что (и в дальнейшем тоже не предлагает).
                                                    [5] От подмены понятий ничего не меняется, чем "ответственная сущность" лучше програмы, если речь изначально шла о програмах?
                                                    [6] Кто портит какую терминлогию?
                                                    [7] толсто.
                                                    [8] Откуда это видно? (достаточность необходимо доказывать).
                                                    [10] О каких правилах идет речь?
                                                    [11] Кто должен реализовывать правила, и что такое реализуемо, это по времени? по сложности?
                                                    [12] Как определяется удовлетворенность? Достигнут эквилибриум учитывающий интересы всех сторон? Обязательно эквилибриум с лучшими выплатами? Исходя из невозможности удовлетворить все три желаемых условия удовлетворенности доказаные Арроу, какие два из трех желательно удовлетворить?
                                                    Ответить
                                                    • И вот, опять всё это продолжается. Через пару комментариев Вы начнёте просить ссылку на скан заверенной справки. Через десяток комментариев Вы вспомните про теорию Шмайгелля-Маусса о противодостаточности метаматериального мира, а то и опубликуете её подробное доказательство в парочке топовых научных журналах, при этом доказав, что я несу абсолютную чушь, а программы так и будут срать где попало.

                                                      > [1] Почему не может?
                                                      Потому, что он приходит в уже созданную систему с уже созданной терминологией.
                                                      > [2] Кто такие "мы"?
                                                      Комментаторы на ГК и другие, рассуждающие о правильном огораживании программ
                                                      > [3] Чем "мы" отличаемся от студента?
                                                      Мы изменяем систему (программную систему + систему понятий) или создаём новую, студент живёт в рамках чужой системы, которую он не изменяет.
                                                      > [4] На каком основании сделано такое заявление? Из предыдущего текста не видно, что студент оперирует устоявшимися понятими, "мы", кто бы это ни был не предлагал никаких изменений пока что (и в дальнейшем тоже не предлагает).
                                                      Я предлагал выше некоторый вариант изменения. И, кстати, Вам советую предложить. Посетитеям ГК, думаю, более интересны практические предложения, а не детальный разбор комментариев.
                                                      > [5] От подмены понятий ничего не меняется, чем "ответственная сущность" лучше програмы, если речь изначально шла о програмах?
                                                      Ничего не меняется. Ответственная сущность имеет какое-то своё новое значение в рамках новой терминлогии. Те, кто имеет своё представление о слове "программа" не будут удивляться и кричать, что мы исказили смысл.
                                                      В общем-то, Вы знаете, что для меня терминология не так важна, главное - суть.
                                                      > [6] Кто портит какую терминлогию?
                                                      см. ответ на пункт 5
                                                      > [7] толсто.
                                                      Вы говорили о множестве интерпретаторов - так пусть каждый исполняет программу в отдельном подкаталоге для пущей безопасности.
                                                      Ответить
                                                    • > [8] Откуда это видно? (достаточность необходимо доказывать).
                                                      Какая разница, хэш, ID, имя дедушки пользователя, номер секунды? Я не готов сейчас расписывать всё до последнего байта, я только излагаю общие соображения. Предложите более уместное решение, это гораздо полезней и весомей.
                                                      > [10] О каких правилах идет речь?
                                                      Конечно же, о плане алгоритма, схеме работы или об объяснении принципа работы системы. О чём-нибудь, что не будет доказывать теорию Шмайгелля-Маусса, а будет хоть как-то работать на практике, а не где-то в идеальном мире.
                                                      > [11] Кто должен реализовывать правила, и что такое реализуемо, это по времени? по сложности?
                                                      Кто угодно, хоть сосед, который постоянно что-то у себя сверлит.
                                                      Конечно, реализуемо. Операционные системы написаны? Написаны. Гугл находит? Находит. Если бы всё реализовывали для исполнения в идеальном мире, старались получить 100% идеальные результаты, ни ОС, ни поиска бы не было.
                                                      Всегда можно использовать приближённую версию, которая реализуема.
                                                      > [12] Как определяется удовлетворенность? Достигнут эквилибриум учитывающий интересы всех сторон? Обязательно эквилибриум с лучшими выплатами? Исходя из невозможности удовлетворить все три желаемых условия удовлетворенности доказаные Арроу, какие два из трех желательно удовлетворить?
                                                      Дяде Егору нравится? Тётя Маша покупать будет? Фёдор Павлович будет рекомендовать друзьям? Можно это по телевизору рекламировать?
                                                      Хотя бы так. Желающие могут посчитать коэффициенты, проверить гипотезы, пойти подписывать бумаги в министерствах, применять авторитетные теории, но после того, как что-то будет создано.
                                                      Ответить
                                                      • Студент, вчера родился, что ли? Как это он так не знает что такое учреждение? Обычно такие вещи осознают еще в средней школе. Т.е. делается утверждение, безапеляцинно признающее одну из посылок истиной (см. "ежики-долгожители").
                                                        Мы, в таком случае - не правильно, это попытка прикрыть собственное (необоснованое) мнение ссылаясь не мнение какой-то (большой) групы, при том, что група никакого такого мнения не выражала. (см. "по заявлениям бретанских ученых").
                                                        Опять же, да дались вам посетители ГК и их интересы. Откуда вы знаете, чего им интересно?
                                                        "ответственная сущность" - это на ходу придуманная замена понятию, которое мы пытаемся определить, замена ни чем не улучшающая ситуацию. Это ошибка вида "черная овца" (red herring), это когда вместо того, чтобы обсуждать вопрос предлагается вопрос изменить, и обсуждать измененную версию. Иногда это можно выдать за упрощение, или за уточнение, но "ответственная сущность" никак не точнее "программа", (нужно доказывать). (см. также "соломенное чучело").
                                                        Главное - суть. Опять же аппеляция к эмоциям, неявная дискредитация значимости вопроса (а что, вопрос изначально был не пос сути? только ж о ней и был).

                                                        Вот тут есть список, правда, не полный:
                                                        http://en.wikipedia.org/wiki/List_of_fallacies


                                                        Другими словами: это бы прокатило, если бы вы баллoтировались на выборы в какую-нибудь политическую херню, но из ынциклопедия гнали бы ссаными тряпками.
                                                        Ответить
                                                        • > это попытка прикрыть собственное (необоснованое) мнение ссылаясь не мнение какой-то (большой) групы
                                                          Вы так говорите, будто это "мы" повлияло на Ваше восприятие. Вы явно понимаете, о чём я говорю, но вот придираться предпочитаете к словам.

                                                          > Опять же, да дались вам посетители ГК и их интересы. Откуда вы знаете, чего им интересно?
                                                          Признаюсь, интересы Конардо мне не известны, но людей с техническим складом ума скорее всего интересует суть и что-то практическое, а не рассуждения об ошибках. Помните, я совсем недавно ругал линуксоидов за желание повозиться с ОС? Желание поэкспериментировать, эдакий научный интерес движет айтишниками.
                                                          И им уж точно не понравится, если ещё и я начну придираться к словам и размещу список букв, которые Вы в спешке пропустили в предыдущих сообщениях. Потому, что важны не буквы.

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

                                                          > Другими словами: это бы прокатило, если бы вы баллoтировались на выборы в какую-нибудь политическую херню, но из ынциклопедия гнали бы ссаными тряпками.
                                                          ГК.ру - энциклопедия? ГК.ру - академия наук? Причём здесь это? Мы решали проблему программ и их действий. Бога ради, спуститесь с небес сюда, к простым людям, оставьте идеальные теории, предложите что-нибудь полезное. Расскажите, как должно быть с программами, у Вас, чёрт возьми, авторитетное мнение и огромный опыт. Зачем доказывать мне, что я не умею аргументировать, зачем указывать окружающим на логические ошибки без приведения примеров, которые относятся к реальности...

                                                          Программы пишут в разные папки, что нам с этим делать?
                                                          Ответить
                                                          • Я не придираюсь. Я за правду.
                                                            Абсолютно какие-то необоснованые заявления о "линуксоидах". Из людей, пользующихся Линуксом на десктопе процент людей с докторсими степенями много выше, чем, скажем, у Виндовса. Почему бы им не поразмышлять?
                                                            Например, 60% астрономов в 2011 использовали Макинтоши, 30% - Линукс и 8% - Виндовс (оставшиеся 2% - Солярис). При том, что в общем пользователей Линукса примерно 1% от всех десктопов, а астрономов от количества всех пользователей десктопов много меньше одного процента, Линукс в общем зачете очень даже ничего выглядит.
                                                            http://www.astrobetter.com/os-apt-astronomers/
                                                            Есть даже специальный научный линукс. В МИТ, Беркли и других универах того же уровня в обязательную программу для физмат / естесственных наук (кроме программистов) входит изучение Линукса, и инструментария доступного в нем для ведения научных исследований.
                                                            Мне вот, недавно, попался курс из Беркли по естесственным языкам (лингвистика!). Там без долгих рассшаркиваний студентам предлагается воспользоватсья стандартными инструментами Юникса: grep и sed. Ну, и для тех, у кого нет макбук-про, то, как бы понятно, что использовать Линукс.

                                                            ЗЫ. Называйте как хотите, главное суть: Чомски плачет.
                                                            То, что ГК не академия, не отменяет того, что аргументы могут быть плохими, или хорошими.
                                                            Я уже говорил выше о том, что определение програмы, без интерпретатора - как водка без пива, только головная боль утром.
                                                            Дополнительное чтение: Гедель, Эшер, Бах: Бесконечная золотая коса* (точность перевода не гарантирую). Там это описывается на примере черепахи и грамофона.
                                                            Ответить
                                                            • >> Помните, я совсем недавно ругал линуксоидов за желание повозиться с ОС? Желание поэкспериментировать, эдакий научный интерес движет айтишниками.
                                                              > Абсолютно какие-то необоснованые заявления о "линуксоидах".
                                                              > Из людей, пользующихся Линуксом на десктопе процент людей с докторсими степенями много выше, чем, скажем, у Виндовса.
                                                              > Например, 60% астрономов в 2011 использовали Макинтоши, 30% - Линукс
                                                              Ну вот, всё встало на свои места. Линуксоиды копаются в системе с научным интересом, люди науки, у которых есть желание разобрать наш мир, посмотреть из чего он состоит, поковыряться в нём и изучить, устанавливают линукс. Научный интерес, поиск истин, линукс.
                                                              Но это не всем надо, задачи и требования разные, ни одна ОС не виновата.

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

                                                              > Я не придираюсь. Я за правду.
                                                              Это хорошо

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

                                                              >> А стоит ли углубляться в определения, если код из консоли браузера (если это не расширение) не срёт куда попало и дорогих сердцу файлов не удаляет, тем самым не создавая обсуждаемой выше проблемы?

                                                              Поскольку нужно не искать значения слов, а обсуждать решение проблемы. Определения программы, файла и операционной системы никому не помогут, а лишь подтолкнут к холивару со словокопанием.
                                                              Можно применять безо всяких холиваров интуитивно понятные термины (каталог, файл *.exe, файл *.py), значения которых всем ясны, а если не ясны, то всегда найдётся живой пример.

                                                              P.S. И да, полезная у Вас информация, спасибо.
                                                              Ответить
                                                              • Нет, определения не бессмысленны. Бессмысленное только одно конкретное определение: програмы без интерпретатора. Это как машина Тюринга состоящая только из ленты с инструкциями (без, собственно, машины). Отдельно от машины - не имеет смысла, а вместе - имеет.
                                                                А что до каталогов, вопрос вполне реальный:
                                                                програма на Питоне состоит из дофига шаред обжектов где-то в /usr/lib, вызывает утилиты из /usr/bin, из питоновских библиотек где-то в /usr/lib/python/..., файлов, например, бит-торента, находящихся где-нибудь в /usr/local или /home/bit-torent-user и пачки скриптов для запуска этой програмы в разных местах, типа, Гном / КДЕ панели быстрого доступа, домашней директории, в конфиге шелла и т.д. Что из этого всего считать програмой? Где ее каталог? Почему у нее должен быть всего один каталог? А если она все важные данные хранит в базе данных на сетевом ресурсе, или чем-то типа дропбокса?
                                                                Ответить
                                                                • Программой на питоне можно считать её главный файл, каталогом программы - каталог, где лежит он/ссылка на него (или подкаталог), сущности, на которые она ссылается, должны лежать тоже внутри каталогов с программой (можно ссылки на файлы /usr/*) - для удобства вырывания с корнем.
                                                                  В случае с внешней базой помогут разрешения программы (что и как разрешать - хороший вопрос) или в самом-самом крайнем случае - представление интерфейса базы в виде файла - пишем в файл запрос, читаем ответ.
                                                                  Если программе требуется доступ к файлам из посторонней папки, всегда можно поставить ссылку на неё в каталоге программы.

                                                                  Что делать со скриптом, который запускает одну или несколько программ, я пока не знаю, это очень хороший вопрос.
                                                                  Что делать с всемогущими доверенными программами - не очень ясно.
                                                                  Хотя, большая часть того, о чём я пытаюсь рассуждать, уже реализована у вас в линуксе.
                                                                  Ответить
                                                                  • Как определить, что файл главный? Если в нем есть if __name__ == '__main__' - он главный? Так в програме их может быть десятки, никто ж не запрещает. Более того, какой в этом смысл, если этот файл находится в /usr/bin (вполне резонное место для програмы)?
                                                                    Ответить
                                                                    • > Как определить, что файл главный?
                                                                      Тот, который запускаем - и есть главный. Тот, что в argv[1] у питоноинтерпретатора
                                                                      > Так в програме их может быть десятки, никто ж не запрещает.
                                                                      Да.
                                                                      Если они - часть одной программы, если их создал один человек/компания, почему бы им не лежать в одной папке, не обладать одинаковыми правами и не иметь один и тот же каталог записи чего попало.
                                                                      Если же программы логически разные, и что более важно, требуют настройки разных прав, их следует разделить. Вероятно, стоит занести в каталог с программой её зависимости в виде ссылок для успешного копирования программы и последующего запуска на любом компьютере.
                                                                      Должна быть какая-то поддержка со стороны ФС и ОС. Может быть, для разруливания ситуации со скриптами, запускающими что попало придётся создавать новые папки с "запускаторами", содержащими описания правил доступа, где можно изменить каталог для сранья, ссылки на используемые программы (точнее, на каталоги с ними) и каталог для сранья.
                                                                      Вероятно, при копировании папки с программой стоит запускать программу, которая проанализирует зависимости и, если возможно, расставит хардлинки для зависимостей, которые уже установлены в системе - для сохранения места. А удалить программу пользователь сможет уже сам, удалив папку с ней.

                                                                      И да, программа не должна изменять себя. Так, проставив ссылки на каталог для сранья, расположенный на перезаписываемом носителе, можно удовлетворить фичу №1 тов. inkanus-gray и записать программы на ПЗУ, храня их вместе с настройками в одном каталоге
                                                                      %programs%\progname\progname.exe
                                                                      %programs%\progname\progdata
                                                                      %programs%\progname\progdeps

                                                                      > Более того, какой в этом смысл, если этот файл находится в /usr/bin (вполне резонное место для програмы)?
                                                                      Если там все файлы свалены в кучу, не резонное. Вычленить и удалить одну программу без бутылки становится очень сложно. Если /usr/bin/progname/execut.able, то хорошо.
                                                                      Ответить
                                        • >Как отличить язык от не-языка?
                                          Как отличить процесс от непроцесса? :) Все, что порождает процесс - программа. Таким макаром ей может оказаться и картинка. Что мы вообще обсуждаем?

                                          Ох блядь, ну вы из-за этой хуйни и нафлудили. wvxvw, тебе делать нечего было?
                                          Ответить
                                          • Например, програмы на Планкалкюль были написаны за 50 (пятдесят) лет до того, как кто-то вообще попытался их реализовать в дигитальных компьютерах, так что, все эти 50 лет они не были программами, а потом магически стали ими?
                                            Есть огрмное количество языков програмирования (написаных в исследовательских целях), для которых не существует интерпретаторов (возможно, что таких языков даже больше, чем языков, для которых интерпретаторы написаны). Самый простой пример: програма на псевдокоде - не програма?
                                            Ответить
                                            • > для которых не существует интерпретаторов
                                              > програма на псевдокоде

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

                            И... стыдно признаться, у меня есть два Эклипса... Кеплер и Джунио. Кеплер - потому, что только в нем работает эклим, а джунио потому, что у Кеплера что-то не задалось то ли с Гитом то ли еще с чем-то... Вот Эклипс - тарасопрограмма, ей похер где пользователю хочется хранить настройки, она их сама сохранит, где ей нравится. Т.е. я не могу использовать один и тот же плагин в двух разных клипсах, его нужно скопировать в папку плагинов обоих, ворскпейсы разных версий несовместимы и т.д.
                            Ответить
                            • >По умолчанию все три используют один и тот же комплект настроек
                              Ну симлинками это и так реализуется.

                              >Вот Эклипс - тарасопрограмма, ей похер где пользователю хочется хранить настройки
                              > тарасопрограмма
                              Новое слово, лол?

                              Дык многие проги не дают изменить, где хранить настройки.
                              Ответить
                              • Многие - это какие? Мне везет наверное, потому что таких уебищных програм попадается очень мало (вот клипс отличился, ну и Флеш плеер еще тоже такой же, но это просто их разработчикам ынтрырпрайз расширил сознание, вот они так и сделали, нормальный человек одумался бы еще до релиза).
                                Ответить
                                • Ну найди мне как без пердолинга поменять пути до профилей браузеров (в смысле, не хранить их в %appdata%)
                                  Ответить
                                  • %apdata% - это в Виндовсе... я же говорю, что мне не приходится сталкиваться.
                                    Ответить
                    • 4. многопользовательская работа
                      Ответить
                      • Кстати, да. Если всё хранить в папке программы, то программа сама должна создавать для каждого пользователя файл или поддиректорию, а при внешнем разделении это получится автоматом.

                        Однако, придётся признать, что и у велосипедного варианта есть своё применение: количество пользователей программы может не совпадать с количеством пользователей системы.
                        Ответить
                        • Никто не запрещает иметь несколько профилей под одним юзером.
                          Ответить
                          • мне кажется, такая возможность сделана для индивидов с раздвоением личности.
                            Ответить
                            • Когда кажется, говорят, креститься надо.
                              Ответить
                    • Два чая этому Господину.
                      Ответить
                  • Как будто на Виндос это проще, когда программы срут одновременно в свою папку, в реестр, в Мои Документы, в АппДата, ЛокалДата, а на закуску Виндовс ещё и поместит часть их файлов в ВиртуалСтор, так как они пытались и в Систем32 прописаться. В результате не только перенос, но и банальная попытка откатиться на дефолтные настройки превращается в ад.
                    Ответить
                    • да это из линукса этот пиздец пришёл
                      а если брать олдскульные проги, которые всё держат в себе, то их скопировал и заебись
                      Ответить
                      • Программы с portableapps.com действительно держат всё в себе. А олдскул бывает разный. Иной олдскул и в System(32) всё под себя переделать норовит.

                        Один воскресный день из жизни IT-отдела: http://www.nestor.minsk.by/sr/2004/07/40710.html
                        Ответить
                        • Проржался на

                          > Все-таки Петрович -- голова. На compaq.com он нас ловко направил.
                          Ответить
                          • К сожалению, это жизненно. Если ни один из советов не помог, попробуйте... прочитать инструкцию.
                            Ответить
                    • Самый нормальный подход - в андроиде, если верить борманду. На каждую прогу - своего юзера, любую прогу можно гарантированно удалить со всеми потрохами.
                      Ответить
                  • >я очень люблю срать в своей папке
                    Гейдевка, гний.
                    Ответить
              • Было разделение прав в DR-DOS. Эта система gid и uid вписывала в неиспользуемые ячейки FAT. Самое страшное, что эти «неиспользуемые» ячейки разные системы, основанные на FAT, использовали для разных целей: какая-то резидентная программа для защиты удаляемых файлов хранила там первую букву имени; OS/2 хранила там ссылку на запись в таблице расширенных атрибутов (это примерно как ресурсная часть вилки в Макоси или как альтернативный поток на NTFS); а Windows 4.x в этих ячейках стали хранить «лишние» даты. Я ещё не упомянул umsdos в Линуксе...

                Короче, на FAT разделение прав не взлетело. В Дурдосе и в Линуксе такая возможность была, но Мелкософт пошёл другим путём.

                Кстати, про rwx: почему-то мало кто вспоминает SELinux.
                Ответить
                • >а Windows 4.x
                  Что?

                  >Кстати, про rwx
                  Да есть в питухе вроде бы нормальные права, как на ntfs. А rwx - это хуита.
                  Ответить
                  • > Что?

                    Windows 95 (а точнее, её драйвер VFAT) начала срать в неиспользуемые байтики директорий файлов. Так появились unix-like даты (время создания и время последнего доступа) и длинные имена.

                    В Windows NT 3.51 такого не было. Или я ошибаюсь?
                    Ответить
                    • Что такое Windows 4?

                      А несовместимость длинных имен с программами под чистый дос никого не ебет, хотя как минимум раз я угробил их нортоном.
                      Ответить
                      • Windows 4 = {Windows 95; Windows 98; Windows Me}

                        Царь, залогиньтесь.

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

                        Лох. DOSLFN + Dos Navigator и длинные имена доступны в чистом ДОСе.
                        Ответить
                        • >Windows 4 = {Windows 95; Windows 98; Windows Me}
                          Первый раз такое название слышу, обычно их называли win9x

                          >Царь, залогиньтесь.
                          Лолшто?


                          >Лох. DOSLFN + Dos Navigator и длинные имена доступны в чистом ДОСе.
                          Да, но я сидел в НЦ под виндой.
                          Ответить
                          • > Первый раз такое название слышу, обычно их называли win9x
                            А как их называть, если старшее число внутренней версии системы — четвёрка?

                            Нас ждут другие открытия: Windows 7 = Windows NT 6.1, Windows 8 = Windows NT 6.2.

                            > Да, но я сидел в НЦ под виндой.

                            ССЗБ.
                            Ответить
                            • >А как их называть
                              Так и называть - win9x

                              >ССЗБ.
                              А что, тогда риально были альтернативы? Фар появился позже + тогда софт приходил через компакты, которыми менялись в классе, инета, понятно, не было.
                              Ответить
                              • 1. Но ведь это не win9x!

                                2. Было такое дело. Но почему виндолюбы не могут пользоваться их любимым эксплорером?
                                Ответить
                                • 1. Википедия думает по-другому.

                                  2. Ньюфажина? В эпоху 95/98 встроенный софт винды был ебаным говном и от версии к версии становился лучше. Алсо я тогда только-только заимел комп и знал то, что нам преподавали на уроках информатики - ну а там был нортон. Помню, как еще до того, как появился комп, я случайно вылетел из нортона в винду и не знал, как вернуться назад.
                                  Ответить
                                  • А что изменилось в эксплорере за двадцать последних лет?
                                    Ответить
                                    • Ну например, после ХП выпилили 90% возможности настройки поиска.
                                      Ответить
                                    • О, я знаю, хлебные крошки! Я думаю, что хлебные крошки были последней каплей, после которой мой дуалбут больше на загружал новомодную редмонтовскую систему.
                                      Ответить
                                      • >О, я знаю, хлебные крошки!
                                        ЩИто?
                                        Ответить
                                        • breadcrumbs - это такая херня, когда вместо аддресной строки в гуе есть кнопки соответствующие каталогам из аддресной строки. Нереально бесит, когда пытаешься мышкой выделить аддрес, а вместо этого навигатор переходит хер знает в какой каталог.
                                          В дельфине и наутилусе они тоже были, типа чтобы гуй-пользователи не чувствовали себя обделенными, но в дельфине их убрали (по крайней мере по умолчанию там обычная строка, или может я просто так давно настроил). В наутилусе с этим били проблемы первое время - было тяжело отключить, но вроде как и они на них забили.
                                          Ответить
                                          • да ладно
                                            что в них такого ужасного
                                            тык мышкой в пустое место строки навигации, либо ^F4 делают из неё копировабельный текст
                                            Ответить
                                            • Я когда последний раз ими пользовался (наверное, это был 2008), мне было привычнее файлы копировать мышкой и т.п. Ну, я думаю, для пользователей Виндовса это более-менее норма. Крошки были неудобны тем, что случайно можно было перейти в ненужный каталог. Чуть мышку в сторону подвинул и вместо копирования получается херня какая-то. Это так же бесит, как когда в ХТМЛ странице нельзя нормально выделить текст, или как когда иконки в телефоне очень маленькие: в принципе жить можно, но зачем?
                                              Ответить
                                    • Ну, хотя бы с юникодом стал нормально работать, в отличие от TC, где автор не хочет переходить со 2-го делфи на 7й.
                                      Ответить
                                      • если речь идет о Гисслере, он пишет, что переписал многие классы под Wide. так что, юникод у него есть.
                                        Ответить
              • >А в винде до NTFS вообще никакого не было
                Мсье крутил сервера на 9х?
                Ответить
              • >Ну вот это очень толстый вброс. Во всех NT было нормальное разделение прав. Просто из-за кривожопого и не готового к этому софту до самой висты его боялись настраивать как положено.
                Тут плюсану. В этом виноваты всякие гейдевки вроде тараса и - МС. Помню свою попытку запустить прогу на VB6 на компе без админских прав.
                Ответить
        • показать все, что скрытоВ ней есть все, кроме ко-ко-консолечки в срачле. А у вас на линупсе игорь все еще тонет или уже утонул?
          Ответить
        • > в нем своих менеджеров хоть жопой ешь. А Вашей винде есть что нибудь кроме експлорера?
          Не нужно. Правда, не нужно. Explorer работает и работает хорошо, даже мысли не возникает о его замене. Максимум - мысли об установке Far'а или FreeCommander'а.
          У линуксоидов почему-то осталось желание ковырять ОС каждый день с утра до вечера. Вроде бы и линуксы, по словам пользователей, пошли прямые, постоянно копаться и чинить уже не надо, всё сразу работает после установки, а линуксоиды по инерции хотят что-то изменить и прикрутить. И думают, что и обои у нас скучные, и программ нет, и выбора нет, и консоль плохая, и злобный M$ не даёт исходники почитать и вместо экрана смерти вкомпилить картинку с пингвином. А никто и не страдает, кроме противников винды, которые её не пользуются и страдать вроде бы не должны.
          Когда есть годные умолчания, когда всё работает, копаться и менять ничего не надо. Не нужен выбор из тысячи однотипных программ, когда одна работает хорошо. Это справедливо для любой ОС.
          Ответить
          • Злобный M$, кстати, почитать дает - лицензия "нешвабодная".
            Ответить
          • А я вообще не могу пользоваться эксплорером, даже ФАР на флешке с собой таскаю.

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

      У меня есть сишная либа Х, зависящая от двух других сишных либ. Есть qt-аппликуха, к которой я хочу прикрутить либу Х. Вопрос - как это по-человечески сделать под виндой? Знакомый виндовс-программист посоветовал гуглить winsxs, но 99% поисковой выдачи - вопросы о том, как уменьшить размер каталога winsxs. Вопрос не холиварный, мне правда желательно разобраться с ним. Я так понимаю, тру-виндовс вэй - впихнуть сорцы всех библиотек в репозиторий с qt приложением и под виндой собирать и распространять всё вместе?

      В ущербном прыщелинупсе мне достаточно опубликовать пакет с либой и дописать его в зависимости qt-аппликухи.
      Ответить
      • Не совсем понял вопрос, но в винде либы обычно кладут в каталог с прогами, правда, такой подход мог прийти с прыщей, где люди пиздочили абы как лишь бы на этой ебаной винде все завелось.
        Ответить
        • Проблема в том, что все аппликуха и все либы лежат в разных репозиториях. Соединять их все в одно дерево не хотелось бы. Есть под виндовсом репозиторий компонент? Должен же быть. Хочется же заиспользовать готовый libsqlite3, зачем захламлять жёсткий диск копиями? Что почитать о том, как писать под вендой проги, которые переиспользуют популярные 3rd party компоненты вроде sqlite или какой-нибудь xmllite? Ну и вообще про дистрибуцию?
          Ответить
          • какое отношение репозитории имеют к дистрибутиву, который оказывается у юзера?

            > зачем захламлять жёсткий диск копиями?
            Чтобы не иметь dll hell. Нет, можно попробовать записать дллки в system32, но обычно почему-то все барахло выбрасывают в каталог программы.
            Ответить
            • Slackware.
              Ответить
            • В общем, складывается ощущение, что в виндовсе динамическая линковка нужна только для шаринга кода между несколькими программами от одного поставщика.

              В линупсе в этом плане всё на 2 порядка удобнее. DLL HELL отсутствиет: api библиотек версионируется, см. soversion.

              Минус, как заметит Тарас, в том, программы раскиданы по всем каталогам, их не скопируешь перетаскиванием мышки (правда, так не везде: см. GoboLinux). Можно, конечно, спросить менеджера пакетов, что где лежит (и вообще просто скопировать весь пакет) но это уже немного не то.
              Ответить
              • >DLL HELL отсутствиет:
                Очень интересно, расскажите, как это, в винде он может быть, а в питухе - нет.
                Ответить
                • в линупсе есть понятие soname - полного имени библиотеки вместе с (как правило) мажорной версией. Все собираемые либы зависят не от абстрактных libabstral.so, а от более конкретных libastral.so.666. И линкер знает не о коротких именах, а о полных.

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

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

                  Однако от разработчиков требуется дисциплина: при потере бинарной совместимости нужно обновлять soname.
                  Ответить
                  • Было подобное и в Винде: msvcrt20.dll → msvcrt40.dll → msvcr60.dll → и так далее (аналогично и для MFC). Но стандартом это почему-то не стало, вместо этого стали городить заумную систему Winsxs.
                    Ответить
                  • То есть, в системе есть все версии библиотек, которые требует хоть одна программа? Какой прок по сравнению с библиотеками в каталоге проги?
                    Ответить
                    • > Какой прок по сравнению с библиотеками в каталоге проги?
                      Ну т.к. проги в основном стоят обновленные, они требуют одну версию либы. Поэтому какая-никакая но экономия есть.

                      Собственно виндовый side-by-side ведь такая же фигня, просто более навороченная и с хешами.
                      Ответить
                    • > есть все версии библиотек
                      Все несовместимые версии библиотек. soname меняется довольно редко. К примеру, у меня сейчас в системе установлена ровно одна (точнее, одна для i386 и одна для amd64) версия libsqlite3-0, от которой зависит примерно сотня установленных пакетов. Версия libxml2 тоже только одна. Степень реюза очень высокая.
                      Ответить
                      • А кто определяет совместимость версий библиотек?
                        Ответить
                        • её авторы, кто же ещё?
                          Ответить
                          • Библиотеки? А если авторы ошибаются?

                            То есть, если нужна библиотека версии 2.0.1, и авторы библиотеки объявили 2.0.2 совместимой с ней - инсталлятор будет ставить 2.0.2?
                            Ответить
                            • повторюсь: часть версии библиотеки, отвечающая за обратную совместимость, обычно входит в название пакета: libsqlite3-0. В зависимостях пакетов очень редко пишут конкретную версию, обычно ограничение на минимальную версию вроде

                              libsqlite3-0 >= 3.7
                              Ответить
                              • То есть авторы программ должны писать, с какими версиями должна работать их прога?
                                Ответить
                                • > авторы программ должны писать, с какими версиями должна работать их прога?

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

                                    А как такое с жавкой сделать (одну гуаву для всех)?
                                    Ответить
                                    • > И это не ломается?
                                      Не припомню, чтобы хоть раз приходилось что-то чинить по этому поводу. Возможно, напрягаются в основном мейнтейнеры пакетов.

                                      > А как такое с жавкой сделать (одну гуаву для всех)?

                                      Я так понимаю, в гуаве иногда обратная совместимость ломается. И вот когда это происходит, нужно как-то совместить 2 разные гуавы.
                                      Насколько я знаю, в жавке это можно сделать только через магию с класс-лоадерами, т.к. в жабке умного линкера нет.
                                      Вот как раз в жабке все признаки dll hell.
                                      Ответить
                                      • >напрягаются в основном мейнтейнеры пакетов.
                                        Ах вон оно что, есть специальные люди, которые эту поеботу чинят? Логично, что под виндой оно не прижилось.

                                        Ну а если не ломается. Можно сделать глобальную гуаву, которая будет включаться, если явно не включить локальную (как с dll)?
                                        Ответить
                                        • >Ах вон оно что, есть специальные люди, которые эту поеботу чинят? Логично, что под виндой оно не прижилось.
                                          Так и под виндой они есть. Или фиксы для багов виндопрограмм сами появляются?

                                          Вот кстати автоустановка багфиксов на винду меня бесит: пришлось отключить обновление винды и ставить обновления только вручную, потому что система решила, что лучше знает когда ей обновляться. Например посреди сборки Буста. Или во время кодирования девятичасового видео.
                                          Ответить
                                          • > пришлось отключить обновление винды и ставить обновления только вручную
                                            А почему не установка NoAutoRebootWithLoggedOnUsers в правильное значение?
                                            http://support.microsoft.com/kb/555444
                                            Я с таким поведением столкнулся только на Windows 8, в более ранних версиях можно было перезагрузку откладывать, пока не надоест.
                                            Ответить
                                            • Ах да, еще перезагрузка. Окно закрыть нельзя, можно только убрать за границы экрана. XP по назойливости не имеет аналогов.
                                              Ответить
                                              • Лицензионная XP не назойливая.
                                                Ответить
                                                • >Лицензионная XP не назойливая.
                                                  А у меня какая? :)
                                                  Ответить
                                          • В винде обычно не парятся об обратной совместимости библиотек, просто суют в инсталлятор, соотвествтенно, и ломаться нечему.

                                            >и ставить обновления только вручную
                                            Да ты так скоро станешь продвинутым юзером. Лет так через 5 :)
                                            Самый сок - это когда винда после апдейтов говорит "А через 5 минут я перезагружусь. К тому времени закрой все программы, или я не виновата" и это, сука, на моем компе! Настройка дефолтовая на XP. А еще радует, что перед установкой апдейтов она сканит комп своим недоантивирусом и это имхо не отключается, только если прибить ее процесс. "Установить апдейты и выключить", ну вы понели.
                                            Ответить
                                            • > Самый сок - это когда винда после апдейтов говорит "А через 5 минут я перезагружусь. К тому времени закрой все программы, или я не виновата"
                                              А за эти 5 минут в XP можно отменить перезагрузку? Вроде бы для какой-то комбинации версии и обстоятельств можно было.
                                              Вот в 8 выдаётся предупреждение за 2 дня, потом, кажется, за час, потом за 15 и 5 минут, а потом она успешно перезагружается, и нигде не вылезает кнопка"отменить".
                                              Ответить
                                              • >>А за эти 5 минут в XP можно отменить перезагрузку? Вроде бы для какой-то комбинации версии и обстоятельств можно было.

                                                В консолечке вбить: shutdown /a
                                                Ответить
                                            • Никогда не слышал о встроенном в XP антивирусе.
                                              А автообновление действительно залог нестабильной работы((( Но эту службу можно легко отключить.
                                              Ответить
                                              • Средство удаления вредоносных программ, Месяц, Год.
                                                Среди обновлений встречается.
                                                Ответить
                                                • Мне известно это, но я не знал, что и на XP есть это зло.
                                                  Ответить
                                                  • Да если бы просто было, всем было бы пофиг. Но какого хера принудительно запускать проверку перед каждым обновлением?
                                                    Ответить
                                              • Антималварь или как ее там.
                                                >Средство удаления вредоносных программ
                                                вот

                                                Отключать ее нельзя. Приходится вручную ставить, но и это не без хуиты. Правда, через месяц геморрой пропадет :)
                                                Ответить
                                                • > Отключать ее нельзя. Приходится вручную ставить, но и это не без хуиты. Правда, через месяц геморрой пропадет :)

                                                  А чем эта штука не угодила? Тормозит? Кряки выпиливает?
                                                  Ответить
                                                  • Это было про апдейты вообще (не видно родительского комента)

                                                    Писал выше, перед обновлением в принудиловку запускается сканет. Ты решил поставить апдейты и ребутнуться - а оно тебе 1,5 часа будет винт сканить.
                                                    Ответить
          • читай про msm (merge shared module)
            тащемта, так устанавливаются рантаймы вижуал студии
            если libsqlite3 в это умеет, конечно
            Ответить
            • Кажется, я понял мысль.
              Чтобы запровайдить нормальный убер-инсталлер, собираешь из всех зависимостей шаред-модули и мёржишь их в один инсталлятор, тулы вроде бесплатные есть. Выглядит приемлимо, спасибо.
              Ответить
              • ага
                только, скорее всего, и весь инсталлер должен быть msi
                а это тот ещё кромешный пиздец (да-да, даже с wix)
                Ответить
                • > это тот ещё кромешный пиздец (да-да, даже с wix)

                  Да, я так и думал. Если руки дойдут, проверю, что "круче": autotools или msi.
                  Ответить
                  • обязательно отпишись, люто ненавижу оба.
                    Ответить
              • >и мёржишь их в один инсталлятор
                И ты это только сейчас понял? Ты винду по телевизору только видел? :)
                Ответить
                • > Ты винду по телевизору только видел?
                  я в ней работаю очень, очень редко. Софт под неё я (к счастью) вообще не писал, поэтому априори понятия не имею, что там и куда мёржится.
                  Ответить
                  • Да? Ну тогда читай книжки, что ли. Влом тебе такие банальности обьяснять.
                    Ответить
                    • > тогда читай книжки, что ли
                      >> Что почитать о том, как писать под вендой проги

                      Ну так я как бы и спросил, что можно толкового почитать.

                      > Влом тебе такие банальности обьяснять.

                      Я почти уверен, что 95% программистов, всю жизнь работавших на винде, понятия не имеют, как писать инсталляторы и какая там у вендоавторов переменчивая философия дистрибуции.
                      Ответить
                      • давненько читал книжку. Так в ней написано так прям большими буквами. ЕСЛИ ВАМ ЗАХОЧЕТСЯ НАПИСАТЬ СВОЙ ИНТСТАЛЯТОР, ОТРЕЖЬТЕ СЕБЕ РУКИ И ИСПОЛЬЗУЙТЕ СПЕЦИАЛИЗИРОВНАННЫЕ ПРОГИ ОТ КОМПАНИЙ КОТОРЫЕ УМЕЮТ ЭТО ДЕЛАТЬ.

                        это не цитата но смысл я передал. Вся проблема в том что делая инсталятор ты случайно можешь затереть более новую либу или вообще удалить пол папки виндовс (http://disk-blog.ya.ru/replies.xml?item_no=1368)
                        Ответить
                        • * информация размещена по заказу InstallShield © Flexera Software LLC
                          Ответить
                        • >Вся проблема в том что делая инсталятор ты случайно можешь затереть более новую либу или вообще удалить пол папки виндовс
                          https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac
                          Ответить
                        • Файлы ОС это еще хуйня, вот когда незабекапленные юзерские файлы потрет...
                          Ответить
                      • >Я почти уверен, что 95% программистов, всю жизнь работавших на винде, понятия не имеют, как писать инсталляторы и какая там у вендоавторов переменчивая философия дистрибуции.

                        95% продвинутых юзеров знают то, что ты спросил.
                        Ответить
                        • > 95% продвинутых юзеров знают то, что ты спросил

                          95% продвинутых юзеров знают, как собирать длл-ки в шаред модули и мёржить их в msi-инсталляторы? ты уверен? есть релузультаты опроса?
                          Ответить
                          • 95% продвинутых юзеров знают, что инсталляторы таскают с собой все библиотеки. Остальное их обычно не касается.
                            Ответить
                            • и только 5% остальных юзеров знают, что можно прямо в инсталляторе подключиться к интернету и слить рантайм, обновить фреймворк и прочие дела, не таская в себе всё это барахло
                              Ответить
                              • msi умеет это изкоробки? Или надо дописывать самому?
                                Ответить
                                • ну, учитывая, что
                                  mysql-installer-web-community-5.6.16.0.msi 1.5M
                                  mysql-installer-community-5.6.16.0.msi 250.8M
                                  как-то можно
                                  лень разбираться
                                  мне казалось, что там чуть ли не урл можно вписать в качестве источника компонента, не буду врать
                                  Ответить
                              • Про веб инсталляторы знают те самые 95%, просто... ну не люблю их я (хуй знает что качают) и не так часто они встречаются.
                                Ответить
                                • > хуй знает что качают
                                  И качают это каждый раз, мать их.
                                  Переустанавливаешь систему и хочешь устанавливать все игры программы - хрен тебе, жди, пока соизволил скачать. Хочешь поставить программу без сети - сосни по-крупному.

                                  Только недавно надо было быстро поставить MSVS Express 2010 - ISOшник ой как пригодился, качать его на месте - часа четыре.
                                  Ответить
                                  • Вот поэтому я их и не люблю. Ну так что, соснули они, и высер с ними?
                                    Ответить
                                    • Хотя pip не так плох, может, потому, что он сотни мегабайт с собой не таскает.
                                      Ответить
                                • Люто ненавижу веб инсталяторы, которые не предлагают оффлайн версии. Из-за них процесс установки софта на комп где инета нет и не положено превращается в увлекательный квест.
                                  Ответить
                            • Это и ежу понятно. Я спрашивал про детали, а не теорию.

                              > > и мёржишь их в один инсталлятор
                              > И ты это только сейчас понял?

                              Любому должно быть понятно из общих соображений, что библиотеки нужно как-то включить в инсталлятор. Я имел в виду, что текущий state-of-the-art: собирать из библиотек реюзабельные merge modules (это не просто dll, если что: merge module is similar in structure to a simplified Windows Installer .msi file), которые потом можно тулой вмёрживать в несколько инсталляторов, типа модульный инсталлятор получается.
                              Ответить
                              • насколько я помню, смысл msm не только в том, что его вмёрживают в свой инсталлятор (упрощая жизнь инсталлятороделам, разделяя на легкоделимые компоненты), но и в том, что система виндозных пакетов устанавливает их однократно в отдельное место, хранит счетчик ссылок и удаляет, только когда msm перестает быть нужным
                                Ответить
                                • Да, это я тоже понял, спасибо за дополнение.
                                  Ответить
                                • >система виндозных пакетов
                                  Это с какой версии такое?
                                  Ответить
                                  • http://msdn.microsoft.com/en-us/library/aa243945.aspx
                                    ищи benefits of using merge module

                                    статейка актуальна ажно для студии 6.0
                                    Ответить
                                    • > студии 6.0
                                      Тарас будет рад.
                                      Ответить
                                      • У меня тоже есть 6-я студия, правда, я редко ее открываю, потому, что не знаю сей. Но депенденси уолкер и spy++ из нее постоянно юзаю.
                                        Ответить
                        • > 95% продвинутых юзеров знают то, что ты спросил.
                          Опрос среди пользователей интернета показал, что 100% из них пользуются интернетом.
                          Ответить
                          • Хм, есть какие-то возражения?
                            Ответить
                            • 1) Роман выше признался, что он совсем не продвинутый виндоюзер - вполне логично, что он не знает о msm, зачем ему еще раз на это указывать?
                              2) Нахера юзеру писать инсталляторы, даже если он продвинутый? Другое дело, если он что-то разрабатывает.
                              Ответить
                              • 1) Тут http://govnokod.ru/15278#comment220043 он признался, что про факт включения в инсталлятор он знает. Если его интересует, как это сделать - пусть ищет.
                                2) http://govnokod.ru/15278#comment220033
                                Ответить
                    • Собственно, дефекейт мне подсказал нужный материал, всем спасибо.
                      Ответить
    • писать троян на делфях, все равно что на VB6 - вирус будет жаловаться на отсутствующие библиотеки ;( и никакого самоизменяющегося кода...
      любой современный антивирь, даже такая поделка, как NOD, быстро определит в коде подозрительную функциональность и завизжит.

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

      з.ы. странно, что до сих пор действуют методы распространения из 90х - двойные расширения, вложения типа *.exe и *.doc, даже *.scr.
      эх, даже моя мать, получив на емайл длинное письмо в духе "умер ваш родственник, оставив вам миллионы, заберите их, пожалуйста" - на мой совет "удаляй" - отвечает: "а вдруг это правда? почитай!"...
      Ответить
      • На делфях трояны писать можно... если выкинуть VCL. Но тогда это будет уже не Delphi-way.
        Ответить
      • Был успешный опыт (не совсем мой) написания клиента ботнета на дотнете.
        Ответить
        • Ну дык на клиента же нет никаких ограничений... Хоть на 1с мути, всем пофиг.
          Ответить
          • А какие ограничения на сервер, лол?
            Ответить
            • Сервером у ботнета что считают? Ноду на зараженной машине или тупо сервер управления?

              Если сервер управления - то никаких.
              Если ноду на зараженной машине - то как минимум то, что оно должно работать на любом компе изкоробки. Ну не будет же оно при заражении компа качать фреймворки и т.п.? :)
              Ответить
              • Клиент - это то, что на компе и лезет на сервер.

                >то как минимум то, что оно должно работать на любом компе изкоробки.
                На дотнете работало, написал же. Для наших нужд хватило.
                Ответить
                • Я думал, что клиент это админка, которой задания ботнету раздают. Спасибо за разъяснения терминов.
                  Ответить
      • >>писать троян на делфях, все равно что на VB6 - вирус будет жаловаться на отсутствующие библиотеки

        Файловый вирус "Нешта" написан на дельфях - и что, он жалуется на отсутствующие библиотеки? Вирус получил огромное распространение.
        Ответить
    • Был еще вирус индюк. Который спокойно размножался почти год. тоже на дельфях кстати.
      Ответить
    • Дельфи + школьник = троян.
      Ответить
    • <a href=http://xrmasa.com.pl>kamagra </a>
      <a href=http://xrmasa.com.pl>viagra </a>
      <a href=http://xrmasa.com.pl>kamagra </a>
      <a href=http://xrmasa.com.pl>levitra </a>
      <a href=http://xrmasa.com.pl>kamagra </a>
      Ответить
    • Я скинул его с себя, и обнял его сзади. Он свернулся калачиком. Я терся членом о его ягодицы. Мне невыносимо хотелось войти в него. Я попытался, но задница не поддавалась, я еще поднажал.
      Ответить

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