У меня был очень похожий опыт, но я остановился на другом решении.
Я тоже тестировал скрипт на 8 ядерном 32 гб дедике с широким каналом и там еле еле 10 потоков шло.
Работающими решением оказалось взять 32 ядерный локальный сервер с 64 оперативки, на не очень быстром канале, с сокс5, на нем 100+ потоков запускалось.
Скрипт тот же, никаких оптимизаций не делалось.
Стоит конечно побольше, чем аренда дедика но тут уж зависит от окупаемости твоей темы, стоит ли оно того или нет.
Но соксы могут быть узким местом, по возможности нужно делать свои соксы. Для этого, можно брать дешевые VPS и установить сокс через опенсурсный софт microsocks для линукса (в инете полно инструкций по установке, занимает не более 5 минут вручную, и можно установку через БАС автоматизировать также на случай если нужны сотни соксов).
Защита скрипта
-
Вопрос к @support. Хорошо ли защищены участки скрипта, в которых содержится javascript код? Хочу сделать шифрование трафика между скриптом, исполняемым в BAS, и сервером. И хотелось бы, чтобы алгоритм шифрования нельзя было так просто вытащить из исполняемого скрипта.
-
Хорошо ли защищены участки скрипта, в которых содержится javascript код?
Это зависти от, того, насколько много там асинхронных вызовов
)!. Чем больше, тем лучше.Хочу сделать шифрование трафика между скриптом, исполняемым в BAS, и сервером
Если вы про сервер БАС, то шифрование уже есть.
И хотелось бы, чтобы алгоритм шифрования нельзя было так просто вытащить из исполняемого скрипта.
А почему? Знание алгоритма шифрования же не дает способа расшифровать сообщения.
-
@support said in Защита скрипта:
Если вы про сервер БАС, то шифрование уже есть.
Нет, я про шифрование трафика между скриптом и своим сервером
@support said in Защита скрипта:
А почему? Знание алгоритма шифрования же не дает способа расшифровать сообщения.
Почему же? Как же тогда расшифровывать сообщения, если нет алгоритма расшифровки? Расшифровать нельзя только необратимое шифрование, например md5. А все, что зашифровано и для этого есть исходник алгоритма с ключом - можно расшифровать. Без ключа да, согласен, нельзя расшифровать. Вот я и поинтересовался, хорошо ли защищен js код в скриптах. Даже если хранить ключ шифрования в нескольких участках, его все равно возможно вытащить? Когда-то давно я смотрел, трафик в BAS шифровался с помощью ssl, поэтому с этим вроде проблем нет. Но возможно есть еще лазейка, как можно получить исходники скриптов. Если использовать dll-hook, и перехватывать вызовы функций из библиотеки, которая отвечает за расшифровку трафика и передачу его в exe BAS, то можно получать расшифрованный трафик, либо же перехватывать какую-то другую функцию, которая работает со скриптом напрямую, если такая есть. Я не эксперт, не знаю всех тонкостей, и существует ли такая уязвимость, но раньше такой подход использовался в Lineage, для обхода защиты шифрования трафика. Защиту никому не удавалось взломать, там так же использовался криптор и протектор, но от перехвата вызовов __stdcall из библиотек игры это не защитило. Перехватывающая dll просто напрямую отправляла нужные функции в клиент игры, и защита их успешно хавала и шифровала трафик для дальнейшей отправки
-
Почему же? Как же тогда расшифровывать сообщения, если нет алгоритма расшифровки?
Никак, но полагаться на отсутствие информации об алгоритме шифрования тоже не стоит. А тем более выдумывать свой алгоритм, без 5, а лучше 10 лет опыта в этой сфере - верный путь к косякам и взлому. У меня такого опыта нет, поэтому я полагаюсь на стандартный, реализованный не мной. Метод не разглашаю, но и не прилагаю особых усилий чтобы его скрыть. Например, весь веб работает на тлс, алгоритм известен, есть открытые реализации, библиотеки и ничего страшного.
Расшифровать нельзя только необратимое шифрование, например md5.
Я бы не назвал мд5 шифрованием, скорее генерацией хеш. И оно в голом виде, без соли может быть расшифровано через радужные таблицы для небольших по строк.
Если использовать dll-hook, и перехватывать вызовы функций из библиотеки, которая отвечает за расшифровку трафика и передачу его в exe BAS
Я использую что-то подобное для смены шрифтов, но по поводу применения для взлома сказать ничего не могу. В этом плане я полагаюсь на протектор. БАС помещает важные для безопасности части кода в код виртуальной машины(возможно не точно выразился, но смысл должен быть понятен), использует библиотеку для шифрования, которую предоставляет протектор, а не стороннюю, и защищенные строки(это тоже функционал протектора), и еще некоторые штуки, о которых не хочу сообщать открыто.
-
@support said in Защита скрипта:
А тем более выдумывать свой алгоритм, без 5, а лучше 10 лет опыта в этой сфере - верный путь к косякам и взлому
Так я и не собираюсь придумывать свой алгоритм) Я собирался использовать обычный XOR. С длиной ключа, которая равна или больше длины сообщения, зашифрованное сообщение практически невозможно расшифровать без ключа. Вот я и боюсь, что ключ могут как-то вытащить из скрипта
-
@blackhacker Не проще ли тогда использовать ассиметричное шифрование?