Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
.text:004010EA loc_4010EA: ; CODE XREF: sub_401090+48↑j
Если же код расшифровщика по своей дремучести
напоминает непроходимый таежный лес, у исследования есть все основания считать,
что исследуемая программа упакована одним из навесных упаковщиков, к которым, в
частности, принадлежат ASPack, UPX, NeoLite и другие. Отождествить конкретный
упаковщик при наличии достаточного опыта можно и самостоятельно (даже
полиморфные упаковщики легко распознаются визуально, стоит только столкнуться с
ними три-пять раз кряду), а во всех остальных случаях вам помогут специальные
сканеры, самым известным (и мощным!) из которых является бесплатно
распространяемый PESCAN (
Рисунок 4. PE-SCAN в действии
А как быть, если PE-SCAN не сможет определить
оригинальную точку входа или ни один из найденных вами распаковщиков не
справляется с данным файлом? Если исследуемый файл хотя бы однократно
запускался (то есть ваша машина уже потенциально заражена), можно взять ProcDump
(
На худой конец можно попробовать перехватить передачу управления распакованному коду, просто поставив на соответствующие API-функции точки останова. При определенных навыках работы с двоичным кодом мы имеем все шансы осуществить такой перехват еще до того, как вирус успеет внедриться в систему или что-то испортить в ней, однако никаких гарантий на этот счет у нас нет и вирус в любой момент может вырваться из-под контроля, поэтому исследования такого рода лучше всего проводить на отдельной машине.
Итак, вызываем soft-ice и устанавливаем точки останова на все потенциально опасные функции, а также все те функции, которые обычно присутствуют в стартовом коде (см. раздел «Стартовый код»). Если вирус написан на языке высокого уровня, мы захватим выполнение еще до начала выполнения функции main. В противном случае отладчик всплывет при первой попытке выполнения потенциально опасной функции.