diff --git a/FlashPatch/Patches.cs b/FlashPatch/Patches.cs index 10a2b88..ffd8c4d 100644 --- a/FlashPatch/Patches.cs +++ b/FlashPatch/Patches.cs @@ -5472,6 +5472,466 @@ public class Patches { new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } ), }), + new PatchableBinary( + "Chinese Chrome 64-bit Plugin (Pepper)", "pepflashplayer64_34_0_0_242.dll", "34,0,0,242", true, 16088864, new List() { + new HexPatch( + 0x217399, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2173A2, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x418E20, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x425F50, + new byte[] { 0x40, 0x55, 0x57, 0x41, 0x54, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x4286E5, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + }), + new PatchableBinary( + // Debug version + "Chinese Chrome 64-bit Plugin (Pepper)", "pepflashplayer64_34_0_0_242.dll", "34,0,0,242", true, 17037088, new List() { + new HexPatch( + 0x328B51, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x328B5A, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x43AAD0, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x450380, + new byte[] { 0x40, 0x55, 0x57, 0x41, 0x54, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x452B05, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + }), + new PatchableBinary( + "Chinese Chrome 32-bit Plugin (Pepper)", "pepflashplayer32_34_0_0_242.dll", "34,0,0,242", false, 8987424, new List() { + new HexPatch( + 0x13F45F, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x13F468, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x258F97, + new byte[] { 0x53, 0x56, 0x8B, 0xF1, 0x57, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x260B56, + new byte[] { 0x81, 0xEC, 0x20, 0x01 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00 } + ), + new HexPatch( + 0x260B5B, + new byte[] { 0x00 }, + new byte[] { 0xC3 } + ), + new HexPatch( + 0x2623BA, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + }), + new PatchableBinary( + // Debug version + "Chinese Chrome 32-bit Plugin (Pepper)", "pepflashplayer32_34_0_0_242.dll", "34,0,0,242", false, 9592096, new List() { + new HexPatch( + 0x198975, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x19897E, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x25BA05, + new byte[] { 0x53, 0x56, 0x8B, 0xF1, 0x57, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x26888A, + new byte[] { 0x81, 0xEC, 0x20, 0x01 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00 } + ), + new HexPatch( + 0x26888F, + new byte[] { 0x00 }, + new byte[] { 0xC3 } + ), + new HexPatch( + 0x26A0F9, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + }), + new PatchableBinary( + "Chinese Firefox 64-bit Plugin (NPAPI)", "NPSWF64_34_0_0_242.dll", "34,0,0,242", true, 12160800, new List() { + new HexPatch( + 0x197330, + new byte[] { 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x19951F, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x2FEAE9, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2FEAF2, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x33E6CC, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese Firefox 64-bit Plugin (NPAPI)", "NPSWF64_34_0_0_242.dll", "34,0,0,242", true, 13151008, new List() { + new HexPatch( + 0x197B94, + new byte[] { 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x199D77, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x31745F, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x317468, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x358D10, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + "Chinese Firefox 32-bit Plugin (NPAPI)", "NPSWF32_34_0_0_242.dll", "34,0,0,242", false, 9900832, new List() { + new HexPatch( + 0x1368F7, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x28 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x138172, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x265571, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x26557A, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2987D7, + new byte[] { 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese Firefox 32-bit Plugin (NPAPI)", "NPSWF32_34_0_0_242.dll", "34,0,0,242", false, 10721056, new List() { + new HexPatch( + 0x135393, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x28 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x136C79, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x2777E0, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2777E9, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2ABF08, + new byte[] { 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + "Chinese IE 64-bit Plugin (ActiveX)", "Flash64_34_0_0_242.ocx", "34,0,0,242", true, 12604704, new List() { + new HexPatch( + 0x196E30, + new byte[] { 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x19901F, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x2FFD59, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2FFD62, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x33F738, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Windows 8+ specific plugin + "Chinese IE 64-bit Plugin (ActiveX)", "Flash64_34_0_0_242.ocx", "34,0,0,242", true, 13844768, new List() { + new HexPatch( + 0x80BA8, + new byte[] { 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x82D51, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x161EF4, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x248510, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x248519, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese IE 64-bit Plugin (ActiveX)", "Flash64_34_0_0_242.ocx", "34,0,0,242", true, 13583136, new List() { + new HexPatch( + 0x196CFC, + new byte[] { 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x198EDF, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x316C8F, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x316C98, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x3580FC, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Debug version + // Windows 8+ specific plugin + "Chinese IE 64-bit Plugin (ActiveX)", "Flash64_34_0_0_242.ocx", "34,0,0,242", true, 14688544, new List() { + new HexPatch( + 0x1614F4, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x24DC91, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x24DC9A, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + }), + new PatchableBinary( + "Chinese IE 32-bit Plugin (ActiveX)", "Flash32_34_0_0_242.ocx", "34,0,0,242", false, 9972512, new List() { + new HexPatch( + 0x135F02, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x28 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x1377A5, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x263AA1, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x263AAA, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x296938, + new byte[] { 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Windows 8+ specific plugin + "Chinese IE 32-bit Plugin (ActiveX)", "Flash32_34_0_0_242.ocx", "34,0,0,242", false, 11884832, new List() { + new HexPatch( + 0x7A320, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x20 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x7C569, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x161DC0, + new byte[] { 0x55, 0x8B, 0xEC, 0x56, 0x8B, 0xF1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x23CA8B, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x23CA94, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese IE 32-bit Plugin (ActiveX)", "Flash32_34_0_0_242.ocx", "34,0,0,242", false, 10789152, new List() { + new HexPatch( + 0x134EB4, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x28 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x136766, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x275F10, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x275F19, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2AA29F, + new byte[] { 0x55, 0x8B, 0xEC, 0x53, 0x56, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Debug version + // Windows 8+ specific plugin + "Chinese IE 32-bit Plugin (ActiveX)", "Flash32_34_0_0_242.ocx", "34,0,0,242", false, 12763936, new List() { + new HexPatch( + 0x7ABA0, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0x20 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x7CDE9, + new byte[] { 0x75 }, + new byte[] { 0xEB } + ), + new HexPatch( + 0x1762A0, + new byte[] { 0x55, 0x8B, 0xEC, 0x56, 0x8B, 0xF1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x258DEB, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x258DF4, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + }), new PatchableBinary( "Generic Flash Player Binary", null, false, -1, new List() { new HexPatch( diff --git a/FlashPatch/UpdateChecker.cs b/FlashPatch/UpdateChecker.cs index 8676c3b..777ef10 100644 --- a/FlashPatch/UpdateChecker.cs +++ b/FlashPatch/UpdateChecker.cs @@ -32,10 +32,10 @@ public string GetUrl() { } public class UpdateChecker { - private static readonly string VERSION = "v1.15.1"; + private static readonly string VERSION = "v1.16"; private static readonly string AUTHOR = "darktohka"; private static readonly string REPO = "FlashPatch"; - private static readonly string USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"; + private static readonly string USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36"; public static string GetAPILink() { return "https://api.github.com/repos/" + AUTHOR + "/" + REPO + "/releases/latest"; diff --git a/README.md b/README.md index 24115e1..3c60a7a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Patreon](https://img.shields.io/badge/Kofi-donate-purple.svg)](https://ko-fi.com/disyer) [![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/darktohka/FlashPatch/blob/master/LICENSE) -![Image of FlashPatch](https://i.imgur.com/j7NUOM6.png) +![Image of FlashPatch](https://i.imgur.com/un5lOEf.png) [Download latest version](https://github.com/darktohka/FlashPatch/releases/latest) @@ -35,40 +35,44 @@ It bypasses the January 12th, 2021 killswitch that prevents you from playing any | Browser | Plugin API | Version | Windows | Linux | Mac | 64-bit | 32-bit | | ----------------- | ---------------- | ---------- | ------------------------ | ------------------------ | ------------------------ | ------------------ | ------------------------ | -| Google Chrome | PPAPI (Pepper) | 34.0.0.231 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Mozilla Firefox | NPAPI (Netscape) | 34.0.0.231 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Safari | NPAPI (Netscape) | 34.0.0.231 | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: | -| Internet Explorer | ActiveX (OCX) | 34.0.0.231 | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | +| Google Chrome | PPAPI (Pepper) | 34.0.0.242 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Mozilla Firefox | NPAPI (Netscape) | 34.0.0.242 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Safari | NPAPI (Netscape) | 34.0.0.242 | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: | +| Internet Explorer | ActiveX (OCX) | 34.0.0.242 | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | Old Chinese Flash versions supported: - - Version 34.0.0.211 - - Version 34.0.0.209 - - Version 34.0.0.201 - - Version 34.0.0.192 - - Version 34.0.0.184 - - Version 34.0.0.175 - - Version 34.0.0.164 - - Version 34.0.0.155 - - Version 34.0.0.137 - - Version 34.0.0.118 + +- Version 34.0.0.231 +- Version 34.0.0.211 +- Version 34.0.0.209 +- Version 34.0.0.201 +- Version 34.0.0.192 +- Version 34.0.0.184 +- Version 34.0.0.175 +- Version 34.0.0.164 +- Version 34.0.0.155 +- Version 34.0.0.137 +- Version 34.0.0.118 While Adobe has completely stopped updating the global version of Adobe Flash Player, they are still maintaining a special version of Adobe Flash for Mainland China only. This version is completely compatible with the global version of Flash, but contains a non-closable process, known as the "Flash Helper Service", that collects private information and pops up advertisement window contents. This version of Flash normally only works within Mainland China. Furthermore, in order to let business users to purchase a China-specific enterprise edition of Adobe Flash, if it detects an enterprise environment (an Active Directory environment) it refuses to start. It also contains a dormant killswitch. -FlashPatch fully supports the latest version of the Chinese Flash Player browser plugin: 34.0.0.231. +FlashPatch fully supports the latest version of the Chinese Flash Player browser plugin: 34.0.0.242. FlashPatch provides the following patches for this version: - - Patch Chinese region lock on runtime (geo2.adobe.com) - - Remove dependence on adware "Flash Helper Service" - - Deactivate dormant OOD Macromedia XML killswitch - - Patch Chinese Enterprise phone-home service - - Patch activation check - -Download clean builds of Flash 34.0.0.231: - - [For Windows - Chrome/Firefox/IE](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.22) - - [For Linux - Chrome/Firefox](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.7) - - [For Mac - Chrome/Firefox](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.23) + +- Patch Chinese region lock on runtime (geo2.adobe.com) +- Remove dependence on adware "Flash Helper Service" +- Deactivate dormant OOD Macromedia XML killswitch +- Patch Chinese Enterprise phone-home service +- Patch activation check + +Download clean builds of Flash 34.0.0.242: + +- [For Windows - Chrome/Firefox/IE](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.24) +- [For Linux - Chrome/Firefox](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.7) +- [For Mac - Chrome/Firefox](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.25) ## Flash Player