- Generate the appropriate
.vcxproj
for libffi. Make sure you havecmake
andpy
installed and run:
kevald/libffi/make.bat
- Build
kevald/kevald.sln
. It should emit the driver underout/<architecture>/<configuration>/kevald.sys
.
Both the local and remote machine should have Python 3.8 or greater.
- Compile the driver under
kevald/
. (keval driver) - Copy the driver to the machine you want to execute kernel-mode code on.
- Install and run the driver:
sc create kevald type= kernel binPath= <path to driver>
sc start kevald
- Install the
pykeval
package usingpip
on the remote machine and run the server using this command line:
keval-server [address] [port]
- Install the
pykeval
package on the local machine with theclient
extra (pip install pykeval[client]
). - Set up the client to use a
RemoteBroker
.
client = pykeval.frontend.Client(pykeval.broker.RemoteBroker(<address>[, port]))
If you want to run code on the same machine where your client resides, you can do that by passing LocalBroker
instead of RemoteBroker
and skip the server.