herm1t LIVE!ng room [entries|archive|friends|userinfo]
herm1t

[ website | twilight corner in the herm1t's cave ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Неэкспортируемые символы [Feb. 12th, 2016|02:01 pm]
[Tags|, , , , , , , , ]
[Current Mood | thoughtful]

Давно и успешно использую следующий метод для поиска неэкспортируемых символов. Дизассемблируем код (linear sweep), линейно, хотя бы для того, чтобы убедиться, что код создан нормальным компилятором и в нем нет антиотладки. Отмечаем начало функций (все, что вызывется через call). Потом трейсим каждую функу рекурсивно и используем эвристики, такие как: использование констант (хорошо, если есть строки), определенный набор внешних функций или даже просто специфическую форму CFG. Странно, но нашел всего одно упоминание этого способа в нужном контексте, да и то без готового инструмента, а просто, как PoC. Так что и антивирусные приколы могут быть полезны, кто бы мог подумать. :-) Неожиданно, массовый софт - предельно стабилен и меняется медленно, так что "сигнатуры" (на control / data flow, не на инструкции) накрывают очень широкий диапазон версий.
Link12 comments|Leave a comment

navigation
[ viewing | most recent entries ]