xaker

JSNice: статистический деобфускатор для JavaSсript

  • четверг, 5 июня 2014 г. в 03:12:38
http://www.xakep.ru/post/62593/

Исследователи из Швейцарской высшей технической школы Цюриха (ETH Zurich) разработали программу JSNice — деобфускатор для JavaScript, который отличается от подобных программ тем, что использует статистический метод для расшифровки кода. При обработке «зашифрованного» кода JSNice ищет соответствия в open source проектах и пытается восстановить оригинальные названия переменных. Разработчики говорят, что JSNice успешно восстанавливает около 60% идентификаторов в минифицированном коде.

JSNice заслуживает внимания как интересный пример использования машинного обучения. По идее, движок самообучается и в перспективе может увеличить точность распознавания. На данный момент он обработал уже более 10 000 проектов JavaScript с сайта Github.

Большая часть JavaScript-кода в интернете минифицирована, и чтобы разобраться в коде, приходится использовать деобфускаторы вроде JSNice и JSBbeautifier.

Пример кода до и после деобфускации в JSNice