Windows Kernel Driver Emulation
Closed this issue · 2 comments
I'm writing an emulator for a kernel driver in Rust and would like to use this library. I'd be willing to implement the necessary features myself, but would appreciate getting some help.
So here are some questions:
- How are the maps generated? And why do you even need them in the first place? Can't you just load it as a regular dll?
- How hard would it be to allow kernel execution? Doesn't seem that hard to me, only requires to change a few things about the emulator imo. But I might be missing something.
Feel free to add me on Discord if you want to discuss more about it: not-matthias#1403
Btw: I quickly looked through the code and noticed that it could really benefit from using log
/ env_logger
instead of println
. Also cargo fmt
would be good, to ensure clean code.
Hello, the maps could be replaced with dlls, libscemu has a dll loader so It would be easy to modify the initialization routine to load the dlls instead the maps. The maps are from x64dbg.
Emulating the kernel, which kernel windows/linux? windows is closed source probably will need reverse engineering.
One option is emulating all the instructions of the kernel, other option is implementing the kernel elements in rust.
Indeed a logger would be nice.
Ok let's talk in discord.
Im implementing linux syscalls, but no plan of implementing or emulating the kernel itself.
Also this is not an emulator for installing a OS over it, Im using it specially for controlling custom crypto mainly, also for unpacking but only encoders and easy packers are supported for now.