The following short code throws exception, because bindingInferrer sets v value to null, even though the member-expression should see v as param.
(function ()
{
return function (v) {
return function () {
v['myParam']();
v = null;
};
}
})();
Stack-trace:
TypeError: ex3.js: Cannot read property 'myParam' of null
at getMemberExpressionValue (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-plugin-deobfuscate\lib\member-expressions.js:82:26)
at evaluate (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-plugin-deobfuscate\lib\member-expressions.js:68:10)
at evaluateExpression (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-plugin-deobfuscate\lib\expressions.js:36:12)
at PluginPass.deobfuscateExpression (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-plugin-deobfuscate\lib\expressions.js:23:18)
at PluginPass.newFn (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-traverse\lib\visitors.js:318:17)
at newFn (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-traverse\lib\visitors.js:276:21)
at NodePath._call (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-traverse\lib\path\context.js:76:18)
at NodePath.call (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-traverse\lib\path\context.js:48:17)
at NodePath.visit (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-traverse\lib\path\context.js:105:12)
at TraversalContext.visitQueue (C:\Users\Administrator1\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-traverse\lib\context.js:150:16)
The following short code throws exception, because bindingInferrer sets
vvalue to null, even though the member-expression should seevas param.Stack-trace: