Меняем промежуточное представление кода на лету в Ghidra
Когда мы разрабатывали модуль ghidra nodejs для инструмента Ghidra, мы поняли, что не всегда получается корректно реализовать опкод V8 (движка JavaScript, используемого Node.js) на языке описания ассемблерных инструкций SLEIGH. В таких средах исполнения, как V8, JVM и прочие, один опкод может выполнять достаточно сложные действия. Для решения этой проблемы в Ghidra предусмотрен механизм динамической инъекции конструкций P-code — языка промежуточного представления Ghidra. Используя этот механизм, нам удалось превратить вывод декомпилятора из такого:
Читать далееИсточник: Хабрахабр
- Хабрахабр Информационная безопасность Блог компании Positive Technologies Информационная безопасность Java Node.JS Реверс-инжиниринг ghidra jsc pcode p-code p code injection reverse engineering реверс-инжиниринг декомпиляция дизассемблер bytenode
- Настрочить жалобу в спортлото
- sl4v
- Распечатать
- TG Instant View