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