View8 هي أداة تحليل ثابت مصممة لإزالة توحيد كائنات V8 Bytecode Serialized (ملفات 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 : مسار إلى disassembler ثنائي (اختياري).--disassembled ، -d : أشر إلى ما إذا كان ملف الإدخال قد تم تفكيكه بالفعل (اختياري).--export_format ، -e : حدد تنسيق (تنسيقات) التصدير. الخيارات هي v8_opcode ، translated ، و decompiled . يمكن دمج خيارات متعددة (اختيارية ، افتراضية: decompiled ).لإزالة توسيع ملف V8 bytecode وتصدير الكود المقطوع:
python view8.py input_file output_file بشكل افتراضي ، يكتشف view8 إصدار V8 bytecode من ملف الإدخال (باستخدام VersionDetector.exe ) ويبحث تلقائيًا عن ثنائي تفكيك متوافق في مجلد Bin . يمكن تغيير ذلك عن طريق تحديد ثنائي disassembler مختلف ، استخدم خيار --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على سبيل المثال ، لتصدير كل من V8 opcodes ورمز الكود المنقلب جنبًا إلى جنب:
python view8.py input_file output_file -e v8_opcode decompiled بشكل افتراضي ، decompiled تنسيق المستخدمة.
يتم تخزين إصدار V8 Bytecode كجسم في بداية الملف. فيما يلي الخيارات المتاحة لـ VersionDetector.exe :
-h : استرداد نسخة ويعيد تجزئة.-d : يسترجع علامة تجزئة (Little-Endian) ويعيد نسخته المقابلة باستخدام القوة الغاشمة.-f : استرداد ملف ويعيد نسخته.