Maximus Posted November 12, 2017 Share Posted November 12, 2017 Добрый день. Вижу в конфигурации сервера есть параметр encryption, я так понимаю он должен включать шифрование всех клиентских скриптов, отправляемых клиенту. Работает ли уже этот параметр? Я не вижу никакого эффекта от его включения, или одного параметра недостаточно и нужно сделать что-то ещё? Link to comment Share on other sites More sharing options...
Maximus Posted March 7, 2018 Author Share Posted March 7, 2018 Интересно, а что за вид шифрования такой, который используется на сервере Complex для клиентских скриптов? Это же не обычная обфускация. Такое ощущение, что используется какая-то недокументированная функция для дешифровки скриптов. Или это секретная информация? 2 Link to comment Share on other sites More sharing options...
cheeck Posted April 20, 2018 Share Posted April 20, 2018 Тоже заметил много клиентов шифруются. Нигде инфы нету. Link to comment Share on other sites More sharing options...
ziggi Posted April 22, 2018 Share Posted April 22, 2018 На данный момент все реализуют шифрование клиентского кода самостоятельно. 1 Link to comment Share on other sites More sharing options...
Maximus Posted April 23, 2018 Author Share Posted April 23, 2018 (edited) 10 часов назад, ziggi сказал: На данный момент все реализуют шифрование клиентского кода самостоятельно. Каким образом, хотя бы общий принцип? Допустим я могу зашифровать файлы CEF, передав клиенту с сервера функцию дешифровки, произвести дешифровку на стороне клиента и в браузер подгружать не зашифрованные файлы, а то что мы дешифровали и находится в памяти. Но как быть с клиентскими скриптами, ведь их загрузку мультиплеером мы никак не контролируем? Edited April 23, 2018 by Maximus Link to comment Share on other sites More sharing options...
kostya_nad Posted April 23, 2018 Share Posted April 23, 2018 10 часов назад, Maximus сказал: Каким образом, хотя бы общий принцип? Допустим я могу зашифровать файлы CEF, передав клиенту с сервера функцию дешифровки, произвести дешифровку на стороне клиента и в браузер подгружать не зашифрованные файлы, а то что мы дешифровали и находится в памяти. Но как быть с клиентскими скриптами, ведь их загрузку мультиплеером мы никак не контролируем? Существует достаточно простая схема. Работает все через eval. Кодируешь строки, и внутрь кладешь раскодировщик этих строк - ничего сложного. 1 Link to comment Share on other sites More sharing options...
Maximus Posted April 23, 2018 Author Share Posted April 23, 2018 40 минут назад, kostya_nad сказал: Существует достаточно простая схема. Работает все через eval. Кодируешь строки, и внутрь кладешь раскодировщик этих строк - ничего сложного. Ничего сложного, если не считать того, что мультиплеер загружает (запускает) клиентские скрипты сразу после загрузки файлов. Я никак не могу контролировать этот процесс. Если я загружу с сервера закодированные файлы, мне их нужно дешифровать и как-то подсунуть мультиплеру, но если мы не можем контролировать запуск скриптов, то как это сделать? Link to comment Share on other sites More sharing options...
kostya_nad Posted April 23, 2018 Share Posted April 23, 2018 2 минуты назад, Maximus сказал: Ничего сложного, если не считать того, что мультиплеер загружает (запускает) клиентские скрипты сразу после загрузки файлов. Я никак не могу контролировать этот процесс. Если я загружу с сервера закодированные файлы, мне их нужно дешифровать и как-то подсунуть мультиплеру, но если мы не можем контролировать запуск скриптов, то как это сделать? смотри. Делаешь дешифровщик строк сначала. То есть чтоб у тебя строка "КаКонИбУдьЗаКОдирОВАНныйТекст" переводилась в (например) "console.log('Hello from encoded')". Потом шифруешь текст в свой шифр (который ты сам еще разработаешь и который у тебя будет расшифровывать дешифровщик). А дальше просто через eval запускаешь раскодированный текст. И никаких богов над клиент скриптами тебе не понадобится. 1 Link to comment Share on other sites More sharing options...
Maximus Posted April 23, 2018 Author Share Posted April 23, 2018 Да всё это понятно. Непонятно как я заставлю мультиплеер подключить эти дешифрованные скрипты, как клиентскую часть. Выполнить console.log это хорошо, выполним, но как вы предлагаете повесить скажем mp.events.addCommand в таком скрипте? Разве из этих скриптов будет доступ к mp? Разве не должны все скрипты, имеющие к этому объекту доступ, подключаться заранее и загружаться в память мультиплеера при старте? Link to comment Share on other sites More sharing options...
ziggi Posted April 24, 2018 Share Posted April 24, 2018 18 hours ago, Maximus said: Да всё это понятно. Непонятно как я заставлю мультиплеер подключить эти дешифрованные скрипты, как клиентскую часть. Выполнить console.log это хорошо, выполним, но как вы предлагаете повесить скажем mp.events.addCommand в таком скрипте? Разве из этих скриптов будет доступ к mp? Разве не должны все скрипты, имеющие к этому объекту доступ, подключаться заранее и загружаться в память мультиплеера при старте? У тебя есть два файла с клиентскими скриптами, в одном находится расшифровщик (сам он не зашифрован), а во втором всё остальное в зашифрованном виде. Клиент загружает эти файлы и расшифровщиком ты расшифровываешь зашифрованный текст из файла, затем выполняешь код с помощью eval. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now