View8 -это статический инструмент анализа, предназначенный для декомпиляции сериализованных объектов V8 Bytecode (файлов JSC) в четкий код высокого уровня. Чтобы разобрать и разобрать эти сериализованные объекты, View8 использует скомпилированный составленный двоичный файл V8. В результате View8 производит текстовый выход, аналогичный JavaScript.
9.4.146.24 (используется в узле V16.x)10.2.154.26 (используется в узле V18.x)11.3.244.8 (используется в узле V20.X)Для составленных версий посетите страницу релизов.
input_file : имя ввода файла.output_file : имя выходного файла.--path , -p : Путь к разборке Двоина (необязательно).--disassembled , -d : укажите, если входной файл уже разобрался (необязательно).--export_format , -e : укажите формат экспорта (ы). Параметры v8_opcode , translated и decompiled . Несколько параметров могут быть объединены (необязательно, по умолчанию: decompiled ).Для декомпиляции файла байт -кодов V8 и экспорта декомпилированного кода:
python view8.py input_file output_file По умолчанию view8 обнаруживает версию входного файла V8 (используя VersionDetector.exe ) и автоматически ищет совместимый двоичный файл Disassassembler в папке Bin . Это может быть изменено, определяя другой двоичный файл для разборки, используйте опцию --path (или -p ):
python view8.py input_file output_file --path /path/to/disassembler Чтобы пропустить процесс разборки и предоставить уже разобранный файл в качестве ввода, используйте флаг --disassembled (или -d ):
python view8.py input_file output_file --disassembled Укажите формат (ы) экспорта, используя опцию --export_format (или -e ). Вы можете объединить несколько форматов:
v8_opcodetranslateddecompiledНапример, для экспорта как Opcodes V8, так и декомпилированного кода рядом:
python view8.py input_file output_file -e v8_opcode decompiled По умолчанию используемый формат decompiled .
Версия V8 Bytecode хранится как хэш в начале файла. Ниже приведены параметры, доступные для VersionDetector.exe :
-h : получает версию и возвращает свою хэш.-d : получает хэш (маленький) и возвращает соответствующую версию, используя грубую силу.-f : получает файл и возвращает свою версию.