Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Туториал Замена байт клиента и сервера bukkit с 1.3.1 не работает

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем Pawelitel, 27 ноя 2011.

  1. Alastar

    Alastar Старожил Пользователь

    Баллы:
    173
    Подтверждаю. Было бы очень полезно.
    P.S. В чем смысл?)))
     
    Stalkerdeni971 нравится это.
  2. Хостинг MineCraft
    <
  3. OrAnGe_BoX

    OrAnGe_BoX Активный участник Пользователь

    Баллы:
    88
    А что в 1.4.2 менять? =(
     
  4. RockIsLife

    RockIsLife Активный участник Пользователь

    Баллы:
    78
    Ни кто не знает, а кто знает, не скажет ;)
     
    Сникерсни нравится это.
  5. tirar

    tirar Активный участник

    Баллы:
    63
    Ну расскажите, что делать с 1.4.5, ну поззя.
     
  6. qwertyYy2

    qwertyYy2 Старожил

    Баллы:
    103
    Спросил у автора, насчет 1.3.1 и выше.
    автор ответил что с 1.3.1 это не работает.:why:
     
  7. OrAnGe_BoX

    OrAnGe_BoX Активный участник Пользователь

    Баллы:
    88
    Кто поделется сией тайной, заплачу))
     
  8. pizzlywizzly

    pizzlywizzly Старожил Пользователь

    Баллы:
    123
    Если я не ошибаюсь, то в новых версиях версия протокола криптуется и надо куски кода просто вырезать и заменять простыми.
     
  9. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    Стоит попробовать, но все же, если у вы поставите forge и любые другие моды, это уже сделать будет нельзя.
     
  10. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Кто сказал о_О?
     
  11. pizzlywizzly

    pizzlywizzly Старожил Пользователь

    Баллы:
    123
    Это если forge заменяет класс с версией протокола. И даже если так, можно попробовать задекомпилить/использовать сорцы (если они есть, конечно).
    Хотя я сейчас пытаюсь реализовать несколько иную защиту. К сожалению, мои познания в джаве слишком слабы, чтобы это сделать, хотя защита простейшая и в то же время ее не обойдут, если не будут знать, в чем она заключается.
     
  12. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    он его заменяет как раз. Да и это уже вообще не имеет смысла. Online-mode: true и свою систему авторизации. Все проблема решена
     
  13. pizzlywizzly

    pizzlywizzly Старожил Пользователь

    Баллы:
    123
    Какая это проблема решена? Замена байт - неплохой кирпичик в стену защиты от читов в клиенте. Не идеально, но все же. А классы с путями авторизации уже давно научились извлекать и сувать в нодус, ничего тут не поделать.
    И ещё: не стыдно ли иметь такое? Во что сервера скатываются? Не майнкрат, а донаткрафт какой-то.
     
  14. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Я все таки нашел где запрятали ProtocolVersion :)
    NetLoginHandler
    Код:
        public void handleClientProtocol(Packet2ClientProtocol par1Packet2ClientProtocol)
        {
            this.clientUsername = par1Packet2ClientProtocol.getUsername();
     
            if (!this.clientUsername.equals(StringUtils.stripControlCodes(this.clientUsername)))
            {
                this.raiseErrorAndDisconnect("Invalid username!");
            }
            else
            {
                PublicKey var2 = this.mcServer.getKeyPair().getPublic();
     
                if (par1Packet2ClientProtocol.getProtocolVersion() != 51)
                {
                    if (par1Packet2ClientProtocol.getProtocolVersion() > 51)
                    {
                        this.raiseErrorAndDisconnect("Outdated server!");
                    }
                    else
                    {
                        this.raiseErrorAndDisconnect("Outdated client!");
                    }
                }
                else
                {
                    this.loginServerId = this.mcServer.isServerInOnlineMode() ? Long.toString(rand.nextLong(), 16) : "-";
                    this.verifyToken = new byte[4];
                    rand.nextBytes(this.verifyToken);
                    this.myTCPConnection.addToSendQueue(new Packet253ServerAuthData(this.loginServerId, var2, this.verifyToken));
                }
            }
        }
     
  15. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    ну измени, толку 0 будет, все равно зайдешь с разными версиями
     
  16. Автор темы
    Pawelitel

    Pawelitel Старожил Пользователь

    Баллы:
    103
    Skype:
    hatabich51194
    поясни
     

Поделиться этой страницей