jsxer icon indicating copy to clipboard operation
jsxer copied to clipboard

Inline decompilation of Embedded compiled scripts.

Open psyirius opened this issue 3 years ago • 4 comments

eval("@JSXBIN@[email protected]@MyBbyBn0ABJAnAARFFdBFdCFdDFdEFdFf0DzABByB");

to

eval(
    /* 
    * Decompiled inline with Jsxbin Decompiler
    * Compiled: "@JSXBIN@[email protected]@MyBbyBn0ABJAnAARFFdBFdCFdDFdEFdFf0DzABByB"
    */
    "[1, 2, 3, 4, 5];"
);

psyirius avatar Feb 16 '22 13:02 psyirius

Really good idea!

AngeloD2022 avatar Feb 16 '22 14:02 AngeloD2022

This would involve somehow detecting the function name and ensuring that the argument is a jsxbin-formatted string literal.

AngeloD2022 avatar Feb 16 '22 20:02 AngeloD2022

The question is where to implement this logic. Should it be written in the AST node for function calls?

AngeloD2022 avatar Feb 16 '22 20:02 AngeloD2022

The question is where to implement this logic. Should it be written in the AST node for function calls?

Maybe implement in string literal decoder if need to inline decompile every possible embedded scripts. Else in function call with a check to the id or if the arg len is one and if it is string and it matches the jsxbin signature in-case of indirect call to eval.

psyirius avatar Feb 16 '22 21:02 psyirius

Added in v1.7.1

AngeloD2022 avatar Sep 01 '24 03:09 AngeloD2022