diff --git a/scripts/run/cursor_mac_id_modifier.sh b/scripts/run/cursor_mac_id_modifier.sh index 9a754e3..debe1d5 100644 --- a/scripts/run/cursor_mac_id_modifier.sh +++ b/scripts/run/cursor_mac_id_modifier.sh @@ -128,6 +128,7 @@ backup_config() { # 生成随机 ID generate_random_id() { + # 生成32字节(64个十六进制字符)的随机数 openssl rand -hex 32 } @@ -138,7 +139,13 @@ generate_uuid() { # 生成新的配置 generate_new_config() { - local machine_id="auth0|user_$(generate_random_id)" + # 将 auth0|user_ 转换为字节数组的十六进制 + local prefix_hex=$(echo -n "auth0|user_" | xxd -p) + # 生成随机部分 + local random_part=$(generate_random_id) + # 拼接前缀的十六进制和随机部分 + local machine_id="${prefix_hex}${random_part}" + local mac_machine_id=$(generate_random_id) local device_id=$(generate_uuid | tr '[:upper:]' '[:lower:]') local sqm_id="{$(generate_uuid | tr '[:lower:]' '[:upper:]')}" diff --git a/scripts/run/cursor_win_id_modifier.ps1 b/scripts/run/cursor_win_id_modifier.ps1 index c34f281..226631f 100644 --- a/scripts/run/cursor_win_id_modifier.ps1 +++ b/scripts/run/cursor_win_id_modifier.ps1 @@ -110,9 +110,26 @@ if (Test-Path $STORAGE_FILE) { # 生成新的 ID Write-Host "$GREEN[信息]$NC 正在生成新的 ID..." +# 生成随机字节数组并转换为十六进制字符串的函数 +function Get-RandomHex { + param ( + [int]$length + ) + $bytes = New-Object byte[] $length + $rng = [System.Security.Cryptography.RNGCryptoServiceProvider]::new() + $rng.GetBytes($bytes) + $rng.Dispose() + return -join ($bytes | ForEach-Object { '{0:x2}' -f $_ }) +} + $UUID = [System.Guid]::NewGuid().ToString() -$MACHINE_ID = -join ((1..32) | ForEach-Object { '{0:x2}' -f (Get-Random -Max 256) }) -$MAC_MACHINE_ID = -join ((1..32) | ForEach-Object { '{0:x2}' -f (Get-Random -Max 256) }) +# 将 auth0|user_ 转换为字节数组的十六进制 +$prefixBytes = [System.Text.Encoding]::UTF8.GetBytes("auth0|user_") +$prefixHex = -join ($prefixBytes | ForEach-Object { '{0:x2}' -f $_ }) +# 生成32字节(64个十六进制字符)的随机数作为 machineId 的随机部分 +$randomPart = Get-RandomHex -length 32 +$MACHINE_ID = "$prefixHex$randomPart" +$MAC_MACHINE_ID = Get-RandomHex -length 32 $SQM_ID = "{$([System.Guid]::NewGuid().ToString().ToUpper())}" # 创建或更新配置文件