Compare commits

...

11 Commits

Author SHA1 Message Date
辉鸭蛋
f247361f8a Merge pull request #1085 from huiyadanli/revert-939-patch-1 2025-11-08 21:23:20 +08:00
辉鸭蛋
23d8d0e58e Revert "Update LICENSE" 2025-11-08 21:22:37 +08:00
辉鸭蛋
900c3ae101 微信 4.1.0.18、微信 4.1.0.21 2025-08-24 11:35:29 +08:00
辉鸭蛋
71ea119d7a Merge branch 'master' of github.com:huiyadanli/RevokeMsgPatcher 2025-08-15 22:56:38 +08:00
辉鸭蛋
ce878c2058 微信 4.1.0.14 2025-08-15 22:55:19 +08:00
辉鸭蛋
41155b6f0d 2.1 2025-08-10 15:21:20 +08:00
辉鸭蛋
480bc7ad81 Update README.md 2025-08-04 02:06:12 +08:00
辉鸭蛋
34fec631dc Update build.yml 2025-08-04 01:17:31 +08:00
辉鸭蛋
1c115654bd Merge branch 'master' of github.com:huiyadanli/RevokeMsgPatcher 2025-08-04 01:14:17 +08:00
辉鸭蛋
95a8bf1760 优化提示 2025-08-04 01:13:54 +08:00
辉鸭蛋
2c5f39efa9 Update build.yml 2025-08-04 01:03:13 +08:00
9 changed files with 91 additions and 59 deletions

View File

@@ -4,64 +4,52 @@ on:
workflow_dispatch:
inputs:
Reason:
description: 'Reasons for temporary build'
description: 'Reasons for temporary build'
required: true
default: 'No reason.Just do it.'
default: 'No reason. Just do it.'
push:
branches:
- master
paths-ignore:
- '**/*.md'
- .gitignore
- .editorconfig
- appveyor.yml
branches:
- master
paths-ignore:
- '**/*.md'
- .gitignore
- .editorconfig
- appveyor.yml
pull_request:
branches:
- master
paths-ignore:
- '**/*.md'
- .gitignore
- .editorconfig
- appveyor.yml
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: .
# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
#BUILD_CONFIGURATION: [Debug , Release]
branches:
- master
paths-ignore:
- '**/*.md'
- .gitignore
- .editorconfig
- appveyor.yml
jobs:
build:
name: ${{matrix.BUILD_CONFIGURATION}}
runs-on: windows-2019
name: Build (${{ matrix.BUILD_CONFIGURATION }})
runs-on: windows-latest
strategy:
matrix:
BUILD_CONFIGURATION: ['Debug', 'Release']
matrix:
BUILD_CONFIGURATION: [Debug, Release]
steps:
- uses: actions/checkout@v2
- name: Checkout code
uses: actions/checkout@v4
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Restore NuGet packages
run: nuget restore
- name: Build ${{matrix.BUILD_CONFIGURATION}}
working-directory: ${{env.GITHUB_WORKSPACE}}
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:Configuration=${{matrix.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
- name: Build Solution
run: msbuild /m /p:Configuration=${{ matrix.BUILD_CONFIGURATION }}
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: RevokeMsgPatcher-${{matrix.BUILD_CONFIGURATION}}
path: |
.\RevokeMsgPatcher\bin
!.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.exe.config
!.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.pdb
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: RevokeMsgPatcher-${{ matrix.BUILD_CONFIGURATION }}
path: |
.\RevokeMsgPatcher\bin
!.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.exe.config
!.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.pdb

View File

@@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 2025 huiyadanli
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
RevokeMsgPatcher Copyright (C) 2025 huiyadanli
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

View File

@@ -20,7 +20,7 @@
<img width="180px" src="https://raw.githubusercontent.com/huiyadanli/RevokeMsgPatcher/master/Images/revoke.jpg"/>
下载地址:
**[⚡️点我下载最新版本](https://github.com/huiyadanli/RevokeMsgPatcher/releases/download/2.0/RevokeMsgPatcher.v2.0.zip)** |
**[⚡️点我下载最新版本](https://github.com/huiyadanli/RevokeMsgPatcher/releases/download/2.1/RevokeMsgPatcher.v2.1.zip)** |
[☁备用下载-蓝奏云](https://wwmy.lanzouq.com/b0fot7dpe) 密码:coco|
[☁备用下载-百度云](https://pan.baidu.com/s/15ilr78t8F1-VW8eUZSkr_Q?pwd=3rrj)
@@ -61,11 +61,13 @@
本项目早期内容源自 [wechat_anti_revoke](https://github.com/36huo/wechat_anti_revoke) 项目。
QQNT 防撤回依赖于 [LiteLoaderQQNT](https://github.com/LiteLoaderQQNT/LiteLoaderQQNT),修补依赖于 [DLLHijackMethod](https://github.com/LiteLoaderQQNT/QQNTFileVerifyPatch/tree/DLLHijackMethod) 并集成了以下插件:
2.0 之前版本 QQNT 防撤回依赖于 [LiteLoaderQQNT](https://github.com/LiteLoaderQQNT/LiteLoaderQQNT),修补依赖于 [DLLHijackMethod](https://github.com/LiteLoaderQQNT/QQNTFileVerifyPatch/tree/DLLHijackMethod) 并集成了以下插件:
* [插件列表查看 LL-plugin-list-viewer](https://github.com/ltxhhz/LL-plugin-list-viewer)
* [防撤回 LiteLoaderQQNT-Anti-Recall](https://github.com/xh321/LiteLoaderQQNT-Anti-Recall)
2.1 版本的 QQNTT 防撤回特征来自 [NTQQAntiRecall]( https://github.com/NapNeko/NTQQAntiRecall)
微信4.0版本后的防撤回特征来自于 [BetterWX](https://github.com/zetaloop/BetterWX)
## ❤️投喂

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -17,7 +17,7 @@ namespace RevokeMsgPatcher
{
Apps = AppConfig(),
LatestVersion = "2.1",
PatchVersion = 20250803,
PatchVersion = 20250824,
Notice = "",
NoticeUrl = "",
};
@@ -1439,9 +1439,51 @@ namespace RevokeMsgPatcher
new CommonModifyInfo
{
Name="Weixin.dll",
StartVersion="4.0.3.0",
StartVersion="4.1.0.17",
EndVersion="",
ReplacePatterns = new List<ReplacePattern>
{
new ReplacePattern
{
Search = ByteUtil.HexStringToByteArray("DA FE FF FF 4C 89 F1 E8 3F 3F 3F 3F 84 C0 0F 84"),
Replace = ByteUtil.HexStringToByteArray("DA FE FF FF 4C 89 F1 E8 3F 3F 3F 3F 84 C0 90 E9"),
Category = "防撤回"
},
new ReplacePattern
{
Search = ByteUtil.HexStringToByteArray("31 C9 31 D2 49 89 C0 FF 15 3F 3F 3F 3F 48 85 C0 0F 84"),
Replace = ByteUtil.HexStringToByteArray("31 C9 31 D2 49 89 C0 FF 15 3F 3F 3F 3F 48 85 C0 90 E9"),
Category = "多开"
}
}
},
new CommonModifyInfo
{
Name="Weixin.dll",
StartVersion="4.1.0.0",
EndVersion="4.1.0.17",
ReplacePatterns = new List<ReplacePattern>
{
new ReplacePattern
{
Search = ByteUtil.HexStringToByteArray("48 8D 8D 20 04 00 00 E8 CD 3F 3F 3F 84 C0 0F 84 3F 3F 3F 3F 48 8D 8D"),
Replace = ByteUtil.HexStringToByteArray("48 8D 8D 20 04 00 00 E8 CD 3F 3F 3F 84 C0 90 E9 3F 3F 3F 3F 48 8D 8D"),
Category = "防撤回"
},
new ReplacePattern
{
Search = ByteUtil.HexStringToByteArray("5F C3 CC CC CC CC CC CC CC CC CC CC CC CC CC CC 55 41 56 56 57 53"),
Replace = ByteUtil.HexStringToByteArray("5F C3 CC CC CC CC CC CC CC CC CC CC CC CC CC CC C3 41 56 56 57 53"),
Category = "多开"
}
}
},
new CommonModifyInfo
{
Name="Weixin.dll",
StartVersion="4.0.3.0",
EndVersion="4.1.0.0",
ReplacePatterns = new List<ReplacePattern>
{
new ReplacePattern
{

View File

@@ -47,7 +47,7 @@ namespace RevokeMsgPatcher.Model
if (!Directory.Exists(searchDirectory))
{
throw new DirectoryNotFoundException($"Directory not found: {searchDirectory}");
return "";
}
// 获取所有子目录

File diff suppressed because one or more lines are too long