Два исследователя компьютерной безопасности из проекта Openwall и CodePainters произвели реверс-инжиниринг официального клиента DropBox, сообщает opennet.ru. Несмотря на то, что код приложения написан на языке Python, программа изначально была зашифрована и приведена в совершенно нечитабельный вид. Анализ усложняло то, что официальный клиент DropBox содержит изменённый интерпретатор Python, который выполняет специально закодированный байткод. Проанализировав код, разработчики расшифровали SSL-трафик между клиентом и сервером DropBox и проследили всю цепочку работы программы, включая двухфакторную аутентификацию, что позволило им написать собственный открытый клиент для сервиса. Используемые в процессе исследования инструменты опубликованы на GitHub, в ближайшее время ожидается публикация кода с реализацией прототипа открытого клиента к DropBox. Все шаги, предпринятые для расшифровки клиента, описаны в обширном документе (PDF), который выложен в свободный доступ, что позволит другим квалифицированных исследователям попытаться провести обратный инжиниринг клиентов других компаний, написанных с использованием Python: NASA, Minecraft и множество сервисов корпорации Google. Документ содержит информацию об успешной распаковке, расшифровке и декомпиляции "замороженных" Python-приложений.
Подробности