possible characters: abcdefijlnorstuy NOI [] sample string: obfuscated undefined = [][{}] undefined = [][[]] [object Object] = {}+[] false = ![] true = !![] NaN = {}-{}+[] NaN = +[][[]] NaN = +[![]] Infinity = !!{}/![]+[] 0 = !{}+![] 0 = +!{} 1 = !!{}+![] 1 = +!![] 1 = +!+{} 2 = ![]+!!{}+!![] 2 = !!{}+!![] 2 = +!+[]+!!{} 3 = ![]+!!{}+!!{}+!![] 5 = (!!{}+!![])*(![]+!!{}+!![])+!!{} o ([]+{}+[])[1] b ([]+{}+[])[2] f (!{}+[])[0] u ([][{}]+[])[0] s (!{}+[])[3] c ({}+{})[5] a ({}-{}+[])[1] t ([]+!!{})[0] e ([]+!!{})[3] d ([][{}]+[])[2] ([]+{}+[])[!!{}+![]]+ ([]+{}+[])[!!{}+!![]]+ (!{}+[])[!{}+![]]+ ([][{}]+[])[!{}+![]]+ (!{}+[])[![]+!!{}+!!{}+!![]]+ ({}+{})[(!!{}+!![])*(!!{}+!![])+!!{}]+ ({}-{}+[])[!!{}+![]]+ ([]+!!{})[!{}+![]]+ ([]+!!{})[![]+!!{}+!!{}+!![]]+ ([][{}]+[])[![]+!!{}+!![]] ([]+{}+[])[!!{}+![]]+([]+{}+[])[!!{}+!![]]+(!{}+[])[!{}+![]]+([][{}]+[])[!{}+![]]+(!{}+[])[![]+!!{}+!!{}+!![]]+({}+{})[(!!{}+!![])*(!!{}+!![])+!!{}]+({}-{}+[])[!!{}+![]]+([]+!!{})[!{}+![]]+([]+!!{})[![]+!!{}+!!{}+!![]]+([][{}]+[])[![]+!!{}+!![]]