Вообще то, хеш и формат СФС в игре имеют уязвимости, которые позволяют из хеша восстанавливать оригинальные имена файлов.
Вычисление хеша базируется на работах Микаеля О. Рабина, одного из самых уважаемых людей в этом вопросе (математические премии в области чисел кому попало не дают
), однако этот алгоритм изначально был предназначен для других целей. Отсюда и дырки, позволяющие обратный реверс сделать за очень короткое время. Примерно процентов 90-95 имён восстанавливается за время меньшее 1 - 2 секунды на моём железе и без ультра оптимизации. 1-2 секунды на одно имя, естественно и в автоматическом режиме. Но эта скорость обеспечивается дырками в структуре СФС.
Так, конечно, из-за высокого уровня коллизий на длине имени более 12 символов восстановление в автоматическом режиме невозможно, приходится ручкаме сортировать результаты.
Небольшой процент (на все версии, от самой первой и до 4.13 менее 10 имён) восстановить не удаётся. Но к ним подходят читаемые эквиваленты.
Как-то так.