И так, как найти ключ шифрования dev_klicensee к новой или непопулярной игре, которую ещё никто не расшифровывал? Воспользуемся для этого программкой BruteForce_Edat, которая входит в состав ps3tools и находится по пути ..\ps3tools\tools\scetool\. Запускаем программку. Если как-будто ничего не произошло, не нужно запускать её ещё раз. Просто её маленькое окно выбора рабочей папки спрятано под окнами других ваших открытых программ, а на панели задач она ещё не появилась. Сверните все другие окна и выберите папку с интересующей вас игрой.
Важно, чтобы в папке с игрой лежал уже расшифрованный EBOOT.BIN файл. И не в смысле полностью расшифрованный до программного кода EBOOT.ELF, а со снятой NPDRM защитой. Программа сама найдёт EBOOT.BIN, скопирует его к себе в папку, расшифрует в EBOOT.ELF, найдёт первый попавшийся *.EDAT файл и также скопирует его в свою папку. После небольшого анализа мы увидим имя *.EDAT файла, для которого программа будет пытаться найти dev_klicensee. Если *.EDAT файлов в папке с игрой было несколько и вы хотите работать с другим файлом, просто нажмите на строчку (в нашем случае это Decrypt: WDM.EDAT) с файлом и выберите другой *.EDAT файл.
Далее мы видим информацию по запускному файлу EBOOT.BIN. В нашем случае это EBOOT.elf size: 18091148 bytes - Key version [4.20 - 4.31]. Это означает, что файл успешно расшифрован и занимает 18091148 байт. Это много для поиска лицензии, но ничего страшного.
Дальше идёт самое интересное и самое важное. Программка проанализировала наш расшифрованный запускной файл EBOOT.ELF и посчитала, что информация о ключе dev_klicensee скорее всего находится где-то в конце файла. Об этом говорит графический прямоугольник в конце полосы и значение Offset: 0x00F99A80. Я бы порекомендовал всё же искать ключ во всём файле, чтобы не пропустить его случайно. Поэтому ставим Offset: 0x00000000 - это самое начало файла, и в следующее окно вносим самый конец файла. Для каждого случая он будет разный. В нашем случае видим
of 0x01140C8C и вносим это значение в окно Stop at:. Повторю, что данными настройками мы задали поиск ключа абсолютно во всём файле EBOOT.ELF.
Далее я рекомендую установить Data aligment: 1 (0x1). Это означает, что содержимое файла будет рассматриваться в качестве потенциального ключа с шагом в 1 байт. Т.е. первые 16 байт в файле EBOOT.ELF будут рассматриваться в качестве ключа dev_klicensee. Если этот ключ не подходит для расшифровки нашего WDM.EDAT файла, то в качестве второго ключа будут рассматриваться 16 байт, начиная со второго байта нашего файла EBOOT.ELF. И если вы поняли, количество ключей в нашем случае получится чуть менее 18091148 штук. Это очень много и понадобились бы месяцы, чтобы их все перебрать.
Но в программе задействовано несколько алгоритмов оптимизации. Таких как первоочередная проверка ключей из базы данных, исключение повторяющихся ключей, исключение проверенных ключей при повторном запуске поиска. Но самая волшебная оптимизация - это алгоритм JjKkYu. Поэтому
всегда оставляйте галочку на пункте Use JjKkYu's tool. Процесс перебора ключей будет проходить максимум в 16 раундов и займёт максимум 5 минут. В итоге вы увидите сообщение:
Done!
Key found: 30F1BABB519FB240CA8C1A1451802644.
Копируем из окна программы идентификатор игры из строки Content ID, потом сам ключ и вставляем по очереди в базу ESSSE.
Не забываем нажимать кнопочку Update dev_klics.txt в случае успеха. Это обновит общую базу ключей, и другим пользователям не придётся искать ключ для данной игры.
Оговорки1. Не пытайтесь искать dev_klicensee для каждого *.EDAT файла в игре. Файл может быть вовсе не зашифрован, и вы не найдёте dev_klicensee. Пример: игра Tekken Revolution. Ищите dev_klicensee только тогда, когда игра выдаёт ошибки при запуске или не появляются DLC в игре.
2. К сожалению, иногда ключ dev_klicensee хранится в запускном файле EBOOT.BIN банально в текстовом виде. В этом случае программа BruteForce_Edat ничего не найдёт любыми способами, т.к. она тупо перебирает байты данных, а не преобразованный их в текст. В таком случае используйте другие программы перебора ключей (например PSN Liberator) или просматривайте EBOOT.ELF в HEX редакторе при открытой программе BruteForce_Edat. Текстовая строка из 32-х символов сразу бросится в глаза. Копируем её из текстовой части и вставляем в начале файла EBOOT.ELF в байтовой части. Сохраняем изменения и запускаем поиск в открытой программе BruteForce_Edat. Если мы угадали - то сразу же получим положительный результат.
3. Самый тяжёлый случай - это когда игра (например Stealth Inc: A Clone in the Dark) использует двойную архивацию запускного файла. В итоге в расшифрованном файле EBOOT.ELF вы всё ещё будете видеть сжатое содержимое архива, в которой ничего невозможно найти. В таком случае приходится дампить участки памяти из приставки во время запущенной игры, подменять ими в определённый момент EBOOT.ELF на компьютере и искать уже в нём наш ключ. Но это очень редкий случай.