Closed bbday closed 2 years ago
Changing variable names is a feature I could implement but manual variable renaming is much faster and more reliable (with VSCode you can select a symbol and press f2 to change the var name and all references)
Other idea is remove function used to decript
Afaik setting removeReferences will remove the functions
I find that first automatically renaming all the variables to something shorter is very helpful, since you can get a better quick overview and see what variables are the same at a glance before doing the manual renaming.
the only issue is use "global" value check, instead rename only inside function (local) i mean it do like this:
function A1(a,b) {
var c = 1+2;
var d = 3+ 4;
return c+d+a+b
}
function B1(f,g) {
var h = 2+2;
var i = 6+7;
return h+i+f+g
}
when should be
function A1(a,b) {
var c = 1+2;
var d = 3+ 4;
return c+d+a+b
}
function B1(a,b) {
var c = 2+2;
var d= 6+7;
return c+d+a+b
}
Then is more easy overview changes and make diff cause you have always same "local variables" name, because if you add new function between A1 - B1, it will use new variables name
Other idea is remove function used to decript
This has been implemented in 2.0.1
Variable renaming is a lot easier (you can do it from the deobfuscator web ui because it uses monaco (vsc's editor), by pressing f2 after selecting a symbol.
however there are plans to implement automatic identifier renaming with type inference in an upcoming version
implemented in https://github.com/relative/synchrony/releases/tag/2.3.0.
update with npm i --global deobfuscator@2.3.0
and run
synchrony deobfuscate --rename ./file.js
Is possible add something to rename variables startwith (_0x) into names more easy? (it is so powerfull to make diff changes between file verions compare old/new code) probably best code is start from "a" on each local function like
var AAA = function() { { var aaa = !![]; var bbb = 44; var ccc = 333; }
var BBB = function() { { var aaa = []; var bbb = 45565; }
to
i found it in other script: https://github.com/sd-soleaio/deobfuscator-io/blob/6955343e9505336359c68dbad19d436cf507645d/src/deobfuscator.js#L154
Other idea is remove function used to decript name: 'StringDecoderTransformer', params: { identifiers: [['targetFunction', 0, targetFunction, 0]],