กลับไปหน้าบทความ

อ่าน 1 นาที

ตารางค่าชดเชยทั่วโลก

ตาราง ออฟเซ็ตทั่วโลก หรือ GOT คือส่วนหนึ่งของ หน่วยความจำของ โปรแกรมคอมพิวเตอร์ (ไฟล์ปฏิบัติการและไลบรารีที่ใช้ร่วมกัน) ที่ใช้เพื่อให้โค้ดโปรแกรมคอมพิวเตอร์ที่คอมไพล์เป็นไฟล์ ELF...

ตารางค่าชดเชยทั่วโลก

ตารางออฟเซ็ตทั่วโลกหรือGOTคือส่วนหนึ่งของ หน่วยความจำของ โปรแกรมคอมพิวเตอร์ (ไฟล์ปฏิบัติการและไลบรารีที่ใช้ร่วมกัน) ที่ใช้เพื่อให้โค้ดโปรแกรมคอมพิวเตอร์ที่คอมไพล์เป็นไฟล์ELF สามารถ ทำงานได้อย่างถูกต้อง โดยไม่ขึ้นอยู่กับที่อยู่หน่วยความจำที่โหลดโค้ดหรือข้อมูล ของโปรแกรม ในระหว่างการทำงาน[ 1 ]

มันแมปสัญลักษณ์ในโค้ดโปรแกรมไปยังที่อยู่หน่วยความจำสัมบูรณ์ ที่สอดคล้องกัน เพื่ออำนวยความสะดวกให้กับโค้ดที่ไม่ขึ้นกับตำแหน่ง (PIC)และไฟล์ปฏิบัติการที่ไม่ขึ้นกับตำแหน่ง (PIE) [ 2 ]ซึ่งจะถูกโหลด[ 3 ]ไปยังที่อยู่หน่วยความจำที่แตกต่างกันทุกครั้งที่โปรแกรมเริ่มต้น ที่อยู่หน่วยความจำขณะทำงาน หรือที่เรียกว่าที่อยู่หน่วยความจำสัมบูรณ์ของตัวแปรและฟังก์ชันนั้นไม่ทราบก่อนที่โปรแกรมจะเริ่มต้นเมื่อโค้ด PIC หรือ PIE ทำงาน[ 4 ]ดังนั้นจึงไม่สามารถเขียนโค้ดแบบตายตัวในระหว่างการคอมไพล์โดยคอมไพเลอร์ได้

ตารางออฟเซ็ตทั่วโลกแสดงเป็นส่วน .got และ .got.plt ในไฟล์ ELF [ 5 ]ซึ่งจะถูกโหลดลงในหน่วยความจำของโปรแกรมเมื่อเริ่มต้น[ 5 ] [ 6 ]ตัวเชื่อมโยงแบบไดนามิกของระบบปฏิบัติการ จะอัปเดต การย้ายตำแหน่งตารางออฟเซ็ตทั่วโลก(สัญลักษณ์ไปยังที่อยู่หน่วยความจำสัมบูรณ์) เมื่อเริ่มต้นโปรแกรมหรือเมื่อมีการเข้าถึงสัญลักษณ์[ 7 ] นี่คือกลไกที่อนุญาตให้ไลบรารีที่ใช้ร่วมกัน (.so) ถูกย้ายไปยังที่อยู่หน่วยความจำอื่นเมื่อเริ่มต้น และหลีกเลี่ยงความขัดแย้งของที่อยู่หน่วยความจำกับโปรแกรมหลักหรือไลบรารีที่ใช้ร่วมกันอื่นๆ และเพื่อเสริมความแข็งแกร่งให้กับรหัสโปรแกรมคอมพิวเตอร์จากการถูกโจมตี[ 8 ]

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Global_Offset_Table&oldid=1305057238 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตารางค่าชดเชยทั่วโลก

ตาราง ออฟเซ็ตทั่วโลก หรือ GOT คือส่วนหนึ่งของ หน่วยความจำของ โปรแกรมคอมพิวเตอร์ (ไฟล์ปฏิบัติการและไลบรารีที่ใช้ร่วมกัน) ที่ใช้เพื่อให้โค้ดโปรแกรมคอมพิวเตอร์ที่คอมไพล์เป็นไฟล์ ELF...