วันอังคารที่ 28 มิถุนายน พ.ศ. 2554

โครงสร้าง PDF File

ตัวอย่าง Hello Word.pdf ใน text editor

 ซึ่งประกอบไปด้วย
  • Header
  • Objects ต่างๆ
  • Cross reference table
  • และ trailer
ในที่นี้เราจะอธิบาย physical structure ของไฟล์ pdf นี้ ในส่วนของ Header จะบอกว่าเป็น Pdf version ไหน Trailer จะบอก ตำแหน่งของจุดเริ่มตั้นของ cross reference table ซึ่งในที่นี้ก็คือ ไบต์ที่ 642 cross reference จะบอกถึงตำแหน่งไบต์ของแต่ละออปเจ็ค คือ ออปเจ็ค 1 ถึง 7  ในที่นี้ ไบต์ที่ 12 ถึง 518 แต่ละออปเจ็ตจะเรียงลำดับกันมาคือ 1,2,3,4,5,6,7
     Logical structure ของ pdf ไฟล์จะเป็นแบบลำดับชั้น root ออปเจ็คจะถูกประกาศไว้ใน trailer ออปเจ็ค 1 คือ root ออปเจ็ค 2 และ 3 คือ ออปเจ็คลูกของออปเจ็ค 1(root) ออปเจ็ค 4 เป็นลูกของออปเจ็ค 3 ตามรูป และให้ดูในโค๊ดประกอบเพื่อให้เข้าใจง่ายขึ้น

      physical structure ออปเจ็คแต่ละออปเจ็คสามารถเปลี่ยนรูปแบบโครงสร้างได้โดย logical structure ไม่มีการเปลี่ยนแปลง ดูตัวอย่าง


    โดย cross reference จะมีการอัพเดตเพราะออปเจ็คมีการเปลี่ยนตำแหน่ง แต่โครงสร้างแบบ logical จะไม่มีการเปลี่ยนแปลงซึ่งทำให้การแสดงผลของทั้งสองไฟล์เหมือนกันทุกประการ จะเห็นได้ว่าเราสามารถเปลี่ยนรูปแบบ pdf ไฟล์ในแบบ physical โดยที่ยังคงมีการแสดงผลในแบบเดิมได้ ซึ่งเราสามารถที่จะนำโค๊ดที่อาจเป็นอันตรายกับเครื่องเราใส่เข้าไปในไฟล์ PDF นั้น เมื่อเปิดไฟล์ PDF ก็จะรันโค๊ดดังกล่าวทันที
ที่มา: http://blog.didierstevens.com

ไม่มีความคิดเห็น:

แสดงความคิดเห็น