View8 adalah alat analisis statis yang dirancang untuk mendekompilasi objek bytecode V8 serial (file JSC) menjadi kode yang dapat dibaca tingkat tinggi. Untuk menguraikan dan membongkar objek serial ini, View8 menggunakan biner V8 yang disusun. Akibatnya, View8 menghasilkan output tekstual yang mirip dengan JavaScript.
9.4.146.24 (Digunakan dalam Node V16.X)10.2.154.26 (Digunakan dalam Node V18.X)11.3.244.8 (Digunakan dalam Node V20.X)Untuk versi yang dikompilasi, kunjungi halaman rilis.
input_file : Nama file input.output_file : Nama file output.--path , -p : Path to Disassembler Binary (Opsional).--disassembled , -d : Tunjukkan jika file input sudah dibongkar (opsional).--export_format , -e : Tentukan format ekspor. Opsi adalah v8_opcode , translated , dan decompiled . Beberapa opsi dapat digabungkan (opsional, default: decompiled ).Untuk mendekompilasi file bytecode V8 dan mengekspor kode yang didekompilasi:
python view8.py input_file output_file Secara default, view8 mendeteksi versi v8 bytecode dari file input (menggunakan VersionDetector.exe ) dan secara otomatis mencari biner disassembler yang kompatibel di folder Bin . Ini dapat diubah dengan menentukan biner Disassembler yang berbeda, gunakan opsi --path (atau -p ):
python view8.py input_file output_file --path /path/to/disassembler Untuk melewatkan proses pembongkaran dan memberikan file yang sudah dibongkar sebagai input, gunakan -bendera --disassembled (atau -d ):
python view8.py input_file output_file --disassembled Tentukan format ekspor menggunakan opsi --export_format (atau -e ). Anda dapat menggabungkan beberapa format:
v8_opcodetranslateddecompiledMisalnya, untuk mengekspor kedua opcodes V8 dan mendekompilasi kode berdampingan:
python view8.py input_file output_file -e v8_opcode decompiled Secara default, format yang digunakan decompiled .
Versi V8 Bytecode disimpan sebagai hash di awal file. Di bawah ini adalah opsi yang tersedia untuk VersionDetector.exe :
-h : mengambil versi dan mengembalikan hashnya.-d : Mengambil hash (Little-endian) dan mengembalikan versi yang sesuai menggunakan brute force.-f : Mengambil file dan mengembalikan versinya.