Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Дизасемблирование исполняемого файла с целью устранения из него постороннего кода.  (Прочитано 8280 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Вольфрам
Интересующийся

ru
Offline Offline

« : 21-12-2023 21:21 » 

Здравствуйте! Давно меня мучает вопрос, можно ли убрать посторонний код из исполняемого файла, с сохранением работоспособности самого файла? Я помню, как на каком то форуме разбирали файл на низком уровне, находили в нём "лишнее" и обезвреживали. После этих манипуляций программа работала. К сожалению этот форум я не нахожу больше. Закладки не сохранились. но раз речь там шла о низкоуровневом разборе кода, я подумал, что будет уместно задать этот вопрос здесь.
Итак: Как найти (допустим тело вируса) в исполняемом файле? Как его обезвредить с сохранением работоспособности самого файла? Какие способы и инструменты для этого нужны?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-12-2023 23:18 » 

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

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Вольфрам
Интересующийся

ru
Offline Offline

« Ответ #2 : 22-12-2023 08:49 » 

Антивирус нужен и ничего более.
Антивирус просто ставит всю программу в карантин или удаляет. То есть задача не решается, а снимается с повестки. Меня это не устраивает. Я хочу спасти файл, с сохранением работоспособности.
Записан
Вольфрам
Интересующийся

ru
Offline Offline

« Ответ #3 : 22-12-2023 08:57 » 

Альтернативный вариант подразумевает глубокие специфические знания и его не имеет смысл обсуждать на обывательском уровне.
Именно этого (Альтернативный вариант...) я и ищу. И мне бы очень помогло, если бы кто то опытный в таких вопросах набросал мне примерный алгоритм решения подобной задачи, с парой ссылок на ресурсы и с названием программ, которые понадобятся в качестве инструмента, для вскрытия и копания двоичного кода файла.
P/S:
Никак не ожидал, что администратор данного форума считает такую исследовательскую задачу обывательской. 
Записан
Люсь
Команда клуба

ru
Offline Offline
Пол: Женский

« Ответ #4 : 22-12-2023 10:26 » 

Щас бы ещё на админов наезжать  Отлично Отлично
А ведь он дело говорит ))

Как по мне, лучше уж приобщаться к изучению нейросетей, она быстрее обучится машинному коду и найдёт изъяны, чем новичок без навыков программирования ассемблер изучит )
Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 22-12-2023 10:32 » 

Задача гарантированно решается только заменой зараженного файла на оригинальный. Что антивирус, частично, и делает: обнаруживает и удаляет, а пользователю остается только вернуть файл из бекапа или дистрибутива и снова его проверить. Если нет ни бекапа, ни исходного файла в дистрибутиве, то задача не имеет гарантии, т.к. нужно знать, как зараженный файл используется операционкой и как вирус активируется. В простейшем случае, это exe или dll, просто доп. блок с кодом в конце файла и перехват каких-то точек исполнения в оригинальном коде (измененные несколько байт в основном коде). В сложном случае — что угодно, задача не решаемая. Кроме нативных исполняемых exe/dll могут быть еще компилируемые форматы (напр. для .net), скрипты (программы в исходном коде, например js), косвенные воздействия (определенная порча данных, обрабатывая которые, программа поведет себя нужным для злоумышленника образом).
Восстановление простейшего случая сводится у убиранию лишнего кода и восстановлению кода в точке перехвата. Вот тут и нужны знания ассемблера и куча времени, чтобы понять, что же было в старом коде. Эти байты могли как быть скопированы в блок вируса, так и затерты безвозвратно.
Вывод: шансов на восстановление мало, трудозатраты огромны, проще восстановить из бекапа или дистрибутива. Возвращаемся к исходной позиции: антивирус — решение проблемы.

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

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Вольфрам
Интересующийся

ru
Offline Offline

« Ответ #6 : 22-12-2023 19:49 » 

обнаруживает и удаляет, а пользователю остается только вернуть файл из бекапа или дистрибутива и снова его проверить.
Файл уже был скачан с вирусом и мой антивирус его просто в карантин помещает и всё. Из возможностей, только разрешить на компьютере, или удалить. Лечить он не умеет. Сам файл обычный EXE-шник. Из Вами сказанного вычленяю два варианта:
1. Антивирус, который умеет лечить.
Не очень верю, но согласен попробовать те антивирусы, которые умеют лечить такие файлы, а не просто закрывать их в карантине. Есть у Вас такие на примете?
2. Реверсинг, дизассемблирование, с последующим лечением ручками.
Второй вариант более интересен. Какие посоветуете ресурсы по данной теме? И какие программные инструменты тут уместны?

P/S:
Спасибо за развёрнутый ответ. Стало немного виднее, чего ждать от данного пути.
Записан
Вольфрам
Интересующийся

ru
Offline Offline

« Ответ #7 : 22-12-2023 19:59 » 

И не задачу я назвал обывательской, а подход без нужных знаний и опыта. Потому что их надо много.
Ну так за этим я и пришёл на ваш продвинутый форум. Мне нужны знания и опыт. Лопату уже точу. Укажите направление, куда копать.
Ну... если не жалко, конечно.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 22-12-2023 21:05 » 

Смотрите, как именно идентифицирует антивирус заразу. Потом гуглите, может найдете больше информации по ней, это было бы полезно.
У вируса есть так называемая сигнатура, по которой антивирус его и обнаруживает. Полезно было бы узнать, как она выглядит.
Вооружайтесь документацией, мануалами. Смотрите, какая версия, 32-битная или 64-битная, соотв., нужна документация по системе команд IA32 или AMD64. Различные системные и библиотечные вызовы — тоже все есть в интернете, например, MSDN.
И вам потребуется дизассемблер. Например, IDA. А дальше все в ваших руках.

Ну и не стоит исключать ложное срабатывание антивируса. Стоит проверить несколькими.

Запускать зараженный файл можно, но в изолированном окружении. Например, виртуальная машина. Рекомендую VirtialBox. Можно сделать одну машину, поставить винду, сделать базовые настройки и клонировать ее для эксперимента, а после копию можно удалить. Конечно, не стоит выпускать такую вирткуалку в домашнюю или другую реальную сеть.
« Последнее редактирование: 22-12-2023 21:11 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Вольфрам
Интересующийся

ru
Offline Offline

« Ответ #9 : 22-12-2023 22:06 » 

Ну вот! Жжешь
Спасибо Вам большое!
Теперь поле деятельности проясняется. Пошёл рассматривать ориентиры Улыбаюсь
Записан
Вольфрам
Интересующийся

ru
Offline Offline

« Ответ #10 : 22-12-2023 22:20 » 

Щас бы ещё на админов наезжать  Отлично Отлично
Ну нет. Я ни на кого тут не наезжаю. Стараюсь общаться корректно.

... чем новичок без навыков программирования ассемблер изучит )
Навыки есть. Но не низкоуровневые. И скорее на уровне знакомства и пробы сил. Но некоторое представление имею.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #11 : 23-12-2023 04:22 » 

она быстрее обучится машинному коду и найдёт изъяны, чем новичок без навыков программирования ассемблер изучит )
пока что сегодня ИИ не имеет способности к написанию программ. Умет подражать и дёргать с тырнета готовые студенческие задачки. На этом всё. И то иногда и там косячит. Чуть более сложное - многопоточность, синхронизация, и всё, не работает
Записан

Люсь
Команда клуба

ru
Offline Offline
Пол: Женский

« Ответ #12 : 23-12-2023 16:18 » 

она быстрее обучится машинному коду и найдёт изъяны, чем новичок без навыков программирования ассемблер изучит )
пока что сегодня ИИ не имеет способности к написанию программ. Умет подражать и дёргать с тырнета готовые студенческие задачки. На этом всё. И то иногда и там косячит. Чуть более сложное - многопоточность, синхронизация, и всё, не работает

Погоди, то ли еще будет!  Это только первый год,  когда ИИ наделало столько шуму!

Записан

Посторонним просьба не беспокоить!
-------------------------------------------------
O (I) Rh +
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #13 : 23-12-2023 16:59 » 

Люсь, сомневаюсь, что шум станет сильнее. Ну, музыку прикольную делает. Рисует - прямая имитация шизофрении. С пальцами проблема Отлично Программировать не умеет
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines