javascript-deobfuscator
javascript-deobfuscator copied to clipboard
[Bug] Mishandling of scope
In the following example, the declaration of bar
via const bar = function(){…}
is not incorporated in the deobfuscation result of function body foo
:
function foo() {
const bar = function () {
for (;;){
return 0;
}
};
const x = bar();
return x
}
function bar() {
return 42;
}
deobfuscation should result in foo
returning 0
either directly or indirectly instead.
Weirdly enough, it works when the complexity of the refered-to bar
function is reduced to a plain return 0
without the for
-loop wrapper:
function foo() {
const bar = function () {
return 0;
};
const x = bar();
return x
}
function bar() {
return 42;
}
correctly results in
function foo() {
const x = 0;
return x;
}