{"version":1,"pages":[{"id":"-M075TD7Sn8hSJT2kA5r","title":"Introduction","pathname":"/kernel-play-guide","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M07BHyv6JBA_Byhhv6V","title":"Get a Kernel and Build It","pathname":"/kernel-play-guide/get-a-kernel-and-build-it","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M0BDv0VagP7pmMJOqBu","title":"Tools And Environment","pathname":"/kernel-play-guide/a-good-environment","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M07hE3HEzWAZ-KSOTqQ","title":"Your Own Syscall","pathname":"/kernel-play-guide/your-own-syscall","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M0CNOQMEUPGRehpOVJ1","title":"Target a Specific Thread","pathname":"/kernel-play-guide/target-a-specific-thread","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M0AbpneBfzhZcPU5upq","title":"KVM","pathname":"/kernel-play-guide/kvm","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M6iM7WzQKzxCt6ibWVB","title":"Inject An Interrupt","pathname":"/kernel-play-guide/kvm/inject-an-interrupt","siteSpaceId":"sitesp_0z4YB","description":"","breadcrumbs":[{"label":"KVM"}]},{"id":"-M0B0DqVo_cAGFzTEKQp","title":"AMD-V and SEV","pathname":"/kernel-play-guide/kvm/amd-v-and-sev","siteSpaceId":"sitesp_0z4YB","description":"","breadcrumbs":[{"label":"KVM"}]},{"id":"-M0H2N5sXO-B8zMQeVk-","title":"Architectural","pathname":"/kernel-play-guide/architectural","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M0H3ITV3W-cAybAyNj3","title":"x86-64: 0x0F Prefix - Two-Byte Opcode","pathname":"/kernel-play-guide/architectural/x86-64-0x0f-prefix-two-byte-opcode","siteSpaceId":"sitesp_0z4YB","description":"","breadcrumbs":[{"label":"Architectural"}]},{"id":"-M0Fu1sYlMo8Vi2sexej","title":"Intel SGX in Linux - Under Construction","pathname":"/kernel-play-guide/architectural/intel-sgx-in-linux-under-construction","siteSpaceId":"sitesp_0z4YB","description":"","breadcrumbs":[{"label":"Architectural"}]},{"id":"-M0SMUTyg4iq_0s1Utp9","title":"Hacking Interrupts, Exceptions and Trap Handlers","pathname":"/kernel-play-guide/hacking-interrupts-exceptions-and-trap-handlers","siteSpaceId":"sitesp_0z4YB","description":""},{"id":"-M0SPKsDZvribkeWQU8t","title":"Accessing User Memory in Trap Handlers","pathname":"/kernel-play-guide/hacking-interrupts-exceptions-and-trap-handlers/accessing-user-memory-in-trap-handlers","siteSpaceId":"sitesp_0z4YB","description":"","breadcrumbs":[{"label":"Hacking Interrupts, Exceptions and Trap Handlers"}]},{"id":"-M3e4K3h8AE6upTI4Mgn","title":"Hooking an IDT handler","pathname":"/kernel-play-guide/hacking-interrupts-exceptions-and-trap-handlers/hooking-an-idt-handler","siteSpaceId":"sitesp_0z4YB","description":"","breadcrumbs":[{"label":"Hacking Interrupts, Exceptions and Trap Handlers"}]},{"id":"-M6ibGZ7ttnA5Q52hGI8","title":"Accessing the Non-Exported in Modules","pathname":"/kernel-play-guide/accessing-the-non-exported-in-modules","siteSpaceId":"sitesp_0z4YB","description":""}]}