From a763ba63c11a61b75a9241baa384fff09fd7303f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=85=8E=E9=A5=BC=E6=9E=9C=E5=AD=90=E5=8D=B7=E9=B2=A8?= =?UTF-8?q?=E9=B1=BC=E8=BE=A3=E6=A4=92?= Date: Wed, 14 Jan 2026 14:16:33 +0800 Subject: [PATCH] =?UTF-8?q?```=20fix(cursor=5Fwin=5Fid=5Fmodifier):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DLoader=20Stub=E9=87=8D=E5=A4=8D=E6=B3=A8?= =?UTF-8?q?=E5=85=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加__cursor_patched__标记检测,避免重复注入破坏语法 - 使用正则表达式替换确保仅首次注入Loader Stub代码 - 改进注入逻辑,当检测到已有注入标记时跳过重复操作 - 更新提示信息显示注入状态和重复检测结果 ``` --- scripts/run/cursor_win_id_modifier.ps1 | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/scripts/run/cursor_win_id_modifier.ps1 b/scripts/run/cursor_win_id_modifier.ps1 index 6bc1142..d751b40 100644 --- a/scripts/run/cursor_win_id_modifier.ps1 +++ b/scripts/run/cursor_win_id_modifier.ps1 @@ -562,10 +562,13 @@ try { "@ - # 找到版权声明结束位置并在其后注入 - if ($content -match '(\*/\s*\n)') { - $content = $content -replace '(\*/\s*\n)', "`$1$injectCode" - Write-Host " $GREEN✓$NC [方案C] Loader Stub 已注入(版权声明后)" + # 找到版权声明结束位置并在其后注入(仅注入一次,避免多次插入破坏语法) + if ($content -match "__cursor_patched__") { + Write-Host " $YELLOW⚠️ $NC [方案C] 已检测到既有注入标记,跳过重复注入" + } elseif ($content -match '(\*/\s*\n)') { + $replacement = '$1' + $injectCode + $content = [regex]::Replace($content, '(\*/\s*\n)', $replacement, 1) + Write-Host " $GREEN✓$NC [方案C] Loader Stub 已注入(版权声明后,仅首次)" } else { # 如果没有找到版权声明,则注入到文件开头 $content = $injectCode + $content