possible characters: abcdefijlnorstuy NOI [] sample string: obfuscated undefined = ([][{}]+[]) [object Object] = ({}+[]) false = (!{}+[]) true = ([]+!!{}) 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] ([]+{}+[])[!!{}+![]]+ ([]+{}+[])[!!{}+!![]]+ (!{}+[])[!{}+![]]+ ([][{}]+[])[!{}+![]]+ (!{}+[])[![]+!!{}+!!{}+!![]]+ ({}+{})[(!!{}+!![])*(!!{}+!![])+!!{}]+ ({}-{}+[])[!!{}+![]]+ ([]+!!{})[!{}+![]]+ ([]+!!{})[![]+!!{}+!!{}+!![]]+ ([][{}]+[])[![]+!!{}+!![]] ([]+{}+[])[!!{}+![]]+([]+{}+[])[!!{}+!![]]+(!{}+[])[!{}+![]]+([][{}]+[])[!{}+![]]+(!{}+[])[![]+!!{}+!!{}+!![]]+({}+{})[(!!{}+!![])*(!!{}+!![])+!!{}]+({}-{}+[])[!!{}+![]]+([]+!!{})[!{}+![]]+([]+!!{})[![]+!!{}+!!{}+!![]]+([][{}]+[])[![]+!!{}+!![]]