Files
cursornew2026/fix_final_vars.js

79 lines
2.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 最后一轮清理
*/
const fs = require('fs');
const inputPath = 'D:/temp/破解/cursorpro-0.4.5/deobfuscated_full/extension/out/webview/provider.js';
let code = fs.readFileSync(inputPath, 'utf8');
const replacements = {
// 常见模式
'var295': 'usageData',
'var261': 'accountInfo',
'var249': 'tokenData',
'var443': 'switchInfo',
'var428': 'statusInfo',
'var521': 'checkResult',
'var581': 'versionInfo',
// 循环变量
'v98': 'lineIdx',
'v96': 'charIdx',
'v82': 'strIdx',
'v414': 'pathItem',
'v636': 'codeItem',
'v684': 'lineContent',
// 参数
'arg395': 'lineStr',
'arg259': 'dataArg',
'arg257': 'cbArg',
// 其他
'var95': 'hostLine',
'var90': 'hostEntry',
'var733': 'restoreCode',
'var724': 'patchContent',
// 所有剩余的 v 开头的通常是解构或catch变量
'v600': 'tmpErr',
'v625': 'tmpErr2',
'v645': 'tmpErr3',
'v653': 'tmpErr4',
'v660': 'tmpErr5',
'v670': 'tmpErr6',
'v702': 'tmpErr7',
'v720': 'tmpErr8',
'v735': 'tmpErr9',
'v745': 'tmpErr10',
'v752': 'tmpErr11',
'v761': 'tmpErr12',
'v767': 'tmpErr13',
};
let count = 0;
for (const [oldName, newName] of Object.entries(replacements)) {
const regex = new RegExp('\\b' + oldName + '\\b', 'g');
const matches = code.match(regex);
if (matches) {
code = code.replace(regex, newName);
console.log(`${oldName} -> ${newName} (${matches.length})`);
count++;
}
}
fs.writeFileSync(inputPath, code);
console.log(`\n替换了 ${count}`);
const remaining = [...new Set((code.match(/\b(var|arg|v)\d+\b/g) || []))];
console.log(`剩余: ${remaining.length}`);
// 显示剩余的
if (remaining.length <= 80) {
console.log('\n剩余变量详情:');
remaining.sort().forEach(v => {
const cnt = (code.match(new RegExp('\\b' + v + '\\b', 'g')) || []).length;
console.log(` ${v} (${cnt}次)`);
});
}