Как бороться с коллизией имен при попытке деобфускации странного кода?

#java #reverse-engineering

#java #обратный инжиниринг

Вопрос:

сейчас я занимаюсь обратным проектированием одного приложения, и мне нужна возможность его исправления (извлекать исходные тексты, перекомпилировать и собрать его снова). Я начал с JD-GUI, но нашел очень интересный метод запутывания.

Все имена классов — это одно и то же слово (lolkekcheburek), но в разных вариантах регистра:

Имена классов

Итак, для JVM все имена классов в порядке, но когда вы пытаетесь извлечь его, Windows уведомляет о коллизии имен:

Коллизия имен

Как бы вы справились с этим?

Ответ №1:

По умолчанию Windows не учитывает регистр для имени файла. Если вы действительно хотите работать в Windows, вы должны быть в Windows 10 и включить чувствительность к регистру для вашей конкретной папки с помощью : fsutil.exe file setCaseSensitiveInfo C:folder enable