ไลบรารี Python ฟรีสำหรับสร้างและจัดการ ZIP-Archives ขนาดใหญ่
ไลบรารี Python แบบโอเพนซอร์สที่ทรงพลังและเร็วมาก ช่วยให้นักพัฒนา Python สามารถโหลด, สกัดและแยกวิเคราะห์ข้อมูลจากรูปแบบไฟล์อาร์ไคฟ์, การบีบอัด, และระบบไฟล์กว่า 30 แบบ
Unblob Library คืออะไร?
Unblob เป็นไลบรารี Python ที่สำคัญและเครื่องมือบรรทัดคำสั่งที่ออกแบบมาเพื่อทำให้การสกัดบล็อบไบนารี—ไฟล์ที่มีข้อมูลในรูปแบบที่ไม่ทราบหรือเป็นรูปแบบเฉพาะที่มักพบในภาพเฟิร์มแวร์, การดัมพ์หน่วยความจำ, แพ็กเก็ตเครือข่าย, หรือไฟล์บีบอัดที่เข้ารหัส—ง่ายและเร็วขึ้น ดำเนินการโดย ONEKEY ตั้งแต่แรกเพื่อใช้ในแพลตฟอร์มการวิเคราะห์การผลิตของพวกเขา Unblob จัดการกับความท้าทายของการวิเคราะห์ไฟล์ซับซ้อนเหล่านี้อย่างเชี่ยวชาญโดยรองรับรูปแบบอาร์ไคฟ์, การบีบอัด, และระบบไฟล์มากกว่า 30 แบบ มันประมวลผลรูปแบบเช่น ZIP, TAR, GZIP, BZIP2, XZ, LZMA, SquashFS, CramFS, JFFS2, UBI/UBIFS, และ YAFFS2 อย่างมีประสิทธิภาพ โดยทำการสกัดเนื้อหาอย่างต่อเนื่องและแยกชิ้นส่วนที่ไม่ระบุที่ยังไม่ได้รับการบันทึก
ฟรีในการใช้งานภายใต้สัญญาอนุญาต MIT, Unblob มีประสิทธิภาพสูงและอเนกประสงค์อย่างเหลือเชื่อ มันให้ประสิทธิภาพที่เร็วราวแสงโดยใช้การประมวลผลหลายกระบวนการ, โค้ดที่มีประสิทธิภาพ, ไฟล์ที่แมปหน่วยความจำ, และไลบรารีการจับคู่ประสิทธิภาพสูง Hyperscan เครื่องมือนี้ลดการตรวจจับเท็จและส่วนที่ทับซ้อนโดยระบุออฟเซ็ตเริ่มต้นและสิ้นสุดโดยใช้กฎและมาตรฐานรูปแบบที่ผ่านการทดสอบอย่างเข้มข้น นอกจากนี้ Unblob ยังมี API ที่ใช้งานง่ายซึ่งช่วยให้ผู้ใช้เขียนตัวจัดการรูปแบบและตัวสกัดข้อมูลแบบกำหนดเองได้อย่างรวดเร็ว และยังรองรับปลั๊กอินที่โหลดแบบไดนามิกเพื่อขยายฟังก์ชันหลักของมัน ทำให้ Unblob เป็นทรัพยากรที่ขาดไม่ได้สำหรับผู้ที่ต้องการวิเคราะห์ข้อมูลไบนารีที่ซับซ้อนและหลายชั้นซึ่งมีการบีบอัด, การเข้ารหัส, หรือระบบไฟล์ฝังตัว.
เริ่มต้นใช้งาน Unblob
วิธีแนะนำในการติดตั้ง Unblob คือการใช้ pypi.org โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น.
ติดตั้ง Unblob Library ผ่าน pypi
pip3 install unblob
คัดลอกรีโพซิทอรี unblob จาก GitHub
git clone https://github.com/onekey-sec/unblob.git
คุณยังสามารถติดตั้งด้วยตนเองได้; ดาวน์โหลดไฟล์ปล่อยล่าสุดโดยตรงจากที่เก็บ GitHubสกัดรูปแบบที่รู้จักโดยใช้ไลบรารี Python
ไลบรารีโอเพ่นซอร์ส Unblob ได้รวมการสนับสนุนการสกัดเนื้อหาจากรูปแบบไฟล์ต่าง ๆ ภายในแอปพลิเคชัน Python. ไลบรารีนี้ได้รวมการสนับสนุนมากกว่า 30 ประเภทของไฟล์อาร์ไคฟ์, รูปแบบการบีบอัดและระบบไฟล์. กรุณาจำไว้ว่าเพื่อใช้ไลบรารีกับรูปแบบที่รองรับทั้งหมด จำเป็นต้องติดตั้งตัวสกัดทั้งหมด. ผู้ใช้สามารถใช้ตัวเลือกต่าง ๆ เพื่อปรับแต่งพฤติกรรมของไลบรารีได้ เช่น การระบุไดเรกทอรีผลลัพธ์, ความลึกของการทำซ้ำ, ระดับความละเอียด, หรือรูปแบบรายงาน. เมธอด extract_chunk สามารถใช้โดยนักพัฒนาเพื่อสกัดเนื้อหาของแต่ละชันค์ไปยังไดเรกทอรีผลลัพธ์ที่ระบุ. ด้านล่างเป็นตัวอย่างโค้ดสคริปต์ที่แสดงวิธีใช้ไลบรารีเพื่อสกัดเนื้อหาไปยังไดเรกทอรีผลลัพธ์ภายในแอปพลิเคชัน Python.
วิธีดึงเนื้อหาไปยังไดเรกทอรีผลลัพธ์โดยใช้ไลบรารี Python?
import unblob
# Scan a file for known formats
file_path = "some_file.bin"
chunks = unblob.scan_file(file_path)
# Extract each chunk to an output directory
output_dir = "some_dir"
for chunk in chunks:
unblob.extract_chunk(chunk, output_dir)
ทำการวิเคราะห์ไฟล์ ELF ผ่าน Python API
ไลบรารีโอเพ่นซอร์ส Unblob ทำให้ผู้พัฒนาซอฟต์แวร์สามารถตรวจจับและสกัดไฟล์ ELF จากบล็อบไบนารีที่ไม่ทราบแหล่งที่มาได้อย่างง่ายดาย รวมถึงระบุความสามารถและคุณลักษณะของไฟล์เหล่านั้น ไลบรารีรองรับไฟล์ ELF ทั้งแบบ 32-bit และ 64-bit รวมถึงสถาปัตยกรรมต่าง ๆ เช่น x86, x86_64, ARM, MIPS, และ PowerPC นอกจากนี้ยังจัดการกับประเภทไฟล์ ELF ต่าง ๆ เช่น ไฟล์ปฏิบัติการ, ไลบรารีที่ใช้ร่วมกัน, ไฟล์อ็อบเจกต์, การดัมป์คอร์, และโมดูลเคอร์เนล
การสกัดเมตาดาต้าผ่าน Python API
ไลบรารีโอเพ่นซอร์ส Unblob ได้เพิ่มการสนับสนุนการสร้างไฟล์เมตาดาต้าในแอปพลิเคชัน Python ของพวกเขา ผู้ใช้สามารถใช้ตัวเลือก --report เมื่อเรียกใช้ Unblob เป็นเครื่องมือบรรทัดคำสั่ง ตัวเลือกนี้จะสร้างไฟล์ JSON ที่บรรจุข้อมูลเกี่ยวกับไฟล์ที่สกัดออกมา เช่น เส้นทาง, ขนาด, ประเภท, magic, ความเอนโทรปี, และรายละเอียดของชันค์ ผู้ใช้สามารถระบุชื่อและตำแหน่งของไฟล์ JSON เป็นอาร์กิวเมนต์ให้กับตัวเลือก --report ได้ หลังจากนั้นผู้ใช้สามารถดูหรือวิเคราะห์ไฟล์ metadata.json ด้วยโปรแกรมดูหรือพาร์เซอร์ JSON ใดก็ได้