Другие языки программирования и технологии

Чтоб самому анализировать exe на наличие вирусов, обязательно надо знать C++ и дизассемблер ?

Сколько времени займет анализ exe размером 1 мегабайт ?
Размер .exe файла вообще ни о чем не говорит. Это может быть файл с кучей ресурсов (текст, картинки) , с встроенными библиотеками.
Знать надо ассемблер, если код написан для платформы win32/64. Если же написан под .NET надо знать MSIL. Надо иметь огромный опыт в Reverse engineering знать средства с помощью которых разрабатывалась программа. Если файл был зашифрован (архивирован) - расшифровать (разархивировать) .

И времени это может занять уйму. Обычно такой анализ проводится "с определенной долей вероятности".

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

Короче С++ здесь вообще ни при чем и может помочь только в очень малом количестве частных случаев. Знать надо ассемблер+платформу (API, библиотеки, компилятор и т. д.) .
Константин Воробьев
Константин Воробьев
9 996
Лучший ответ
exe анализируется программами, а не людьми. В exe ищутся коды вирусов (в числе прочих проверок) . Вручную такие вещи вообще невозможно сделать.
Макс Запеныч
Макс Запеныч
51 110
С++ вообще можно не знать.
Надо знать ассемблер и уметь пользоваться дизассемблером.
На анализ файла в 1 мб могут уйти многие месяцы. Придется разбираться в примерно 300 000 - 400 000 строках кода.
СМ
Сергей Муся
88 231
А вы уверены, что знаете все без исключения вирусные коды что называется, "в лицо" ? Для этого существуют антивирусы, которые это делают автоматически.
Erkegali Karbozov
Erkegali Karbozov
97 728