You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When deobfuscating code that contains large array initializations (e.g., var item=Array(200000);), the library becomes unresponsive for an extended period of time. The resolveFunctionToArray function tries to expand the array to its full size, bloating the AST and causing performance issues.
Reproduce:
Obfuscate the following code snippet using Obfuscator.io with the "Low" preset:
Implement a filter to skip array initializations over a certain size (e.g., 10,000 elements). If size field is a binary expression, need to evaluate to determine if it should be skipped.
Add a timeout feature to resolveFunctionToArray.
Limit the maximum size of an array that can be expanded in the AST.
I am not certain which approach is best, and would appreciate input from more experienced contributors like you.
Thanks again for developing such an excellent tool. Looking forward to future improvements.
The text was updated successfully, but these errors were encountered:
Description:
When deobfuscating code that contains large array initializations (e.g.,
var item=Array(200000);
), the library becomes unresponsive for an extended period of time. TheresolveFunctionToArray
function tries to expand the array to its full size, bloating the AST and causing performance issues.Reproduce:
Possible Solutions:
resolveFunctionToArray
.I am not certain which approach is best, and would appreciate input from more experienced contributors like you.
Thanks again for developing such an excellent tool. Looking forward to future improvements.
The text was updated successfully, but these errors were encountered: