Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/can1357/NtLua
Lua in kernel-mode because why not.
https://github.com/can1357/NtLua
interesting-combo kernel lua
Last synced: 7 days ago
JSON representation
Lua in kernel-mode because why not.
- Host: GitHub
- URL: https://github.com/can1357/NtLua
- Owner: can1357
- Created: 2020-07-06T11:52:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-12-03T10:25:24.000Z (almost 3 years ago)
- Last Synced: 2024-07-31T03:17:33.128Z (3 months ago)
- Topics: interesting-combo, kernel, lua
- Language: C
- Homepage:
- Size: 317 KB
- Stars: 305
- Watchers: 16
- Forks: 65
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-hacking-lists - can1357/NtLua - Lua in kernel-mode because why not. (C)
README
# NtLua
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 `DPC_LEVEL`!
# 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
![](https://i.can.ac/vq7g1.png)
![](https://i.can.ac/OKncG.png)
![](https://i.can.ac/PmiNI.png)
![](https://i.can.ac/K6Da1.png)
![](https://i.can.ac/lvDuN.png)
![](https://i.can.ac/lD1bF.png)## Supports:
- Structured exception handling
- Garbage collected temporaries
- UNICODE_STRING/ANSI_STRING via `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!