GameHackLab[RU]
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы
    • Зарегистрироваться
    • Войти

    Subnautica Взлом кода двери

    Запланировано Прикреплена Закрыта Перенесена Взлом игр (вопросы и ответы)
    53 Сообщения 4 Posters 1.3k Просмотры
    Загружаем больше сообщений
    • Сначала старые
    • Сначала новые
    • По количеству голосов
    Ответить
    • Ответить, создав новую тему
    Авторизуйтесь, чтобы ответить
    Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
    • I
      Iniar
      отредактировано

      Добрый день. Хочу предложить объединить совместные навыки в разных способах взлома игр от новичков до профи и кому так же как и мне интересно разбирать игры в различных нестандартных местах.
      Задача: Игра Subnautica версия 71288, возник интерес для начала найти инструкцию сравнения вводимого 4-х значного циферного пароля на замке любой двери, выудить из этого блока кода верный пароль и вывести скриптом в таблицу или автоматом ввести в панель замка двери. Но мне для достижения минимума достаточно будет просто в регистре видеть верный пароль при вводе неверного пароля. К примеру я точно знаю, что код от двери от каюты капитана на Авроре 2679 (он приходит в радиосообщении в определённый момент игры). В ходе попыток выйти на инструкцию пришёл к выводам, что код при вводе сравнивается посимвольно и при этом каждый символ в формате Строка. Между символами промежуток 4 байта. Но для меня загвоздка в том, что в том блоке кода обрабатываются не только символы клавиатуры замка, но и все надписи в меню так же в виде кодов символов в unicode. Чувствую, что моих познаний в ассемблере где-то не хватает. Попробовал пройти по коду игры в том блоке, но наткнуться на обработку только пароля двери не смог. Кому тоже интересно ковырять игры для развития навыков и обмена совместным опытом, прошу присоединиться и предложить свои идеи и исследования. Могу предоставить сохранение игры где персонаж стоит непосредственно у панели замка двери на которой я проводил исследования. Прошу не игнорировать мою задачу опытными пользователями CE, всё же у вас больше опыта который вы можете передать своим последователям.

      LIRWL __fastcall_ 2 ответов Последний ответ Ответить Цитировать 0
      • LIRWL
        LIRW @Iniar
        отредактировано

        Пользователь @Iniar написал в Subnautica Взлом кода двери:

        или автоматом ввести в панель замка двери

        А что там думать, условие отредактировал и всё. Любой пароль будет верен.

        I 1 ответ Последний ответ Ответить Цитировать 0
        • I
          Iniar @LIRW
          отредактировано

          @LIRW Увы не всё так просто. Чтоб это понять, нужно на сам код игры при обработке нажатий посмотреть. В играх где вводимый пароль сравнивается инструкцией с оригинальным паролем, там твой ответ будет иметь место быть, а здесь и я так делал. Но в Subnautica всё далеко не так просто. И отчасти в этом и интерес к взлому данной игры. В коде игры я пока не смог найти гуда и как пишется полностью весь пароль замка, а посимвольно попадаю в код игры где обрабатывается не только пароль замка, но и все надписи меню игры. И просто взять и поменять инструкцию чтоб любой пароль стал верным - это не удастся сделать на данной стадии исследований.

          1 ответ Последний ответ Ответить Цитировать 0
          • __fastcall_
            __fastcall @Iniar
            отредактировано

            @Iniar Так а в чём проблема через dnspy или il2cpp прогнать игру? Она же на юнити.

            __fastcall_ I 2 ответов Последний ответ Ответить Цитировать 0
            • __fastcall_
              __fastcall @__fastcall
              отредактировано

              @__fastcall Забыл добавить, что можно попробовать через CE -> mono dissector.

              1 ответ Последний ответ Ответить Цитировать 0
              • I
                Iniar @__fastcall
                отредактировано

                @__fastcall Хм, глянул в инете по поводу dnspy - что это. Интересная тема. Если есть время, можешь на примере той же Subnautica небольшое видео сделать, что можно получить через dnspy и как (в каком виде) выйти к примеру на пароли дверей в игре? Скажу честно, в этом направлении я пока только от тебя узнал про анализ кода таким способом.

                __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                • __fastcall_
                  __fastcall @Iniar
                  отредактировано

                  @Iniar К сожалению у меня нету времени из-за подготовки к ЕГЭ, но ты можешь в ютубе написать Reversing unity games и там будут гайды на эту тему.

                  I 1 ответ Последний ответ Ответить Цитировать 0
                  • I
                    Iniar @__fastcall
                    отредактировано

                    @__fastcall Понял, спасибо за наводку, попробую порыть. Но моя задача всё же остаётся открытой. Возможно ли это реализовать в CE? А попутно пока буду пробовать освоить тему с реверсом в предложенных тобой приложениях.

                    __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                    • __fastcall_
                      __fastcall @Iniar
                      отредактировано

                      @Iniar Можно конечно в СЕ реализовать, там скорее всего где-то есть метод, который просто сравнивает пароли, его и по названию можно попробовать отыскать. А там уже через патч кода делать, как угодно.

                      I 2 ответов Последний ответ Ответить Цитировать 0
                      • I
                        Iniar @__fastcall
                        отредактировано

                        @__fastcall Конечно я понимаю, что там обязательно должен присутствовать метод сравнивания, а так же в каком-то виде где-то лежит так называемый мастер-пароль с которым идёт сравнение. Но вот выйти на данный метод конкретно в Subnautica у меня пока не вышло и раз это скорей всего можно сделать через CE, то я прошу знающих людей помочь мне в поиске пути к этому методу сравнения, а там уже думаю, что увижу что с чем сравнивается и смогу выуживать при вводе неверного рандомного пароля типа 1234 уже верный пароль с которым сравниваются эти 1234.

                        Partizan1078P 1 ответ Последний ответ Ответить Цитировать 0
                        • I
                          Iniar @__fastcall
                          отредактировано

                          @__fastcall Если появится некоторое время, можешь тоже подключиться к процессу? Сохранение игры у панели замка двери могу предоставить для экономии времени в игре.

                          __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                          • __fastcall_
                            __fastcall @Iniar
                            отредактировано

                            @Iniar Скинь assembly c sharp.dll. Ща попробую поискать.

                            I 1 ответ Последний ответ Ответить Цитировать 0
                            • I
                              Iniar @__fastcall
                              отредактировано

                              @__fastcall Это нужно взять в dnspy? Скажу, что развиваю навыки в CE и имеется который уровень программирования (логику программирования понимаю на среднем уровне), а так же на среднем уровне понимаю assembler. Но твой запрос не понял. Опиши краткий алгоритм действий пожалуйста. Я попытаюсь разобраться. Может это для меня будет легко, просто я эти действия другими словами понимаю.

                              __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                              • __fastcall_
                                __fastcall @Iniar
                                отредактировано

                                @Iniar Я просто хотел, чтобы ты мне скинул из папки с игрой файл assemblyCSharp.dll, т.к мне лень игру скачивать. Т.к пароли статичные, то возможно их можно найти по строкам.

                                I 2 ответов Последний ответ Ответить Цитировать 0
                                • I
                                  Iniar @__fastcall
                                  отредактировано

                                  @__fastcall Понял теперь, сейчас на работе, после работы скину в личку или сюда. Подумал, что надо где-то уже код игры выгрузить и тебе прислать, что пока было бы не особо быстро, пока разобрался бы. Если не сложно, можешь потом пояснялку пожалуйста небольшую сделать по своим исследованиям файла. Если время и желание есть. Хотелось бы по мимо результата всё же какой-то опыт на практике конкретной ещё получить. Пароли сами как таковые мне не нужны. Мне больше интересен разбор игры через CE, так как я пока в ней больше понимаю как можно докуда-то добраться, чем например через dnspy, но пояснялки будут полезны для понимания. Заранее спасибо.

                                  1 ответ Последний ответ Ответить Цитировать 0
                                  • I
                                    Iniar @__fastcall
                                    отредактировано

                                    @__fastcall
                                    архив с ассембли сишарп как обещал

                                    По другому увы не нашёл как скинуть архив. После конвертации в картинку тут ошибку пишет при загрузке, а в ЛС у меня ещё нет прав отправлять файлы.

                                    __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                                    • __fastcall_
                                      __fastcall @Iniar
                                      отредактировано

                                      @Iniar 104b90aa-3527-4050-8ed3-32382c03c87a-image.png
                                      Ну по коду вроде похоже на то.

                                      I 2 ответов Последний ответ Ответить Цитировать 0
                                      • I
                                        Iniar @__fastcall
                                        отредактировано

                                        @__fastcall Вроде как да, этот самый код. И зелёный цвет ниже присутствует в параметре колор. Это вроде, если верно понял код, то когда на клавиши нажимаешь и когда код верно вводишь появляется зелёный замок открытый. Сейчас вопрос, как исходя их этого можно в CE выйти на то место где коды сравнивает? И можно ли обращая внимание на этот скрин кода?

                                        __fastcall_ 1 ответ Последний ответ Ответить Цитировать 0
                                        • I
                                          Iniar @__fastcall
                                          отредактировано

                                          @__fastcall И кстати вопрос сразу же.Из кода видно, что есть переменная accessCode. Можно ли её в CE найти по данному названию и попасть в эту самую процедуру?

                                          1 ответ Последний ответ Ответить Цитировать 0
                                          • __fastcall_
                                            __fastcall @Iniar
                                            отредактировано

                                            @Iniar я поэтому и скинул скрин с RVA.

                                            I 1 ответ Последний ответ Ответить Цитировать 0
                                            • Первое сообщение
                                              Последнее сообщение