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

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

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

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

    _ 1 ответ Последний ответ 10 мар. 2024 г., 18:12 Ответить Цитировать 0
    • _
      __fastcall @Iniar
      отредактировано 10 мар. 2024 г., 18:12

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

      I 1 ответ Последний ответ 10 мар. 2024 г., 18:18 Ответить Цитировать 0
      • I
        Iniar @__fastcall
        отредактировано 10 мар. 2024 г., 18:18

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

        _ 1 ответ Последний ответ 10 мар. 2024 г., 18:23 Ответить Цитировать 0
        • _
          __fastcall @Iniar
          отредактировано 10 мар. 2024 г., 18:23

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

          I 2 ответов Последний ответ 10 мар. 2024 г., 18:41 Ответить Цитировать 0
          • I
            Iniar @__fastcall
            отредактировано 10 мар. 2024 г., 18:41

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

            P 1 ответ Последний ответ 11 мар. 2024 г., 20:45 Ответить Цитировать 0
            • I
              Iniar @__fastcall
              отредактировано 10 мар. 2024 г., 18:45

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

              _ 1 ответ Последний ответ 10 мар. 2024 г., 18:57 Ответить Цитировать 0
              • _
                __fastcall @Iniar
                отредактировано 10 мар. 2024 г., 18:57

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

                I 1 ответ Последний ответ 10 мар. 2024 г., 19:10 Ответить Цитировать 0
                • I
                  Iniar @__fastcall
                  отредактировано 10 мар. 2024 г., 19:10

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

                  _ 1 ответ Последний ответ 10 мар. 2024 г., 19:16 Ответить Цитировать 0
                  • _
                    __fastcall @Iniar
                    отредактировано 10 мар. 2024 г., 19:16

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

                    I 2 ответов Последний ответ 11 мар. 2024 г., 04:35 Ответить Цитировать 0
                    • I
                      Iniar @__fastcall
                      отредактировано 11 мар. 2024 г., 04:35

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

                      1 ответ Последний ответ Ответить Цитировать 0
                      • I
                        Iniar @__fastcall
                        отредактировано 11 мар. 2024 г., 13:27

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

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

                        _ 1 ответ Последний ответ 11 мар. 2024 г., 14:31 Ответить Цитировать 0
                        • _
                          __fastcall @Iniar
                          отредактировано 11 мар. 2024 г., 14:31

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

                          I 2 ответов Последний ответ 11 мар. 2024 г., 15:00 Ответить Цитировать 0
                          • I
                            Iniar @__fastcall
                            отредактировано 11 мар. 2024 г., 15:00

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

                            _ 1 ответ Последний ответ 11 мар. 2024 г., 15:03 Ответить Цитировать 0
                            • I
                              Iniar @__fastcall
                              отредактировано 11 мар. 2024 г., 15:03

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

                              1 ответ Последний ответ Ответить Цитировать 0
                              • _
                                __fastcall @Iniar
                                отредактировано 11 мар. 2024 г., 15:03

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

                                I 1 ответ Последний ответ 11 мар. 2024 г., 15:05 Ответить Цитировать 0
                                • I
                                  Iniar @__fastcall
                                  отредактировано 11 мар. 2024 г., 15:05

                                  @__fastcall В RVA адрес на начало процедуры?

                                  _ 1 ответ Последний ответ 11 мар. 2024 г., 15:07 Ответить Цитировать 0
                                  • _
                                    __fastcall @Iniar
                                    отредактировано 11 мар. 2024 г., 15:07

                                    @Iniar Assembly-CSharp.dll + RVA = Адрес метода. Вроде так.

                                    I 1 ответ Последний ответ 11 мар. 2024 г., 15:16 Ответить Цитировать 0
                                    • I
                                      Iniar @__fastcall
                                      отредактировано 11 мар. 2024 г., 15:16

                                      @__fastcall Хорошо. Посмотрел в CE в редакторе памяти список подгруженных библиотек. Но там не нашёл эту длл-ку. Этот адрес можно получить как то через CE или в чём-то другом?

                                      _ 1 ответ Последний ответ 11 мар. 2024 г., 15:37 Ответить Цитировать 0
                                      • _
                                        __fastcall @Iniar
                                        отредактировано 11 мар. 2024 г., 15:37

                                        @Iniar Вообщем, я забыл, как это делать через dnspy, сделай просто через CE -> Mono dissector. Там можно через поиск будет найти метод этот.

                                        I 2 ответов Последний ответ 12 мар. 2024 г., 05:04 Ответить Цитировать 0
                                        • P
                                          Partizan1078
                                          отредактировано 11 мар. 2024 г., 19:51

                                          Помнится был у меня заказец на подобно.(открыть заблокированные двери)Игра Гедония и тож на юнити.
                                          Я поступил гораздо проще. А именно так. Давайте будем рассуждать логически. Возьмём любую отрывающуюся дверь. Сделаем допущение. Если дверь в открытом состоянии то это флаг равный 1 (единица) а если закрыта то это = 0. Следовательно. Я могу воспользоваться сканером. Обычно флаги хранятся как 1 байт. Найдя этот флаг я могу уже от чего-то оттолкнуться. Не так ли?
                                          Причём флаг может быть не только 1-0 а допустим 144=открыто 72=закрыто. И всё наоборот. Всё что угодно разрабу в голову придёт.
                                          Ну та вот найдя инструкции работающие не с одной конкретной дверью а с видимыми (как минимум)

                                          И кстати за счёт того что СЕ парсит структуры мне удалось найти в структуре двери значение Lock = 0 или =1

                                          Упешно написал скрипт который открывает все двери.

                                          И да если не удаётся найти флаг. Всегда можно поискать угол открытия двери или чего угодно

                                          Гедония. Не помню какая версия.
                                          Открытие всех дверей.

                                          [ENABLE]
                                          {$lua}
                                          if (LaunchMonoDataCollector()==0) then
                                            error('Failed to Activate Mono Features')
                                          end
                                          {$asm}
                                          aobscanregion(UnDoor,Door:Interact+230, Door:Interact+293, 0F 84 ? ? ? ? 66)
                                          registersymbol(UnDoor)
                                          UnDoor:
                                          db E9 6D 01 00 00 90
                                          
                                          [DISABLE]
                                          UnDoor:
                                          db 0F 84 6C 01 00 00
                                          unregistersymbol(UnDoor)
                                          {
                                          // ORIGINAL CODE - INJECTION POINT: Door:Interact+25e
                                          Door:Interact+230: 4C 8B 8D 40 FF FF FF           - mov r9,[rbp-000000C0]
                                          Door:Interact+237: 4C 89 8D 50 FF FF FF           - mov [rbp-000000B0],r9
                                          Door:Interact+23e: 4D 8D 00                       - lea r8,[r8]
                                          Door:Interact+241: 83 38 00                       - cmp dword ptr [rax],00
                                          Door:Interact+244: 66 90                          - nop 2
                                          Door:Interact+246: 49 BB 2E E9 4F 12 BF 02 00 00  - mov r11,000002BF124FE92E
                                          Door:Interact+250: 41 FF D3                       - call r11
                                          Door:Interact+253: E9 CB 04 00 00                 - jmp Door:Interact+723
                                          Door:Interact+258: 0F B6 46 35                    - movzx eax,byte ptr [rsi+35]
                                          Door:Interact+25c: 85 C0                          - test eax,eax
                                          // ---------- INJECTING HERE ----------
                                          Door:Interact+25e: 0F 84 6C 01 00 00              - je Door:Interact+3d0
                                          // ---------- DONE INJECTING  ----------
                                          Door:Interact+264: 66 90                          - nop 2
                                          Door:Interact+266: 49 BB 70 A0 82 0A 6E 02 00 00  - mov r11,0000026E0A82A070
                                          Door:Interact+270: 41 FF D3                       - call r11
                                          Door:Interact+273: 48 8B C8                       - mov rcx,rax
                                          Door:Interact+276: 48 BA 30 EF 2F CD BE 02 00 00  - mov rdx,000002BECD2FEF30
                                          Door:Interact+280: 48 8D 64 24 00                 - lea rsp,[rsp+00]
                                          Door:Interact+285: 90                             - nop 
                                          Door:Interact+286: 49 BB C0 65 5A DD BD 02 00 00  - mov r11,System.String:op_Equality
                                          Door:Interact+290: 41 FF D3                       - call r11
                                          Door:Interact+293: 85 C0                          - test eax,eax
                                          }
                                          
                                          1 ответ Последний ответ Ответить Цитировать 1
                                          15 из 53
                                          • Первое сообщение
                                            15/53
                                            Последнее сообщение