Resource Cryptor - небольшая утилита для шифрования "read-only" файлов клиента c целью затруднения их воровства/модификации/etc.
Для клиентских модулей зависимости отсутствуют. Для работы самого приложения требуется .NET 6.0
Реализован самый минимум функционала для проверки жизнеспособности решения.
Предложения/пожелания/багрепорты само собой приветствуются.
На данный момент утилита предоставляется бесплатно.
To Do List:
Краткий гайд по использованию:
(перед всеми манипуляциями делайте резервные копии файлов!)
1. Качаем архив с приложением
2. Качаем CFF Explorer
3. В архиве с приложением есть папка с клиентскими модулями. В нашем случае требуется либа resource-cryptor-x32.dll
4. Открываете в CFF Explorer свой elementclient.exe (если нет возможности патчить elementclient.exe, то можно выбрать любую DLL библиотеку в клиенте).
5. Переходим к пункту "Import Adder"
6. Нажимаем "Add" и выбираем либу resource-cryptor-x32.dll
7. В окошке "Exported Functions" выбираем "ExportStub" и нажимаем "Import By Name"
8. Нажимаем "Rebuild Import Table"
9. Сохраняем результат (File -> Save), закрываем CFF Explorer
10. Помещаем либу resource-cryptor-x32.dll рядом с вашим elementclient.exe
11. Запускаем Resource Cryptor
12. Нажимаем "Create new project" и выбираем куда его сохранить. Будет создан шаблонный ini файл проекта
13. Открываем любым редактором созданный ini файл и в секции "EXECUTABLE_FILES" по примеру указываем полный путь к вашему elementclient.exe
14. Далее в Resource Cryptor нажимаем "Open project" и выбираем созданный файл проекта
15. Переходим во вкладку "Encryption" и перетаскиваем туда файлики из клиента, которые хотите зашифровать
16. Нажимаем "Encrypt" и ждем завершения процесса.
17. По завершению для каждого исходного файла будут созданы дополнительно еще 2 файла.
Например, если мы шифруем файл somefile.txt , тогда по завершению процесса рядом будут созданы еще файлы somefile.txt.rcmetadata и somefile.txt.xxxxx.origin (где xxxxx - какое-то число).
somefile.txt - это уже зашифрованный файл
somefile.txt.rcmetadata - метаданные для клиентского модуля, этот файл должен остаться рядом с зашифрованным
somefile.txt.xxxxx.origin - исходный незашифрованный файл (на случай, если забыли сделать резервную копию)
18. Файлы *.xxxxx.origin можно удалить (если у вас уже есть сохраненные оригиналы), остальные файлы должны остаться в клиенте.
На этом процесс завершен, можно запускать игровой клиент.
>>> И самое главное! <<<
Никогда никакой криптор не даст 100% гарантии того, что файлы не будут вскрыты.
Это не спасет от опытного человека, перед которым стоит задача что-то стащить из вашего клиента.
Для клиентских модулей зависимости отсутствуют. Для работы самого приложения требуется .NET 6.0
Реализован самый минимум функционала для проверки жизнеспособности решения.
Предложения/пожелания/багрепорты само собой приветствуются.
На данный момент утилита предоставляется бесплатно.
To Do List:
- Добавление дополнительных механизмов защиты против основных способов извлечения оригинального содержимого зашифрованных файлов.
- Добавление возможности патчить бинарники игры прямо из приложения, чтобы избавиться от CFF Explorer
- Реализация возможности править настройки проекта непосредственно из GUI
- Добавление нескольких "режимов" шифрования файлов, чтобы балансировать между производительностью/потреблением RAM/надежностью
- Писать метаданные непосредственно в зашифрованный файл, чтобы избавиться от файлов *.rcmetadata
- Поддержка PCK архивов
Краткий гайд по использованию:
(перед всеми манипуляциями делайте резервные копии файлов!)
1. Качаем архив с приложением
2. Качаем CFF Explorer
3. В архиве с приложением есть папка с клиентскими модулями. В нашем случае требуется либа resource-cryptor-x32.dll
4. Открываете в CFF Explorer свой elementclient.exe (если нет возможности патчить elementclient.exe, то можно выбрать любую DLL библиотеку в клиенте).
5. Переходим к пункту "Import Adder"
6. Нажимаем "Add" и выбираем либу resource-cryptor-x32.dll
7. В окошке "Exported Functions" выбираем "ExportStub" и нажимаем "Import By Name"
8. Нажимаем "Rebuild Import Table"
9. Сохраняем результат (File -> Save), закрываем CFF Explorer
10. Помещаем либу resource-cryptor-x32.dll рядом с вашим elementclient.exe
11. Запускаем Resource Cryptor
12. Нажимаем "Create new project" и выбираем куда его сохранить. Будет создан шаблонный ini файл проекта
13. Открываем любым редактором созданный ini файл и в секции "EXECUTABLE_FILES" по примеру указываем полный путь к вашему elementclient.exe
14. Далее в Resource Cryptor нажимаем "Open project" и выбираем созданный файл проекта
15. Переходим во вкладку "Encryption" и перетаскиваем туда файлики из клиента, которые хотите зашифровать
16. Нажимаем "Encrypt" и ждем завершения процесса.
17. По завершению для каждого исходного файла будут созданы дополнительно еще 2 файла.
Например, если мы шифруем файл somefile.txt , тогда по завершению процесса рядом будут созданы еще файлы somefile.txt.rcmetadata и somefile.txt.xxxxx.origin (где xxxxx - какое-то число).
somefile.txt - это уже зашифрованный файл
somefile.txt.rcmetadata - метаданные для клиентского модуля, этот файл должен остаться рядом с зашифрованным
somefile.txt.xxxxx.origin - исходный незашифрованный файл (на случай, если забыли сделать резервную копию)
18. Файлы *.xxxxx.origin можно удалить (если у вас уже есть сохраненные оригиналы), остальные файлы должны остаться в клиенте.
На этом процесс завершен, можно запускать игровой клиент.
>>> И самое главное! <<<
Никогда никакой криптор не даст 100% гарантии того, что файлы не будут вскрыты.
Это не спасет от опытного человека, перед которым стоит задача что-то стащить из вашего клиента.
Последнее редактирование:




