feat: 进一步完善,提供安装脚本以及注入文件

1. 完善更新日志
2. 增加微信签名沙盒文件
3. 增加安装步骤教程和安装命令
This commit is contained in:
X1a0He
2025-01-20 20:24:34 +08:00
parent 09cb182123
commit 7d43b8e866
8 changed files with 161 additions and 2 deletions

View File

@@ -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. 支持 禁用启动检查更新
```
# 使用须知

BIN
X1a0HeWeChatPlugin.dylib Executable file

Binary file not shown.

View File

@@ -0,0 +1,15 @@
# 更新日志
### 1.0.0 (2025.01.20)
- 推出 X1a0He WeChat Plugin v1.0.0
- 支持 防撤回他人消息
- 支持 防撤回自己消息
- 支持 显示红包转账详情
- 支持 聊天中的语音消息自动转成文字
- 支持 允许微信多开
- 支持 微信 UI 设置
- 支持 禁用日志上报
- 支持 禁用安全模式
- 支持 禁用检测更新
- 支持 禁用启动检查更新

35
entitlements.xml Normal file
View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>5A4RE8SF68.com.tencent.xinWeChat</string>
</array>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.device.audio-input</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.device.microphone</key>
<true/>
<key>com.apple.security.files.downloads.read-write</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.personal-information.location</key>
<true/>
<key>com.apple.security.temporary-exception.mach-lookup.global-name</key>
<array>
<string>com.tencent.xinWeChat-spks</string>
<string>com.tencent.xinWeChat-spki</string>
</array>
</dict>
</plist>

BIN
images/Download-ZIP.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
images/Terminal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
insert_dylib Executable file

Binary file not shown.

66
install.sh Normal file
View File

@@ -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}] 安装完成!"