win-capture: Add D3D9 exceptions for win10 RTM

This commit is contained in:
jp9000 2015-07-16 15:31:36 -07:00
parent c8d5058f1d
commit 77b7a83249

View File

@ -57,13 +57,14 @@ static const BYTE ignore_jump[] = {0x90, 0x90};
#ifdef _WIN64 #ifdef _WIN64
#define NUM_VERS (11) #define NUM_VERS (12)
#define CMP_SIZE (13) #define CMP_SIZE (13)
static const uintptr_t patch_offset[NUM_VERS] = { static const uintptr_t patch_offset[NUM_VERS] = {
0x54FE6, //win7 - 6.1.7600.16385 0x54FE6, //win7 - 6.1.7600.16385
0x55095, //win7 - 6.1.7601.16562 0x55095, //win7 - 6.1.7601.16562
0x550C5, //win7 - 6.1.7601.17514 0x550C5, //win7 - 6.1.7601.17514
0x70050, //win10 - 10.0.10240.16384
0x703F8, //win10 - 10.0.10162.0 0x703F8, //win10 - 10.0.10162.0
0x8BDB5, //win8.1 - 6.3.9431.00000 0x8BDB5, //win8.1 - 6.3.9431.00000
0x8E635, //win8.1 - 6.3.9600.17415 0x8E635, //win8.1 - 6.3.9600.17415
@ -79,6 +80,7 @@ static const uint8_t patch_cmp[NUM_VERS][CMP_SIZE] = {
{0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00}, {0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00},
{0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0x98, 0x68, 0x50, 0x00, 0x00}, {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, 0xB0, 0x28, 0x51, 0x00, 0x00},
{0x48, 0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x39, 0xA8, 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}, {0x8b, 0x81, 0xb8, 0x3d, 0x00, 0x00, 0x44, 0x39, 0xA0, 0x28, 0x51, 0x00, 0x00},
@ -93,6 +95,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(force_jump), NEW_PATCH(force_jump),
NEW_PATCH(force_jump),
NEW_PATCH(ignore_jump), NEW_PATCH(ignore_jump),
NEW_PATCH(ignore_jump), NEW_PATCH(ignore_jump),
NEW_PATCH(ignore_jump), NEW_PATCH(ignore_jump),
@ -104,7 +107,7 @@ static const struct patch_info patch[NUM_VERS] = {
#else #else
#define NUM_VERS (11) #define NUM_VERS (12)
#define CMP_SIZE (12) #define CMP_SIZE (12)
static const uintptr_t patch_offset[NUM_VERS] = { static const uintptr_t patch_offset[NUM_VERS] = {
@ -113,6 +116,7 @@ static const uintptr_t patch_offset[NUM_VERS] = {
0x79D96, //win7 - 6.1.7601.17514 0x79D96, //win7 - 6.1.7601.17514
0x7F9BD, //win8.1 - 6.3.9431.00000 0x7F9BD, //win8.1 - 6.3.9431.00000
0x8A3F4, //win8.1 - 6.3.9600.16404 0x8A3F4, //win8.1 - 6.3.9600.16404
0x8B15F, //win10 - 10.0.10240.16384
0x8B19F, //win10 - 10.0.10162.0 0x8B19F, //win10 - 10.0.10162.0
0x8E9F7, //win8.1 - 6.3.9600.17095 0x8E9F7, //win8.1 - 6.3.9600.17095
0x8F00F, //win8.1 - 6.3.9600.17085 0x8F00F, //win8.1 - 6.3.9600.17085
@ -128,6 +132,7 @@ static const uint8_t patch_cmp[NUM_VERS][CMP_SIZE] = {
{0x8b, 0x80, 0xe8, 0x29, 0x00, 0x00, 0x39, 0xb0, 0x40, 0x4c, 0x00, 0x00}, {0x8b, 0x80, 0xe8, 0x29, 0x00, 0x00, 0x39, 0xb0, 0x40, 0x4c, 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},
{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}, {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},
@ -142,6 +147,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),
NEW_PATCH(force_jump), NEW_PATCH(force_jump),
NEW_PATCH(force_jump), NEW_PATCH(force_jump),
NEW_PATCH(force_jump), NEW_PATCH(force_jump),