From caea10a190707fc7207a7c49c4a5acab677c4684 Mon Sep 17 00:00:00 2001 From: hicccc77 <98377878+hicccc77@users.noreply.github.com> Date: Tue, 10 Mar 2026 23:30:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 区分进程未找到、附加失败、扫描失败 - 提示权限解决方案 --- electron/services/keyServiceMac.ts | 25 +++++++++++++++++++++---- resources/libwx_key.dylib | Bin 240784 -> 240832 bytes 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/electron/services/keyServiceMac.ts b/electron/services/keyServiceMac.ts index 4cce77d..63b1c09 100644 --- a/electron/services/keyServiceMac.ts +++ b/electron/services/keyServiceMac.ts @@ -76,15 +76,32 @@ export class KeyServiceMac { const keyPtr = this.GetDbKey() if (!keyPtr) { - onStatus?.('获取失败:WeChat 未运行或无法附加', 2) - return { success: false, error: 'WeChat 未运行或无法附加' } + onStatus?.('获取失败:未知错误', 2) + return { success: false, error: '未知错误' } } - const key = this.koffi.decode(keyPtr, 'string') + const result = this.koffi.decode(keyPtr, 'string') this.FreeString(keyPtr) + // 检查是否是错误信息 + if (result.startsWith('ERROR:')) { + const parts = result.split(':') + let errorMsg = '未知错误' + + if (parts[1] === 'PROCESS_NOT_FOUND') { + errorMsg = '微信进程未运行' + } else if (parts[1] === 'ATTACH_FAILED') { + errorMsg = `无法附加到进程 (${parts[2] || ''})\n可能需要授予调试权限:sudo /usr/sbin/DevToolsSecurity -enable` + } else if (parts[1] === 'SCAN_FAILED') { + errorMsg = '内存扫描失败' + } + + onStatus?.(errorMsg, 2) + return { success: false, error: errorMsg } + } + onStatus?.('密钥获取成功', 1) - return { success: true, key } + return { success: true, key: result } } catch (e: any) { onStatus?.('获取失败: ' + e.message, 2) return { success: false, error: e.message } diff --git a/resources/libwx_key.dylib b/resources/libwx_key.dylib index 18822c4674b7cc94b3cf0d40b3b150bddd5f9b9e..c42872409ec212611a2bc60106dca900abcd9e11 100755 GIT binary patch delta 30588 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 h{YCB+veVxVJ*2@ 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
  • a;+!GjwTiCExBA{vtG+cr92f3={l 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