The Good, the bad and the ugly of JavaScript obfuscation