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

Утилита [1.7.10 - 1.20.2] Authlib SkinFix - Авторизация и работающие скины своими руками

Тема в разделе "Модификации клиента", создана пользователем TaoGunner, 29 мар 2016.

Метки:
  1. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    На счёт питона хз, я на Typescript/Node.js пишу похожее. В принципе норм, вот только меня напрягает момент с сигнатурами, всё вроде работает, подписывает отлично, но аучлиба ни в какую не хочет их хавать, а так как я в Java не бум-бум, можно сказать что зашёл в тупик (хотя на сервер один хрен заходит, да и скины уже тянутся с запроса `profile`)
     
  2. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Так а зачем подписывать скины, если требование подписи можно вырезать из authlib?
     
  3. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Можно конечно, но хотелось минимально отходить от оригинала, да и не просто так же туда это добавили, хотя...
     
  4. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Это туда добавили, чтобы поставить еще одну палку в колёса пиратских серверов. И если ты знаешь, как работает цифровая подпись, то понимаешь, что приватный ключ мочанги никому не отдадут, а без него смысла в этой подписи никакой.
     
  5. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Ну да, поэтому я генерю свои ключи))
     
  6. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Методом тыка и ковыряния сорцов стало известно следующее:
    В аучлибе используется rsa ключ с длиной 4096
    У себя в ноде для генерации пары использую crypto.generateKeyPairSync()

    upload_2021-5-29_18-50-33.png

    При использовании публичного ключа типа pkcs1 майн отказывается запускаться, а при spki запускается, но не работает проверка сигнатуры)
    Такие вот дела
     
  7. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    [​IMG]
    Просто не используй цифровую подпись. Она абсолютно бесполезна.
     
  8. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Пхпхп, ок
    Я просто тут слышал одну байку, о том что в скины можно малварь просунуть, хотя вопрос, а как её запускать то?:lol:
    Но я думаю что и вайтлиста для проверки было бы достаточно
     
  9. alexandrage

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

    Баллы:
    173
    Добавили, чтоб вирусняк не качали вместо скинов поменяв url. Ведь теперь ссылка передается от сервера. Потом поняли, что эта подпись прожорливая и сделали ее вечной, но до сих пор никак не уберут совсем.
     
    Последнее редактирование: 29 май 2021
  10. alexandrage

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

    Баллы:
    173
    Да никак, но игроков потеряешь, когда у них начнет антивирус орать.
     
  11. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Поборол я таки эту проблему, сигнатура проходит проверку, теперь хоть свой аналог лицензии подымай :lol:
     
  12. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Обновление до Minecraft v1.17
    В архив добавил библиотеку authlib-2.3.31-skinfix.jar для Minecraft v1.17.

    Замечания:
    • Нашел уже 2 метода проверки: isAllowedTextureDomain() и isDomainOnList(). Оба порезал;
    • Забыл добавить строку SkinFix by TaoGunner, пересобирать лень :confused:;
    • Теперь для запуска ванильного сервера 1.17 требуется Java 16 взамен устаревшей Java 8;
    • Работоспособность библиотеки проверил на ванильной локалке - работает.
    Менять пути InClassTranslator'ом не пробовал, у кого будут проблемы с запуском - пишите.
     
  13. nandi

    nandi Ньюби

    Баллы:
    1
    Имя в Minecraft:
    NANDI
    Сделал по гайду, всё работает. Правда были проблемы, но из-за моей криворукости. Автору спасибо
     
  14. onarw

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

    Баллы:
    61
    Имя в Minecraft:
    Enzhine
    Что делать, если на версии 1.12.2 Forge не видно скины других игроков, но при этом все видят свои? У клиента и minecraft_server.1.12.2.jar аутлиба пропатчена. В конфиге online-mode=true, а также в батнике прописано -o true?
     
  15. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    • Почистить папку assets/skins . Перепроверить, что скины загружаются и хранятся в правильном виду (в виде хеша)
    • Включить debug в скриптах (если используешь мои), попробовать пологиниться, а затем глянуть, идут ли обращения на все 3 скрипта: join, hasJoined, profile.
    • Попробовать другие способы смены скинов, их на ресурсе море.
    • И крайний случай, когда надежды нет - обратиться ко мне. Звонок платный :lol:
    Вообще без понятия, что означает этот аргумент? Впервые о нём слышу.
     
  16. onarw

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

    Баллы:
    61
    Имя в Minecraft:
    Enzhine
    Вообщем ошибка оказалась в моих скриптах (самописных). Долгую историю того, как твой совет 'сделать dubug' привёл меня к своей ошибке (в скрипте, который я написал чёрти-когда) я расписывать не собираюсь. Главное, что это разрешило проблему. Спасибо.
     
  17. Sedstorm4k

    Sedstorm4k Участник Пользователь

    Баллы:
    31
    Имя в Minecraft:
    Sedstorm4k
    Можно ли узнать ссылки на скины и авторизацию в уже скомпилированом лаунчере сашка?
    Если да то как?
     
  18. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Обновление v1.05 от 08.01.2022
    • database.sql: добавлено свойство UNIQUE для полей username и uuid. Это запрещает создавать одинаковые имена пользователей и UUID;
    • Изменения для библиотек версий от 1.5.25 и выше:
      • Библиотеки заново пересобраны с проверкой работоспособности;
      • Все нужные пути теперь имеют свойства private static final для возможности редактирования в онлайн-редакторе;
      • Содержимое папок META-INF обновлено для предотвращения ошибок от log4j;
    Для информации:
    • Ванильный сервер minecraft v1.18.1 внутри себя хранит все библиотеки, распаковывая их при запуске. Для работы исправленной версии библиотеку нужно менять внутри jar-файла сервера;
    • Библиотеки последних версий не редактируются с помощью InClassTtanslator'а, потому что собраны для JAVA 16-17. Используйте другие редакторы;
     
  19. Mr.KotE

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

    Баллы:
    68
    Имя в Minecraft:
    JCatMC
    Не проще ли вынести это всё на гитхаб? Исходный код редачить всяко проще.
     
  20. Автор темы
    TaoGunner

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

    Баллы:
    66
    Имя в Minecraft:
    TaoGunner
    Для тех, кто желает порезать защиту самостоятельно - ссылки на исходный код выложу. Хранить на своем гитхабе классы библиотеки с вырезанной защитой, код которой принадлежит mojang считаю слегка "серой" зоной.
    Тут я выложил уже готовую реализацию с необходимыми скриптами, бери и пользуйся.
     

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