Взгляд с обратной стороны: как смотрит на код реверсер
12 мин
Привет! Меня зовут Денис, я Lead Security Researcher в центре Global Research & Analysis Team (GReAT) — подразделении «Лаборатории Касперского», которое занимается целевыми вредоносами. Это значит, что их авторы не рассылают трояны всем подряд, а тщательно выбирают свои организации-жертвы. Иногда их «продукты» написаны интересно.
Мы в GReAT в буквальном смысле слова годами следим за командами, которые пишут такое, детально разбираем их зло, формируем отчеты для заказчиков, плюс иногда подкидывая идеи и продуктовым командам.

Эта статья написана по мотивам выступления на C++ Russia. Я хочу рассказать, как на код C++ смотрит реверсер и что он видит в этомкомбайне прекрасном языке. Обычно разработчик идет от исходного кода к двоичному, а мы — наоборот. Ко мне и коллегам приезжают самплы — уже скомпилированные исполняемые (PE, ELF, etc.) файлы, возможно, какой-то байткод одного из intermediate languages или даже прошивка. И мы начинаем их разбирать. Как мне кажется, реверсеры и разработчики могли бы обогатить друг друга.
Мы в GReAT в буквальном смысле слова годами следим за командами, которые пишут такое, детально разбираем их зло, формируем отчеты для заказчиков, плюс иногда подкидывая идеи и продуктовым командам.

Эта статья написана по мотивам выступления на C++ Russia. Я хочу рассказать, как на код C++ смотрит реверсер и что он видит в этом


Узнал вчера на «
Вы наверняка не раз слышали, что фундаментальная наука хуже всех остальных отраслей переживает чисто рыночные отношения вокруг себя. Возможно, контрпримером сможет стать один проект, на самой-самой дальней орбите которого я вдруг оказался. Есть случай финансирования современным российским бизнесов фундаментальных научных исследований. В конце концов, не швейцарским ускорителем частиц единым жива наука, есть интересные проекты значительно ближе. 
Я редко плачу за софт, мягко говоря. Но буквально за последние несколько месяцев сделал это трижды. Причем за игры. Есть такой человек в Нью-Йорке –