|
|
@@ -57,13 +57,14 @@ static const BYTE ignore_jump[] = {0x90, 0x90};
|
|
|
|
|
|
#ifdef _WIN64
|
|
|
|
|
|
-#define NUM_VERS (12)
|
|
|
+#define NUM_VERS (13)
|
|
|
#define CMP_SIZE (13)
|
|
|
|
|
|
static const uintptr_t patch_offset[NUM_VERS] = {
|
|
|
0x54FE6, //win7 - 6.1.7600.16385
|
|
|
0x55095, //win7 - 6.1.7601.16562
|
|
|
0x550C5, //win7 - 6.1.7601.17514
|
|
|
+ 0x6FE18, //win10 - 10.0.10240.16412
|
|
|
0x70050, //win10 - 10.0.10240.16384
|
|
|
0x703F8, //win10 - 10.0.10162.0
|
|
|
0x8BDB5, //win8.1 - 6.3.9431.00000
|
|
|
@@ -81,6 +82,7 @@ static const uint8_t patch_cmp[NUM_VERS][CMP_SIZE] = {
|
|
|
{0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00},
|
|
|
{0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00},
|
|
|
{0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00},
|
|
|
+{0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0x98, 0x88, 0x51, 0x00, 0x00},
|
|
|
{0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0xB0, 0x28, 0x51, 0x00, 0x00},
|
|
|
{0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0xA8, 0x28, 0x51, 0x00, 0x00},
|
|
|
{0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0xA0, 0x28, 0x51, 0x00, 0x00},
|
|
|
@@ -96,6 +98,7 @@ static const struct patch_info patch[NUM_VERS] = {
|
|
|
NEW_PATCH(force_jump),
|
|
|
NEW_PATCH(force_jump),
|
|
|
NEW_PATCH(force_jump),
|
|
|
+ NEW_PATCH(force_jump),
|
|
|
NEW_PATCH(ignore_jump),
|
|
|
NEW_PATCH(ignore_jump),
|
|
|
NEW_PATCH(ignore_jump),
|
|
|
@@ -107,7 +110,7 @@ static const struct patch_info patch[NUM_VERS] = {
|
|
|
|
|
|
#else
|
|
|
|
|
|
-#define NUM_VERS (12)
|
|
|
+#define NUM_VERS (13)
|
|
|
#define CMP_SIZE (12)
|
|
|
|
|
|
static const uintptr_t patch_offset[NUM_VERS] = {
|
|
|
@@ -118,6 +121,7 @@ static const uintptr_t patch_offset[NUM_VERS] = {
|
|
|
0x8A3F4, //win8.1 - 6.3.9600.16404
|
|
|
0x8B15F, //win10 - 10.0.10240.16384
|
|
|
0x8B19F, //win10 - 10.0.10162.0
|
|
|
+ 0x8B83F, //win10 - 10.0.10240.16412
|
|
|
0x8E9F7, //win8.1 - 6.3.9600.17095
|
|
|
0x8F00F, //win8.1 - 6.3.9600.17085
|
|
|
0x8FBB1, //win8.1 - 6.3.9600.16384
|
|
|
@@ -133,6 +137,7 @@ static const uint8_t patch_cmp[NUM_VERS][CMP_SIZE] = {
|
|
|
{0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
|
|
|
{0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00},
|
|
|
{0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00},
|
|
|
+{0x81, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0xa0, 0x4c, 0x00, 0x00, 0x00},
|
|
|
{0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
|
|
|
{0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
|
|
|
{0x80, 0xe8, 0x29, 0x00, 0x00, 0x83, 0xb8, 0x40, 0x4c, 0x00, 0x00, 0x00},
|
|
|
@@ -148,6 +153,7 @@ static const struct patch_info patch[NUM_VERS] = {
|
|
|
NEW_PATCH(force_jump),
|
|
|
NEW_PATCH(ignore_jump),
|
|
|
NEW_PATCH(ignore_jump),
|
|
|
+ NEW_PATCH(ignore_jump),
|
|
|
NEW_PATCH(force_jump),
|
|
|
NEW_PATCH(force_jump),
|
|
|
NEW_PATCH(force_jump),
|