| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | «  : 21-12-2023 21:21 »  |  | 
 
 Здравствуйте! Давно меня мучает вопрос, можно ли убрать посторонний код из исполняемого файла, с сохранением работоспособности самого файла? Я помню, как на каком то форуме разбирали файл на низком уровне, находили в нём "лишнее" и обезвреживали. После этих манипуляций программа работала. К сожалению этот форум я не нахожу больше. Закладки не сохранились. но раз речь там шла о низкоуровневом разборе кода, я подумал, что будет уместно задать этот вопрос здесь.Итак: Как найти (допустим тело вируса) в исполняемом файле? Как его обезвредить с сохранением работоспособности самого файла? Какие способы и инструменты для этого нужны?
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #1 : 21-12-2023 23:18 »  |  | 
 
 Антивирус нужен и ничего более.Альтернативный вариант подразумевает глубокие специфические знания и его не имеет смысл обсуждать на обывательском уровне.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | « Ответ #2 : 22-12-2023 08:49 »  |  | 
 
 Антивирус нужен и ничего более.
 Антивирус просто ставит всю программу в карантин или удаляет. То есть задача не решается, а снимается с повестки. Меня это не устраивает. Я хочу спасти файл, с сохранением работоспособности. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | « Ответ #3 : 22-12-2023 08:57 »  |  | 
 
 Альтернативный вариант подразумевает глубокие специфические знания и его не имеет смысл обсуждать на обывательском уровне.
 Именно этого (Альтернативный вариант...) я и ищу. И мне бы очень помогло, если бы кто то опытный в таких вопросах набросал мне примерный алгоритм решения подобной задачи, с парой ссылок на ресурсы и с названием программ, которые понадобятся в качестве инструмента, для вскрытия и копания двоичного кода файла.  P/S: Никак не ожидал, что администратор данного форума считает такую исследовательскую задачу обывательской.   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Люсь | 
								|  | « Ответ #4 : 22-12-2023 10:26 »  |  | 
 
 Щас бы ещё на админов наезжать      А ведь он дело говорит )) Как по мне, лучше уж приобщаться к изучению нейросетей, она быстрее обучится машинному коду и найдёт изъяны, чем новичок без навыков программирования ассемблер изучит ) |  
						| 
								|  |  
								|  |  Записан | 
 
 Посторонним просьба не беспокоить!-------------------------------------------------
 O (I) Rh +
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #5 : 22-12-2023 10:32 »  |  | 
 
 Задача гарантированно решается только заменой зараженного файла на оригинальный. Что антивирус, частично, и делает: обнаруживает и удаляет, а пользователю остается только вернуть файл из бекапа или дистрибутива и снова его проверить. Если нет ни бекапа, ни исходного файла в дистрибутиве, то задача не имеет гарантии, т.к. нужно знать, как зараженный файл используется операционкой и как вирус активируется. В простейшем случае, это exe или dll, просто доп. блок с кодом в конце файла и перехват каких-то точек исполнения в оригинальном коде (измененные несколько байт в основном коде). В сложном случае — что угодно, задача не решаемая. Кроме нативных исполняемых exe/dll могут быть еще компилируемые форматы (напр. для .net), скрипты (программы в исходном коде, например js), косвенные воздействия (определенная порча данных, обрабатывая которые, программа поведет себя нужным для злоумышленника образом).Восстановление простейшего случая сводится у убиранию лишнего кода и восстановлению кода в точке перехвата. Вот тут и нужны знания ассемблера и куча времени, чтобы понять, что же было в старом коде. Эти байты могли как быть скопированы в блок вируса, так и затерты безвозвратно.
 Вывод: шансов на восстановление мало, трудозатраты огромны, проще восстановить из бекапа или дистрибутива. Возвращаемся к исходной позиции: антивирус — решение проблемы.
 
 И не задачу я назвал обывательской, а подход без нужных знаний и опыта. Потому что их надо много.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | « Ответ #6 : 22-12-2023 19:49 »  |  | 
 
 обнаруживает и удаляет, а пользователю остается только вернуть файл из бекапа или дистрибутива и снова его проверить.
 Файл уже был скачан с вирусом и мой антивирус его просто в карантин помещает и всё. Из возможностей, только разрешить на компьютере, или удалить. Лечить он не умеет. Сам файл обычный EXE-шник. Из Вами сказанного вычленяю два варианта:  1. Антивирус, который умеет лечить.  Не очень верю, но согласен попробовать те антивирусы, которые умеют лечить такие файлы, а не просто закрывать их в карантине. Есть у Вас такие на примете? 2. Реверсинг, дизассемблирование, с последующим лечением ручками.  Второй вариант более интересен. Какие посоветуете ресурсы по данной теме? И какие программные инструменты тут уместны? P/S: Спасибо за развёрнутый ответ. Стало немного виднее, чего ждать от данного пути. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | « Ответ #7 : 22-12-2023 19:59 »  |  | 
 
 И не задачу я назвал обывательской, а подход без нужных знаний и опыта. Потому что их надо много.
 Ну так за этим я и пришёл на ваш продвинутый форум. Мне нужны знания и опыт. Лопату уже точу. Укажите направление, куда копать. Ну... если не жалко, конечно.  |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| RXL | 
								|  | « Ответ #8 : 22-12-2023 21:05 »  |  | 
 
 Смотрите, как именно идентифицирует антивирус заразу. Потом гуглите, может найдете больше информации по ней, это было бы полезно.У вируса есть так называемая сигнатура, по которой антивирус его и обнаруживает. Полезно было бы узнать, как она выглядит.
 Вооружайтесь документацией, мануалами. Смотрите, какая версия, 32-битная или 64-битная, соотв., нужна документация по системе команд IA32 или AMD64. Различные системные и библиотечные вызовы — тоже все есть в интернете, например, MSDN.
 И вам потребуется дизассемблер. Например, IDA. А дальше все в ваших руках.
 
 Ну и не стоит исключать ложное срабатывание антивируса. Стоит проверить несколькими.
 
 Запускать зараженный файл можно, но в изолированном окружении. Например, виртуальная машина. Рекомендую VirtialBox. Можно сделать одну машину, поставить винду, сделать базовые настройки и клонировать ее для эксперимента, а после копию можно удалить. Конечно, не стоит выпускать такую вирткуалку в домашнюю или другую реальную сеть.
 |  
						| 
								|  |  
								| « Последнее редактирование: 22-12-2023 21:11 от RXL » |  Записан | 
 
 ... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. |  |  | 
	| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | « Ответ #9 : 22-12-2023 22:06 »  |  | 
 
 Ну вот!   Спасибо Вам большое!  Теперь поле деятельности проясняется. Пошёл рассматривать ориентиры   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Вольфрам 
								Интересующийся    Offline | 
								|  | « Ответ #10 : 22-12-2023 22:20 »  |  | 
 
 Щас бы ещё на админов наезжать     Ну нет. Я ни на кого тут не наезжаю. Стараюсь общаться корректно. ... чем новичок без навыков программирования ассемблер изучит )
 Навыки есть. Но не низкоуровневые. И скорее на уровне знакомства и пробы сил. Но некоторое представление имею. |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Алексей++ 
								глобальный и пушистыйГлобальный модератор    Offline 
								Сообщений: 13
								
								
								
								
								
							 | 
								|  | « Ответ #11 : 23-12-2023 04:22 »  |  | 
 
  она быстрее обучится машинному коду и найдёт изъяны, чем новичок без навыков программирования ассемблер изучит )
 пока что сегодня ИИ не имеет способности к написанию программ. Умет подражать и дёргать с тырнета готовые студенческие задачки. На этом всё. И то иногда и там косячит. Чуть более сложное - многопоточность, синхронизация, и всё, не работает |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	| 
			| 
					
						| Люсь | 
								|  | « Ответ #12 : 23-12-2023 16:18 »  |  | 
 
  она быстрее обучится машинному коду и найдёт изъяны, чем новичок без навыков программирования ассемблер изучит )
 пока что сегодня ИИ не имеет способности к написанию программ. Умет подражать и дёргать с тырнета готовые студенческие задачки. На этом всё. И то иногда и там косячит. Чуть более сложное - многопоточность, синхронизация, и всё, не работаетПогоди, то ли еще будет!  Это только первый год,  когда ИИ наделало столько шуму! |  
						| 
								|  |  
								|  |  Записан | 
 
 Посторонним просьба не беспокоить!-------------------------------------------------
 O (I) Rh +
 |  |  | 
	| 
			| 
					
						| Алексей++ 
								глобальный и пушистыйГлобальный модератор    Offline 
								Сообщений: 13
								
								
								
								
								
							 | 
								|  | « Ответ #13 :  23-12-2023 16:59 »   |  | 
 
 Люсь, сомневаюсь, что шум станет сильнее. Ну, музыку прикольную делает. Рисует - прямая имитация шизофрении. С пальцами проблема    Программировать не умеет |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	|  |