รูปแบบไบนารีมักจะไม่ได้ระบุไว้ได้อย่างง่ายดาย พวกเขามีการระบุไว้น้อยมากในภาษาระดับสูงเช่นการทำเครื่องหมาย ASN.1 (และข้อกำหนดดังกล่าวไม่สามารถจะย้อนยุคพอดีกับรูปแบบไบนารีที่มีอยู่) โครงการ bdec เป็นความพยายามที่จะระบุรูปแบบไบนารีโดยพลการในภาษามาร์กอัปและสร้างถอดรหัสและเข้ารหัสโดยอัตโนมัติรูปแบบไบนารีที่กำหนดสเปคในระดับสูง
ข้อกำหนด XML bdec ใช้สร้างอยู่บนพื้นฐานของโครงสร้างที่พบใน ASN.1
การใช้งาน:
ห้องสมุด bdec ประกอบด้วยการถอดรหัส / ห้องสมุดการเข้ารหัสและถอดรหัสบรรทัดคำสั่งและการประยุกต์ใช้การเข้ารหัส ที่กำหนดสเปคการประยุกต์ใช้บรรทัดคำสั่งจะสร้างการแสดง XML ของข้อมูลที่มีอยู่ในแฟ้มไบนารีและสามารถ (สำหรับการแสดงบางส่วน) แปลง XML กลับไปไบนารี
ห้องสมุดที่มีความสามารถในการสร้างผลผลิต XML ดังกล่าวหรือเลือกวัตถุหลามเป็นตัวแทนของโครงสร้างที่มีอยู่ในข้อมูลไบนารี
ตัวอย่างเช่น แสดง XML ของ FAT bootsector ที่สร้างขึ้นโดยการทำงาน:
dd if = / dev / sda1 เช้า = 512 นับ = 1 | ถอดรหัส bootsector.xml
คุณสมบัติ
- มันเป็นเรื่องง่าย ได้อย่างรวดเร็วเขียน (และอ่าน) ข้อกำหนด
- ไม่จำเป็นต้องเขียนถอดรหัสที่กำหนดเอง (เงื่อนไขข้อผิดพลาดทั้งหมดได้รับการจัดการภายใน; ถอดรหัสทั้งผ่านหรือไม่) .
- การประยุกต์ใช้บรรทัดคำสั่งให้ตรวจสอบภาพจากไฟล์ที่มีปัญหา.
- Unicode ทราบน้อย endian / big-ตระหนัก
- ระบุสาขาลงไปเล็กน้อย (เช่นธงบิตเดียว)
มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.
- โครงสร้างข้อมูลการเข้ารหัสเพื่อไบนารีได้รับการสนับสนุนในขณะนี้
- ซึ่งรวมถึงการเข้ารหัสจากกรณีงูหลาม, XML, และโครงสร้าง C.
- ข้อมูลจำเพาะในขณะนี้สามารถแบ่งออกเป็นหลายไฟล์โดยเพียงแค่ผ่านทั้งหมดของไฟล์ข้อกำหนดที่จะถอดรหัส / เข้ารหัส / รวบรวมโปรแกรม.
มีอะไรใหม่ ในรุ่น 0.5.1:
- ข่าวประชาสัมพันธ์ฉบับนี้รายงานรายการที่ถูกต้องเมื่อมีการ หายไปอ้างอิงรายการ.
- จะแก้ไข Mako รวบรวมข้อยกเว้นเมื่อวิ่งออกมาจากไข่ (ละเว้น .pyc ไฟล์).
มีอะไรใหม่ ในรุ่น 0.5.0:
- รวบรวม speedups (ประมาณห้าครั้ง) และถอดรหัสหลาม speedups (ไม่เกิน 30 ครั้ง).
- เลือกที่รวบรวมเป็นตัวแทนในขณะนี้โดย 'enum' และ 'ยูเนี่ยน.
- การแสดงออกในขณะนี้สามารถอ้างอิงโดยตรงรายการทางเลือกในการอ้างอิงตัวเลือกถอดรหัส.
- ใหม่ส่วน 'เคล็ดลับ' ถูกบันทึกในเอกสารประกอบซึ่งรวมถึง ':'. คำใบ้รายการซ่อน
- รายการที่มีค่าจะถูกส่งผ่านทั้งในและออกจากรายการเนื่องจากสำนวนที่ได้รับการแก้ไข.
- สาขา endian เล็ก ๆ น้อย ๆ ที่มีค่าที่คาดหวังในรายละเอียดที่รวบรวมได้รับการแก้ไข.
มีอะไรใหม่ ในรุ่น 0.4.1:
- โครงการสามารถรวบรวมไข่ (รวมถึง แม่แบบ).
- สร้างซีสามารถนำมาใช้จากโปรแกรมภาษา C ++ (เช่น extern ค).
- 'bdecode' และ 'bcompile' มีการติดตั้งเป็นส่วนหนึ่งของไข่ติดตั้ง.
- สร้างชื่อประเภทภาษา C มีความสอดคล้องกันในการทำงาน.
มีอะไรใหม่ ในรุ่น 0.4.0:
- ข่าวประชาสัมพันธ์ฉบับนี้จะช่วยให้รายการเรื่องธรรมดาที่จะได้รับอีกชื่อหนึ่ง .
- จะช่วยเพิ่มการอ่านรหัส C สร้าง.
- มันจะไม่รวมถึงโครงสร้างข้อมูลที่ไม่จำเป็นในส่วนหัวของซี.
- มันมีการเปลี่ยนแปลงเพื่อให้แอลจี.
- มีการปรับปรุงเอกสารต่าง ๆ ในการแก้ไขถอดรหัส C และแก้ไขสำหรับข้อกำหนด MP3.
ความคิดเห็นที่ไม่พบ