Метод лишь частично разъясняет суть... Какой толк вообще в лаунчере, если мы пишем дешифратор на C++?! Почему не написать лаунчер с дешифратором сразу на C++ вместе? А так в чем-то согласен...
Алгоритм защиты, близкой к идеальной на данный момент -
1) Лаунчер, написанный на C++ или другом недокомпилируемом языке программирования
2) Сессия, шифруемая сразу несколькими алгоритмами... Разумеется алгоритм разглашать нельзя
3) Период жизни сессии проверяется при авторизации клиента и равен где-то 3-5 секундам...
4) Выбор сервера реализован в лаунчере вместе с авторизацией, а переделанный клиент принимает адрес сервера в качестве аргументов... Это делается чтобы клиент проходил авторизацию и заходил на сервер мгновенно и сессия не умирала
5) Обновлять алгоритм шифра сессии раз в 1-2 месяца
В принципе от школьников это защитит на 100%... Чтобы взломать нужно -
1) Узнать алгоритм шифра - довольно сложно
2) Дешифровывать по этому алгоритму сессию за 3-5 секунд... Что маловероятно