อินเทอร์เฟซบรรทัดคำสั่งสำหรับการแยกชิ้นส่วนและประกอบ Hermes bytecode
เนื่องจากทีม Native React สร้างเอ็นจิ้น JavaScript ของตัวเอง (ชื่อ Hermes) สำหรับการใช้งานแอปพลิเคชัน React Native, JavaScript Source มักจะรวบรวมไปยัง Hermes Bytecode ในโครงการทดสอบการเจาะฉันพบว่าแอพพลิเคชั่นดั้งเดิมบางตัวได้ถูกย้ายไปยังเครื่องยนต์ Hermes แล้ว มันเป็นเรื่องสำคัญสำหรับฉันที่จะวิเคราะห์หรือแก้ไขแอปพลิเคชันเหล่านั้น ดังนั้นฉันจึงสร้าง HBCTOOL เพื่อช่วย Pentester ใด ๆ ในการทดสอบ Hermes Bytecode
Hermes เป็นเครื่องยนต์ JavaScript โอเพนซอร์ซที่ได้รับการปรับให้เหมาะสมสำหรับการใช้งานแอพ Native React บน Android สำหรับแอพจำนวนมากการเปิดใช้งาน Hermes จะส่งผลให้เวลาเริ่มต้นที่ดีขึ้นการใช้หน่วยความจำลดลงและขนาดแอพที่เล็กลง ในเวลานี้ Hermes เป็นคุณสมบัติดั้งเดิมที่เลือกใช้และคู่มือนี้อธิบายวิธีการเปิดใช้งาน
ขอขอบคุณเป็นพิเศษสำหรับ Erbazz และ Jusmistic ที่ช่วยฉันค้นคว้าและพัฒนาเครื่องมือนี้
สำหรับข้อมูลเพิ่มเติมกรุณาเยี่ยมชม:
https://suam.wtf/posts/react-native-application-plic-static-analysis-en/

วิดีโอนี้พร้อมรูปแบบ MP4 สามารถดูได้ที่ /image/hbctool_example.mp4
ในการติดตั้ง HBCTOOL เพียงใช้ PIP:
pip install hbctool
โปรดเรียกใช้ hbctool --help เพื่อแสดงการใช้งาน
hbctool --help
A command-line interface for disassembling and assembling
the Hermes Bytecode.
Usage:
hbctool disasm <HBC_FILE> <HASM_PATH>
hbctool asm <HASM_PATH> <HBC_FILE>
hbctool --help
hbctool --version
Operation:
disasm Disassemble Hermes Bytecode
asm Assemble Hermes Bytecode
Args:
HBC_FILE Target HBC file
HASM_PATH Target HASM directory path
Options:
--version Show hbctool version
--help Show hbctool help manual
Examples:
hbctool disasm index.android.bundle test_hasm
hbctool asm test_hasm index.android.bundle
สำหรับ Android ไฟล์ HBC มักจะอยู่ที่ไดเรกทอรี
assetsด้วยindex.android.bundlefilename
ปัจจุบัน HBCTOOL รองรับเวอร์ชัน Hermes Bytecode ต่อไปนี้:
อย่าลังเลที่จะสร้างปัญหาหรือส่งคำขอผสาน อย่างไรก็ตามคุณต้องการมีส่วนร่วมในโครงการนี้ ฉันมีความสุขมากกับมัน
อย่างไรก็ตามโปรดเรียกใช้การทดสอบหน่วยก่อนส่งคำขอดึง
cd hbctool
python test.py
ฉันใช้บทกวีเพื่อสร้างเครื่องมือนี้ เพื่อสร้างมันเองเพียงแค่ดำเนินการ:
poetry installpoetry buildpip install --force-reinstall dist/hbctool-<VERSION>-py3-none-any.whl