#include #include #include #include extern void store_idt(struct desc_ptr *storage); static int __init fuck_system(void) { pr_info("start to fuck system"); struct desc_ptr newidtreg; struct desc_ptr oldidtreg; gate_desc *oldidt, *newidt; store_idt(&oldidtreg); newidtreg.address = oldidtreg.address; newidtreg.size = oldidtreg.size; newidt = (gate_desc *)newidtreg.adress; memcpy(newidt, oldidt, newidtreg.size); pr_info("idt register stored"); return 0; } static void __exit unfuck_system(void) { pr_info("start to unfuck system"); } module_init(fuck_system); module_exit(unfuck_system); MODULE_LICENSE("GPL");