Diffing C source codes to binaries

Часто в ходе проекта реверс-инженеру приходится импортировать символы из открытых или утекших в сеть баз кода в базы данных IDA. Самое очевидное решение, которое приходит в голову в подобных ситуациях, — скомпилировать в binary, выполнить diff и импортировать совпадения. Однако, как правило, проблема осложняется оптимизацией компилятора, набором использованных флагов и прочими техническими моментами. Проблема может стать и вовсе не разрешимой, поскольку новые версии компилятора не способны корректно обработать исходный код, представленный лишь в виде разрозненных фрагментов. В данном докладе мы обсудим алгоритмы импорта символов «напрямую» из исходного C-кода в базы данных IDA и представим вниманию слушателей инструмент (который, скорее всего, будет работать в связке с Diaphora), позволяющий это сделать.

Хоксен Коре

За последние 15 лет Хоксен Коре успел поработать во всех возможных IT-сферах. Начав свою карьеру в качестве разработчика ПО для баз данных и RDBMS, позже он увлекся реверс-инжинирингом и применил свои знания в этой области в своей работе с базами данных. Результат не заставил себя долго ждать: Хоксен обнаружил несколько десятков уязвимостей в продуктах основных вендоров баз данных (например, Oracle). Помимо этого, Хоксен занимялся анализом вредоносного ПО и разработкой средств защиты от него, разработкой IDA Pro в компании Hex-Rays. Хоксен стал соавтором учебника «The Antivirus Hackers Handbook». Сейчас он поддерживает ряд open source проектов и занимает пост инженера по информационной безопасности в Activision.

Поделись в соцсетях

Like!