View8
Disassembler binary
View8是一种静态分析工具,旨在将序列化V8字节码对象(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 ),并自动搜索Bin文件夹中兼容的拆卸器二进制文件。可以通过指定不同的拆卸器二进制,使用--path (OR -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例如,要同时导出V8 opcodes和分解代码:
python view8.py input_file output_file -e v8_opcode decompiled默认情况下,使用的格式是decompiled 。
V8字节码版本在文件开头存储为哈希。以下是VersionDetector.exe的选项:
-h :检索一个版本并返回哈希。-d :检索哈希(小末日),并使用蛮力返回其相应的版本。-f :检索文件并返回其版本。