การฮุก

ในการเขียนโปรแกรมคอมพิวเตอร์ การฮุก () คือเทคนิคที่ใช้ปรับเปลี่ยนหรือเสริมพฤติกรรมของระบบปฏิบัติการ แอปพลิเคชัน หรือส่วนประกอบอื่นของซอฟต์แวร์ โดยดักจับการเรียกใช้ฟังก์ชัน ข้อความ หรือเหตุการณ์ที่เกิดขึ้นระหว่างส่วนต่าง ๆ ของระบบ โค้ดที่ใช้จัดการกับการเรียกใช้หรือเหตุการณ์ที่ถูกดักจับนี้เรียกว่า ฮุก (hook)

เมธอดฮุกมีบทบาทสำคัญในแบบแผนเทมเพลตเมธอด ซึ่งทำให้คลาสย่อยสามารถขยายหรือปรับแต่งโค้ดพื้นฐานในคลาสนามธรรมได้ โดยทั่วไป เมธอดฮุกจะถูกประกาศไว้ในคลาสนามธรรมพร้อมพฤติกรรมเริ่มต้นที่อาจเว้นว่างไว้ เพื่อให้คลาสย่อยเขียนทับและกำหนดพฤติกรรมเฉพาะของตนเองได้

การฮุกถูกนำมาใช้ในหลายวัตถุประสงค์ เช่น การดีบั๊กและการขยายความสามารถของระบบ ตัวอย่างเช่น การดักจับเหตุการณ์จากแป้นพิมพ์หรือเมาส์ก่อนที่เหตุการณ์นั้นจะถูกส่งต่อไปยังแอปพลิเคชัน หรือการดักจับการเรียกระบบปฏิบัติการเพื่อตรวจสอบพฤติกรรมหรือปรับเปลี่ยนการทำงานของโปรแกรมหรือองค์ประกอบอื่น นอกจากนี้ การฮุกยังถูกใช้อย่างแพร่หลายในโปรแกรมทดสอบสมรรถนะ เช่น เครื่องมือวัดอัตราเฟรมในเกมสามมิติ โดยอาศัยการแทรกตัวเข้าไปในกระบวนการแสดงผลเพื่อเก็บข้อมูลระหว่างการทำงานของโปรแกรม

การฮุกอาจถูกนำไปใช้โดยโค้ดที่เป็นอันตรายได้เช่นกัน ตัวอย่างเช่น รูตคิต ซึ่งเป็นซอฟต์แวร์ที่พยายามซ่อนตัวเองโดยปลอมแปลงผลลัพธ์ของการเรียกใช้เอพีไอที่ตามปกติใช้ตรวจจับหรือเปิดเผยการมีอยู่ของตัวเอง มักอาศัยเทคนิคการฮุกเพื่อแทรกแซงการทำงานของระบบ

 อ้างอิง 



หมวดหมู่:โฟลว์ควบคุม