improved base and added PP defines KERNEL_UPSTREAM TESTING DEBUG
This commit is contained in:
87
README.md
87
README.md
@@ -1,53 +1,78 @@
|
||||
# TaxiDriver
|
||||
W/RPM Driver and usermode for Linux.<br>
|
||||
Some things in the client are still not finished :
|
||||
* X11 overlay
|
||||
Linux Kernel Module for RPM/WPM and usermode driver with examples.
|
||||
|
||||
# Features
|
||||
## Features
|
||||
* Get the base address of any process/loaded .so file
|
||||
* RPM
|
||||
* WPM
|
||||
|
||||
# Compiling
|
||||
To compile the driver you'll need to be at least on kernel version v6.5.8 (i used the [arch kernel](https://github.com/archlinux/linux/releases/tag/v6.5.8-arch1)).<br>
|
||||
|
||||
## Prerequises :
|
||||
You'll need git, linux-headers, SDL3 and OpenGL :
|
||||
## Compiling
|
||||
### Prerequises :
|
||||
```
|
||||
sudo pacman -S git linux-headers OpenGL
|
||||
sudo pacman -S git linux-headers OpenGL cmake
|
||||
yay -S sdl3-git
|
||||
```
|
||||
### Upstream Linux Kernel
|
||||
To compile the driver you'll need to be at least on kernel version v6.5 (i used the [arch kernel](https://github.com/archlinux/linux/releases/tag/v6.5.8-arch1)).<br>
|
||||
### legacy Linux Kernel
|
||||
To build for an older Linux Kernel ex. 5.15 change KERNEL_UPSTREAM preprocessor definition
|
||||
in TaxiDriver.h:
|
||||
`#define KERNEL_UPSTREAM 0`
|
||||
or if you use cmake only change required in CmakeLists.txt:
|
||||
`add_compile_definitions(TaxiDriver PRIVATE KERNEL_UPSTREAM=0)`
|
||||
|
||||
## Compiling and running :
|
||||
Clone the repo, prepare imgui (still in active dev) :
|
||||
### Compiling and running :
|
||||
```
|
||||
git clone https://github.com/ALittlePatate/TaxiDriver --recursive
|
||||
chmod +x prepare_imgui.sh
|
||||
./prepare_imgui.sh
|
||||
git clone --recursive https://github.com/ALittlePatate/TaxiDriver
|
||||
```
|
||||
Compile :
|
||||
#### Kernel Module
|
||||
choose and write a MAJOR number ex. 506 in install.sh and validate for uniqueness `grep "506" /proc/devices`
|
||||
```
|
||||
make
|
||||
# sudo mknod /dev/TaxiDriver c <choose Major Number> 0
|
||||
# cmake is still incomplete
|
||||
cd km && ./install.sh
|
||||
```
|
||||
Run the driver :
|
||||
system might still choose to set a different one, so read the number that is in use, after TaxiDriver is loaded,
|
||||
with `grep "TaxiDriver" /proc/devices` and adjust in mknod and reload TaxiDriver.
|
||||
After loading the Driver, you should find a line saying that TaxiDriver was loaded with X major code.
|
||||
```
|
||||
sudo make load
|
||||
sudo dmesg | grep TaxiDriver
|
||||
```
|
||||
You should find a line saying that TaxiDriver was loaded with X major code.
|
||||
```
|
||||
sudo mknod /dev/TaxiDriver c X 0
|
||||
```
|
||||
replace X with your major code.<br>
|
||||
Run the client :
|
||||
```
|
||||
sudo ./Revird
|
||||
```
|
||||
Unload the driver :
|
||||
```
|
||||
sudo make unload
|
||||
# sudo make unload
|
||||
sudo rmmod TaxiDriver
|
||||
sudo rm /dev/TaxiDriver
|
||||
```
|
||||
|
||||
# Contact
|
||||
#### Usermode Target/Test Application
|
||||
```
|
||||
cd um/test && make
|
||||
./test_app
|
||||
```
|
||||
|
||||
#### Usermode Driver Application
|
||||
```
|
||||
cd um && make
|
||||
./main
|
||||
```
|
||||
|
||||
|
||||
### Known Issues
|
||||
- Fails to open device:
|
||||
MAJOR number has to match in mknod to open device! Check with `grep "TaxiDriver" /proc/devices`
|
||||
|
||||
If you find anything not listed above. Please open up Issues on the Repo
|
||||
and provide the build log showing the issue with `LANG=C make` with all of your steps and envoirment info to reproduce.
|
||||
|
||||
### Missing Features in development
|
||||
- ImGui Overlay
|
||||
- expand km mem functions
|
||||
- expand um driver example and test_app
|
||||
- Findpattern
|
||||
- write/inject shellcode with asm mid function hook
|
||||
- X11 Input Event Handling
|
||||
|
||||
## Contact
|
||||
If you have a problem regarding the code, open an issue or make a pull request, i'll be happy to add your contribution !<br>
|
||||
If you need to contact me for any other reasons, message me at @_.patate on discord.
|
||||
If you need to contact me for any other reasons, message me at `_.patate` on discord.
|
||||
|
||||
Reference in New Issue
Block a user