备份: 完整开发状态(含反混淆脚本和临时文件)
This commit is contained in:
78
fix_final_vars.js
Normal file
78
fix_final_vars.js
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* 最后一轮清理
|
||||
*/
|
||||
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}次)`);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user