Меняем промежуточное представление кода на лету в Ghidra
Когда мы разрабатывали модуль ghidra nodejs для инструмента Ghidra, мы поняли, что не всегда получается корректно реализовать опкод V8 (движка JavaScript, используемого Node.js) на языке описания ассемблерных инструкций SLEIGH. В таких средах исполнения, как V8, JVM и прочие, один опкод может выполнять достаточно сложные действия. Для решения этой проблемы в Ghidra предусмотрен механизм динамической инъекции конструкций P-code — языка промежуточного представления Ghidra. Используя этот механизм, нам удалось превратить вывод декомпилятора из такого:
Читать далееИсточник: Хабрахабр
Похожие новости
- Как искусственный интеллект трансформирует SASE и Нулевое доверие в современной корпоративной инфраструктуре
- 5 нейроинструментов, которые помогают создавать хорошие изображения
- 35% маркетологов недовольны отсутствием удалёнки
- Как создать эффектный и бесполезный вирусный контент
- 7 самых распространенных ошибок при внесении ПО и ПАК в МинЦифры и как этого избежать
- Бюджеты иностранных рекламодателей в VK Рекламе выросли по итогу первого квартала 2025 года
- 37% предпринимателей управляют маркетингом лично: подходы разных поколений к маркетингу
- Обзор интерактивной выставки «Спорт будущего в настоящем» в Государственном музее спорта
- SmartCaptcha Yandex на iOS: инструкция по внедрению
- РПшники тоже ошибаются