From 6632c36499eaec1c2057a3f2d5c16651375cd100 Mon Sep 17 00:00:00 2001 From: darktohka Date: Mon, 1 Jul 2024 19:11:38 +0300 Subject: [PATCH] patches: Add patches or 34.0.0.317 Release, Debug, Windows 8+ and bump version to v1.26 --- .github/workflows/autobuild-workflow.yaml | 3 +- FlashPatch/Patches.cs | 445 ++++++++++++++++++++++ FlashPatch/UpdateChecker.cs | 4 +- README.md | 13 +- 4 files changed, 455 insertions(+), 10 deletions(-) diff --git a/.github/workflows/autobuild-workflow.yaml b/.github/workflows/autobuild-workflow.yaml index e241ef6..0289662 100644 --- a/.github/workflows/autobuild-workflow.yaml +++ b/.github/workflows/autobuild-workflow.yaml @@ -21,11 +21,10 @@ jobs: run: > echo ${{ secrets.SIGN_WIN_CERT }} | base64 --decode > cert.pfx - name: Sign executable - if: ${{ false }} shell: powershell working-directory: FlashPatch/bin run: > - signtool sign /a /tr "${{ secrets.SIGN_WIN_TIMESTAMP }}" /td sha256 /fd sha256 /f cert.pfx /p "${{ secrets.SIGN_WIN_PASS }}" FlashPatch.exe + signtool sign /a /tr "${{ secrets.SIGN_WIN_TIMESTAMP }}" /td sha256 /fd sha256 /f cert.pfx FlashPatch.exe - name: Remove certificate shell: bash working-directory: FlashPatch/bin diff --git a/FlashPatch/Patches.cs b/FlashPatch/Patches.cs index 3cbeb85..cae767c 100644 --- a/FlashPatch/Patches.cs +++ b/FlashPatch/Patches.cs @@ -10573,6 +10573,451 @@ public class Patches { new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } ), }), + new PatchableBinary( + "Chinese Chrome 64-bit Plugin (Pepper)", "pepflashplayer64_34_0_0_317.dll", "34,0,0,317", true, 16089520, new List() { + new HexPatch( + 0x217269, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x217272, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x41A580, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x431A10, + new byte[] { 0x40, 0x55, 0x53, 0x57, 0x41, 0x55 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese Chrome 64-bit Plugin (Pepper)", "pepflashplayer64_34_0_0_317.dll", "34,0,0,317", true, 17038768, new List() { + new HexPatch( + 0x328A21, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x328A2A, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x43C230, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x57 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x45BE30, + new byte[] { 0x40, 0x55, 0x53, 0x57, 0x41, 0x55 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + "Chinese Chrome 32-bit Plugin (Pepper)", "pepflashplayer32_34_0_0_317.dll", "34,0,0,317", false, 8991664, new List() { + new HexPatch( + 0x13FB61, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x13FB6A, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x25A5E2, + new byte[] { 0x53, 0x56, 0x8B, 0xF1, 0x57, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x26387A, + new byte[] { 0x0F, 0x85, 0x4B, 0x01 }, + new byte[] { 0xE9, 0x4C, 0x01, 0x00 } + ), + new HexPatch( + 0x26387F, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x268CBF, + new byte[] { 0x55, 0x8B, 0xE9, 0x56, 0x57, 0x8D }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese Chrome 32-bit Plugin (Pepper)", "pepflashplayer32_34_0_0_317.dll", "34,0,0,317", false, 9596336, new List() { + new HexPatch( + 0x198BA7, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x198BB0, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x25CDD7, + new byte[] { 0x53, 0x56, 0x8B, 0xF1, 0x57, 0x8B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x26B27B, + new byte[] { 0x0F, 0x85, 0x43, 0x01 }, + new byte[] { 0xE9, 0x44, 0x01, 0x00 } + ), + new HexPatch( + 0x26B280, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x2706A7, + new byte[] { 0x55, 0x8B, 0xE9, 0x56, 0x57, 0x8D }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + }), + new PatchableBinary( + "Chinese Firefox 64-bit Plugin (NPAPI)", "NPSWF64_34_0_0_317.dll", "34,0,0,317", true, 12166064, new List() { + new HexPatch( + 0x197B21, + new byte[] { 0x0F, 0x85, 0x81, 0x01 }, + new byte[] { 0xE9, 0x82, 0x01, 0x00 } + ), + new HexPatch( + 0x197B26, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x19DE9C, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x2FCBC9, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2FCBD2, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x33D9E4, + 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_317.dll", "34,0,0,317", true, 13156272, new List() { + new HexPatch( + 0x1983D5, + new byte[] { 0x0F, 0x85, 0x76, 0x01 }, + new byte[] { 0xE9, 0x77, 0x01, 0x00 } + ), + new HexPatch( + 0x1983DA, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x19E6D4, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x3159FF, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x315A08, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x358414, + 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_317.dll", "34,0,0,317", false, 9905072, new List() { + new HexPatch( + 0x13C013, + new byte[] { 0x55, 0x8B, 0xEC, 0x51, 0x8B, 0xC1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x263833, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x26383C, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x297A07, + 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_317.dll", "34,0,0,317", false, 10726320, new List() { + new HexPatch( + 0x13AF9A, + new byte[] { 0x55, 0x8B, 0xEC, 0x51, 0x8B, 0xC1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x276092, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x27609B, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2AB6AB, + 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_317.ocx", "34,0,0,317", true, 12610480, new List() { + new HexPatch( + 0x19776D, + new byte[] { 0x0F, 0x85, 0x81, 0x01 }, + new byte[] { 0xE9, 0x82, 0x01, 0x00 } + ), + new HexPatch( + 0x197772, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x19DABC, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x2FD9A9, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2FD9B2, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x33E530, + 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_317.ocx", "34,0,0,317", true, 13851568, new List() { + new HexPatch( + 0x81234, + new byte[] { 0x0F, 0x85, 0x9B, 0x01 }, + new byte[] { 0xE9, 0x9C, 0x01, 0x00 } + ), + new HexPatch( + 0x81239, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x87970, + new byte[] { 0x4C, 0x8B, 0xDC, 0x49, 0x89, 0x5B }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x1615D0, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x2493E0, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2493E9, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese IE 64-bit Plugin (ActiveX)", "Flash64_34_0_0_317.ocx", "34,0,0,317", true, 13588400, new List() { + new HexPatch( + 0x197549, + new byte[] { 0x0F, 0x85, 0x76, 0x01 }, + new byte[] { 0xE9, 0x77, 0x01, 0x00 } + ), + new HexPatch( + 0x19754E, + new byte[] { 0x00 }, + new byte[] { 0x90 } + ), + new HexPatch( + 0x19D874, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x10, 0x48 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x314F0F, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x314F18, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x357614, + 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_317.ocx", "34,0,0,317", true, 14691248, new List() { + new HexPatch( + 0x1611AC, + new byte[] { 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x24D844, + new byte[] { 0x74, 0x28 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x24D84D, + new byte[] { 0x75, 0x1F }, + new byte[] { 0x90, 0x90 } + ), + }), + new PatchableBinary( + "Chinese IE 32-bit Plugin (ActiveX)", "Flash32_34_0_0_317.ocx", "34,0,0,317", false, 9976752, new List() { + new HexPatch( + 0x13B88E, + new byte[] { 0x55, 0x8B, 0xEC, 0x51, 0x8B, 0xC1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x261F63, + new byte[] { 0x74, 0x23 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x261F6C, + new byte[] { 0x75, 0x1A }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x295D2B, + 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_317.ocx", "34,0,0,317", false, 11890096, new List() { + new HexPatch( + 0x81560, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0xE0 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x1604F0, + new byte[] { 0x55, 0x8B, 0xEC, 0x56, 0x8B, 0xF1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x23CD0D, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x23CD16, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + }), + new PatchableBinary( + // Debug version + "Chinese IE 32-bit Plugin (ActiveX)", "Flash32_34_0_0_317.ocx", "34,0,0,317", false, 10793392, new List() { + new HexPatch( + 0x13A8B6, + new byte[] { 0x55, 0x8B, 0xEC, 0x51, 0x8B, 0xC1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x274752, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x27475B, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x2A9A20, + 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_317.ocx", "34,0,0,317", false, 12768688, new List() { + new HexPatch( + 0x81D30, + new byte[] { 0x55, 0x8B, 0xEC, 0x81, 0xEC, 0xE0 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x174AB0, + new byte[] { 0x55, 0x8B, 0xEC, 0x56, 0x8B, 0xF1 }, + new byte[] { 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3 } + ), + new HexPatch( + 0x258D5D, + new byte[] { 0x74, 0x21 }, + new byte[] { 0x90, 0x90 } + ), + new HexPatch( + 0x258D66, + new byte[] { 0x75, 0x18 }, + new byte[] { 0x90, 0x90 } + ), + }), new PatchableBinary( // WARNING: This binary can only be applied using the "Patch File..." option // Filename: FlashPlayer.exe diff --git a/FlashPatch/UpdateChecker.cs b/FlashPatch/UpdateChecker.cs index 44c65dc..f9a84ca 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.25.1"; + private static readonly string VERSION = "v1.26"; 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/125.0.0.0 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/126.0.0.0 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 be30d11..cfe03dd 100644 --- a/README.md +++ b/README.md @@ -35,13 +35,14 @@ 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.315 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | -| Mozilla Firefox | NPAPI (Netscape) | 34.0.0.315 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Google Chrome | PPAPI (Pepper) | 34.0.0.317 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| Mozilla Firefox | NPAPI (Netscape) | 34.0.0.317 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | Safari | NPAPI (Netscape) | 34.0.0.315 | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: | -| Internet Explorer | ActiveX (OCX) | 34.0.0.315 | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | +| Internet Explorer | ActiveX (OCX) | 34.0.0.317 | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: | Old Chinese Flash versions supported: +- Version 34.0.0.315 - Version 34.0.0.308 - Version 34.0.0.301 - Version 34.0.0.289 @@ -66,7 +67,7 @@ While Adobe has completely stopped updating the global version of Adobe Flash Pl 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.315. +FlashPatch fully supports the latest version of the Chinese Flash Player browser plugin: 34.0.0.317. FlashPatch provides the following patches for this version: @@ -76,9 +77,9 @@ FlashPatch provides the following patches for this version: - Patch Chinese Enterprise phone-home service - Patch activation check -Download clean builds of Flash 34.0.0.315: +Download clean builds of Flash 34.0.0.317: -- [For Windows - Chrome/Firefox/IE](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.40) +- [For Windows - Chrome/Firefox/IE](https://github.com/darktohka/clean-flash-builds/releases/tag/v1.43) - [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.42)