Awesome REA
Русский
Вернуться ко всем делам

bzip2: проверка результатов очищенного двоичного кода по символьной сборке

Цель: bzip2 1.0.8 скомпилирован с помощью gcc -O2 и удален, Linux x86-64

Автор/атрибуция: CassieFox23

Дата проверки источника:

Статус проверки: Источники рассмотрены; авторские тесты самостоятельно не перепроводятся.

Вопрос

Как можно найти функцию из выходной строки и проверить ее отношения вызовов?

Что сделал REA

REA 6.4.0 и Ghidra находят функцию из строки, выводят список вызывающих и вызываемых объектов и возвращают Evidence с меткой observed/derived.. Автор отдельно проверяет неразрезанную сборку из того же источника с исходным кодом nm и objdump.

Результаты, сообщенные автором

Автор сообщает об обнаружении распаковки с вызывающим объектом 1 и вызывающими объектами 24, соответствующими эталонной сборке. Шаги сборки, обрезанные записи MCP и два класса ответов об ошибках являются общедоступными.

Ограничения и непроверенные претензии

Одна программа, настройка и функции компиляции, без сравнения инструментов. Ребра 24 — это прямые вызовы, разрешаемые поставщиком, а не полный граф времени выполнения. Полный клиентский сценарий не является общедоступным; в архиве есть записанный хеш, но нет проверки подписи. Этот каталог не перезапускался.

Чему научиться

Постройте основную истину на основе соответствующей символизированной сборки и отдельных наблюдений, выводов и проверок ссылок.

Доказательства использования REA в источнике

REA's function, one caller and 24 callees all matched an unstripped build and the source.

Форматирование выдержки упрощено. Прочтите первоисточник для полного контекста.

Первоисточники

Независимое редакционное резюме. Кредит принадлежит первоначальным авторам. Целевое программное обеспечение, установщики и полный вывод декомпилятора здесь не перераспределяются.

Посмотреть этот случай на GitHub · Предложить исправление