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: workflow_dispatch:
inputs: inputs:
Reason: Reason:
description: 'Reasons for temporary build' description: 'Reasons for temporary build'
required: true required: true
default: 'No reason.Just do it.' default: 'No reason. Just do it.'
push: push:
branches: branches:
- master - master
paths-ignore: paths-ignore:
- '**/*.md' - '**/*.md'
- .gitignore - .gitignore
- .editorconfig - .editorconfig
- appveyor.yml - appveyor.yml
pull_request: pull_request:
branches: branches:
- master - master
paths-ignore: paths-ignore:
- '**/*.md' - '**/*.md'
- .gitignore - .gitignore
- .editorconfig - .editorconfig
- appveyor.yml - 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]
jobs: jobs:
build: build:
name: ${{matrix.BUILD_CONFIGURATION}} name: Build (${{ matrix.BUILD_CONFIGURATION }})
runs-on: windows-2019 runs-on: windows-latest
strategy: strategy:
matrix: matrix:
BUILD_CONFIGURATION: ['Debug', 'Release'] BUILD_CONFIGURATION: [Debug, Release]
steps: steps:
- uses: actions/checkout@v2 - name: Checkout code
uses: actions/checkout@v4
- name: Add MSBuild to PATH - name: Setup MSBuild
uses: microsoft/setup-msbuild@v1.0.2 uses: microsoft/setup-msbuild@v2
- name: Restore NuGet packages - name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}} run: nuget restore
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- name: Build ${{matrix.BUILD_CONFIGURATION}} - name: Build Solution
working-directory: ${{env.GITHUB_WORKSPACE}} run: msbuild /m /p:Configuration=${{ matrix.BUILD_CONFIGURATION }}
# 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: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: RevokeMsgPatcher-${{matrix.BUILD_CONFIGURATION}} name: RevokeMsgPatcher-${{ matrix.BUILD_CONFIGURATION }}
path: | path: |
.\RevokeMsgPatcher\bin .\RevokeMsgPatcher\bin
!.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.exe.config !.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.exe.config
!.\RevokeMsgPatcher\bin\**\RevokeMsgPatcher.pdb !.\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. 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.> <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 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 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 If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode: 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 program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details. 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"/> <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://wwmy.lanzouq.com/b0fot7dpe) 密码:coco|
[☁备用下载-百度云](https://pan.baidu.com/s/15ilr78t8F1-VW8eUZSkr_Q?pwd=3rrj) [☁备用下载-百度云](https://pan.baidu.com/s/15ilr78t8F1-VW8eUZSkr_Q?pwd=3rrj)
@@ -61,11 +61,13 @@
本项目早期内容源自 [wechat_anti_revoke](https://github.com/36huo/wechat_anti_revoke) 项目。 本项目早期内容源自 [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) * [插件列表查看 LL-plugin-list-viewer](https://github.com/ltxhhz/LL-plugin-list-viewer)
* [防撤回 LiteLoaderQQNT-Anti-Recall](https://github.com/xh321/LiteLoaderQQNT-Anti-Recall) * [防撤回 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) 微信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(), Apps = AppConfig(),
LatestVersion = "2.1", LatestVersion = "2.1",
PatchVersion = 20250803, PatchVersion = 20250824,
Notice = "", Notice = "",
NoticeUrl = "", NoticeUrl = "",
}; };
@@ -1439,9 +1439,51 @@ namespace RevokeMsgPatcher
new CommonModifyInfo new CommonModifyInfo
{ {
Name="Weixin.dll", Name="Weixin.dll",
StartVersion="4.0.3.0", StartVersion="4.1.0.17",
EndVersion="", EndVersion="",
ReplacePatterns = new List<ReplacePattern> 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 new ReplacePattern
{ {

View File

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

File diff suppressed because one or more lines are too long