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