Защита скрипта



  • Вопрос к @support. Хорошо ли защищены участки скрипта, в которых содержится javascript код? Хочу сделать шифрование трафика между скриптом, исполняемым в BAS, и сервером. И хотелось бы, чтобы алгоритм шифрования нельзя было так просто вытащить из исполняемого скрипта.



  • @blackhacker

    Хорошо ли защищены участки скрипта, в которых содержится javascript код?

    Это зависти от, того, насколько много там асинхронных вызовов )!. Чем больше, тем лучше.

    Хочу сделать шифрование трафика между скриптом, исполняемым в BAS, и сервером

    Если вы про сервер БАС, то шифрование уже есть.

    И хотелось бы, чтобы алгоритм шифрования нельзя было так просто вытащить из исполняемого скрипта.

    А почему? Знание алгоритма шифрования же не дает способа расшифровать сообщения.



  • @support said in Защита скрипта:

    Если вы про сервер БАС, то шифрование уже есть.

    Нет, я про шифрование трафика между скриптом и своим сервером

    @support said in Защита скрипта:

    А почему? Знание алгоритма шифрования же не дает способа расшифровать сообщения.

    Почему же? Как же тогда расшифровывать сообщения, если нет алгоритма расшифровки? Расшифровать нельзя только необратимое шифрование, например md5. А все, что зашифровано и для этого есть исходник алгоритма с ключом - можно расшифровать. Без ключа да, согласен, нельзя расшифровать. Вот я и поинтересовался, хорошо ли защищен js код в скриптах. Даже если хранить ключ шифрования в нескольких участках, его все равно возможно вытащить? Когда-то давно я смотрел, трафик в BAS шифровался с помощью ssl, поэтому с этим вроде проблем нет. Но возможно есть еще лазейка, как можно получить исходники скриптов. Если использовать dll-hook, и перехватывать вызовы функций из библиотеки, которая отвечает за расшифровку трафика и передачу его в exe BAS, то можно получать расшифрованный трафик, либо же перехватывать какую-то другую функцию, которая работает со скриптом напрямую, если такая есть. Я не эксперт, не знаю всех тонкостей, и существует ли такая уязвимость, но раньше такой подход использовался в Lineage, для обхода защиты шифрования трафика. Защиту никому не удавалось взломать, там так же использовался криптор и протектор, но от перехвата вызовов __stdcall из библиотек игры это не защитило. Перехватывающая dll просто напрямую отправляла нужные функции в клиент игры, и защита их успешно хавала и шифровала трафик для дальнейшей отправки



  • @blackhacker

    Почему же? Как же тогда расшифровывать сообщения, если нет алгоритма расшифровки?

    Никак, но полагаться на отсутствие информации об алгоритме шифрования тоже не стоит. А тем более выдумывать свой алгоритм, без 5, а лучше 10 лет опыта в этой сфере - верный путь к косякам и взлому. У меня такого опыта нет, поэтому я полагаюсь на стандартный, реализованный не мной. Метод не разглашаю, но и не прилагаю особых усилий чтобы его скрыть. Например, весь веб работает на тлс, алгоритм известен, есть открытые реализации, библиотеки и ничего страшного.

    Расшифровать нельзя только необратимое шифрование, например md5.

    Я бы не назвал мд5 шифрованием, скорее генерацией хеш. И оно в голом виде, без соли может быть расшифровано через радужные таблицы для небольших по строк.

    Если использовать dll-hook, и перехватывать вызовы функций из библиотеки, которая отвечает за расшифровку трафика и передачу его в exe BAS

    Я использую что-то подобное для смены шрифтов, но по поводу применения для взлома сказать ничего не могу. В этом плане я полагаюсь на протектор. БАС помещает важные для безопасности части кода в код виртуальной машины(возможно не точно выразился, но смысл должен быть понятен), использует библиотеку для шифрования, которую предоставляет протектор, а не стороннюю, и защищенные строки(это тоже функционал протектора), и еще некоторые штуки, о которых не хочу сообщать открыто.



  • @support said in Защита скрипта:

    А тем более выдумывать свой алгоритм, без 5, а лучше 10 лет опыта в этой сфере - верный путь к косякам и взлому

    Так я и не собираюсь придумывать свой алгоритм) Я собирался использовать обычный XOR. С длиной ключа, которая равна или больше длины сообщения, зашифрованное сообщение практически невозможно расшифровать без ключа. Вот я и боюсь, что ключ могут как-то вытащить из скрипта



  • @blackhacker Не проще ли тогда использовать ассиметричное шифрование?



  • @support Да, проще :) Почитал про него сейчас. Открытие для себя сделал) У меня ведь нет 5-10 лет опыта в шифровании :)


Log in to reply