备份: 完整开发状态(含反混淆脚本和临时文件)
This commit is contained in:
71
fix_remaining.js
Normal file
71
fix_remaining.js
Normal file
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* 修复剩余的未初始化变量
|
||||
*/
|
||||
const fs = require('fs');
|
||||
|
||||
let code = fs.readFileSync('deobfuscated_full/extension/out/webview/provider.js', 'utf8');
|
||||
|
||||
// 基于使用上下文的替换
|
||||
const replacements = {
|
||||
// settings path 相关
|
||||
'var235': 'settingsPath',
|
||||
'var243': 'settingsObj',
|
||||
|
||||
// config 相关
|
||||
'var315': 'config',
|
||||
'var316': 'cursorPath',
|
||||
|
||||
// 循环/临时变量
|
||||
'var2': 'descriptor',
|
||||
'var451': 'workbenchPath',
|
||||
|
||||
// stdout 相关 (v开头通常是解构)
|
||||
'v319': 'wmicStdout',
|
||||
'v324': 'psStdout',
|
||||
'v339': 'regStdout',
|
||||
'v342': 'regStdout2',
|
||||
'v354': 'lnkTarget',
|
||||
'v362': 'whereStdout',
|
||||
'v508': 'lsofStdout',
|
||||
'v532': 'psStdout2',
|
||||
'v718': 'psStdout3',
|
||||
|
||||
// error catch 变量
|
||||
'v313': 'err',
|
||||
'v323': 'err',
|
||||
'v325': 'err',
|
||||
'v341': 'err',
|
||||
'v350': 'err',
|
||||
'v356': 'err',
|
||||
|
||||
// 其他常见
|
||||
'var99': 'lines',
|
||||
'var78': 'htmlContent',
|
||||
'var114': 'uri',
|
||||
'var184': 'macPath',
|
||||
'var502': 'linuxPath',
|
||||
'var602': 'platformPath',
|
||||
'var603': 'appPath',
|
||||
'var605': 'resourcesPath',
|
||||
'var674': 'backupPath',
|
||||
'var701': 'injectionCode',
|
||||
'var762': 'seamlessCode',
|
||||
|
||||
// 函数参数
|
||||
'arg36': 'mod',
|
||||
};
|
||||
|
||||
let count = 0;
|
||||
for (const [old, newName] of Object.entries(replacements)) {
|
||||
const regex = new RegExp('\b' + old + '\b', 'g');
|
||||
const before = code;
|
||||
code = code.replace(regex, newName);
|
||||
if (code !== before) count++;
|
||||
}
|
||||
|
||||
fs.writeFileSync('deobfuscated_full/extension/out/webview/provider.js', code);
|
||||
console.log(`替换了 ${count} 个变量名`);
|
||||
|
||||
// 统计剩余
|
||||
const remaining = [...new Set((code.match(/\b(var|arg|v)\d+\b/g) || []))];
|
||||
console.log(`剩余通用变量名: ${remaining.length} 个`);
|
||||
Reference in New Issue
Block a user