Need help with NtLua?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

197 Stars 52 Forks 21 Commits 2 Opened issues


Lua in kernel-mode because why not.

Services available


Need anything else?

Contributors list

# 71,105
20 commits


Do you have a burning desire to run coroutines in kernel?

Do you hate the fact that Microsoft does not consider Admin-Kernel boundary real when they do not feel like paying security researchers and yet refuse to give you Ring-0 access?

Did your parents explicitly tell you to stay away from kernel?

Do you get a smile on your face when you imagine device driver developers seeing this and crying over how stupid it is for hours (although half of the hardware manufacturers ship drivers with arbitrary physical memory read/write somehow)?

Well you've come to the right place to run a scripting language at


How to use

1) Build everything using the solution file. 2) Create the NtLua service via

sc create NtLua binpath=  type= kernel
3) Start the NtLua service
sc start NtLua
4) Run the console and enjoy!

Horrible samples for horrible people


  • Structured exception handling
  • Garbage collected temporaries
    unicode_string(str) and ansi_string(str)
  • Automatic importing of entire kernel images

Under development:

  • File importing via UM console
  • Symbol parsing for internal functions and structure declarations
  • Lua to C callback wrapping
  • Multi-thread support
  • HIGH_LEVEL IRQL support
  • Other fun stuff you are considering to contribute.

If you have any useful scripts, feel free to send a PR to include it in the Repo under /scripts!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.