diff --git a/README.md b/README.md index e93d7a7..fce6071 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,39 @@ macOS 微信客户端插件 ![](images/WeChatMainMockUp.png) +# 如何安装 + +> 注意: 执行脚本需要输入你的 Mac 密码 + +## 必要步骤 + +### 已安装 Git 的用户 + +**Mac 上安装了 Git 的可以直接克隆仓库后执行脚本** + +```shell +git clone https://github.com/X1a0He/X1a0HeWeChatPlugin.git +cd X1a0HeWeChatPlugin +sudo sh install.sh +``` + +### 未安装 Git 的用户 + +- 下载完整仓库压缩包后解压到相关目录\ + ![](images/Download-ZIP.png) + +- 完成解压后,打开`终端`\ + ![](images/Terminal.png) + +执行以下命令 + +```shell +cd X1a0HeWeChatPlugin目录 +sudo sh install.sh +``` + +**等待安装完成即可** + # 插件菜单预览 ![](images/Menu.png) @@ -46,10 +79,20 @@ macOS 微信客户端插件 # 📝更新日志 - 更多更新日志,请查看 [更新日志](change-log.md) -- 2025.01.20 19:00 更新日志 +- 1.0.0 (2025.01.20) 19:00 更新日志 ```text - +1. 推出 X1a0He WeChat Plugin v1.0.0 +2. 支持 防撤回他人消息 +3. 支持 防撤回自己消息 +4. 支持 显示红包转账详情 +5. 支持 聊天中的语音消息自动转成文字 +6. 支持 允许微信多开 +7. 支持 微信 UI 设置 +8. 支持 禁用日志上报 +9. 支持 禁用安全模式 +10. 支持 禁用检测更新 +11. 支持 禁用启动检查更新 ``` # 使用须知 diff --git a/X1a0HeWeChatPlugin.dylib b/X1a0HeWeChatPlugin.dylib new file mode 100755 index 0000000..d805ce2 Binary files /dev/null and b/X1a0HeWeChatPlugin.dylib differ diff --git a/change-log.md b/change-log.md index e69de29..87ad399 100644 --- a/change-log.md +++ b/change-log.md @@ -0,0 +1,15 @@ +# 更新日志 + +### 1.0.0 (2025.01.20) + +- 推出 X1a0He WeChat Plugin v1.0.0 +- 支持 防撤回他人消息 +- 支持 防撤回自己消息 +- 支持 显示红包转账详情 +- 支持 聊天中的语音消息自动转成文字 +- 支持 允许微信多开 +- 支持 微信 UI 设置 +- 支持 禁用日志上报 +- 支持 禁用安全模式 +- 支持 禁用检测更新 +- 支持 禁用启动检查更新 \ No newline at end of file diff --git a/entitlements.xml b/entitlements.xml new file mode 100644 index 0000000..5ee43f8 --- /dev/null +++ b/entitlements.xml @@ -0,0 +1,35 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.application-groups + + 5A4RE8SF68.com.tencent.xinWeChat + + com.apple.security.cs.allow-jit + + com.apple.security.device.audio-input + + com.apple.security.device.camera + + com.apple.security.device.microphone + + com.apple.security.files.downloads.read-write + + com.apple.security.files.user-selected.read-write + + com.apple.security.network.client + + com.apple.security.network.server + + com.apple.security.personal-information.location + + com.apple.security.temporary-exception.mach-lookup.global-name + + com.tencent.xinWeChat-spks + com.tencent.xinWeChat-spki + + + \ No newline at end of file diff --git a/images/Download-ZIP.png b/images/Download-ZIP.png new file mode 100644 index 0000000..3531fab Binary files /dev/null and b/images/Download-ZIP.png differ diff --git a/images/Terminal.png b/images/Terminal.png new file mode 100644 index 0000000..79fc684 Binary files /dev/null and b/images/Terminal.png differ diff --git a/insert_dylib b/insert_dylib new file mode 100755 index 0000000..98625a9 Binary files /dev/null and b/insert_dylib differ diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..7fd6d74 --- /dev/null +++ b/install.sh @@ -0,0 +1,66 @@ +#!/bin/bash +X1A0HE_WECHAT_PLUGIN_INSTALLER="X1a0He WeChat Plugin Installer" +WECHAT_PATH="/Applications/WeChat.app" + +if [ ! -d "$WECHAT_PATH" ] +then + WECHAT_PATH="/Applications/微信.app" + if [ ! -d "$WECHAT_PATH" ] + then + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 未找到微信路径,请先到微信官网下载微信" + exit 1 + fi +fi + +APP_NAME="WeChat" +WECHAT_APP_PATH="$WECHAT_PATH/Contents/MacOS" +WECHAT_EXECUTABLE_PATH="${WECHAT_APP_PATH}/${APP_NAME}" +WECHAT_EXECUTABLE_ORIGINAL_PATH="${WECHAT_APP_PATH}/${APP_NAME}.original" + +# 判断是否存在备份文件 +if [ -f "$WECHAT_EXECUTABLE_ORIGINAL_PATH" ] +then + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 检测到已安装过,是否重新安装?[y/n]" + read -r REPLY + if [ "$REPLY" = "Y" ] || [ "$REPLY" = "y" ] + then + rm -f "$WECHAT_EXECUTABLE_PATH" + mv "$WECHAT_EXECUTABLE_ORIGINAL_PATH" "$WECHAT_EXECUTABLE_PATH" + exit 0 + else + exit 0 + fi +else + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 检测到是首次安装,正在备份原始文件..." + cp "$WECHAT_EXECUTABLE_PATH" "$WECHAT_EXECUTABLE_ORIGINAL_PATH" + if [ $? -ne 0 ]; then + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 备份失败,请检查权限或重试" + exit 1 + fi +fi + +# 拷贝动态库到微信目录 +echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 正在拷贝插件到微信目录..." +cp "./X1a0HeWeChatPlugin.dylib" "$WECHAT_APP_PATH" +if [ $? -ne 0 ]; then + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 拷贝插件失败,请检查权限或重试" + exit 1 +fi + +# 注入动态库 +echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 正在注入插件..." +./insert_dylib "$WECHAT_APP_PATH/X1a0HeWeChatPlugin.dylib" "$WECHAT_EXECUTABLE_PATH" "$WECHAT_EXECUTABLE_PATH" +if [ $? -ne 0 ]; then + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 注入插件失败" + exit 1 +fi + +# 重新签名 +echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 正在重新签名..." +sudo /usr/bin/codesign -f -s - --all-architectures --entitlements "./entitlements.xml" "$WECHAT_EXECUTABLE_PATH" +if [ $? -ne 0 ]; then + echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 重新签名失败" + exit 1 +fi + +echo "[${X1A0HE_WECHAT_PLUGIN_INSTALLER}] 安装完成!" \ No newline at end of file