LINUX.ORG.RU
ФорумGames

Создание трейнера для Steam Metro Redux

 


2

3

Реально ли с помощью дебагера какого-нибудь найти значения в запущенной игре и написать трейнер. Ну как в добрые старые времена, когда «аппаратный» дебагер на спектруме запускали, искали значение, а потом только POKE и вауля.

Не для себя ради, а для дочки - уж больно она любит атмосферу игры, но миссии некоторые для неё сложны. А мне отвлекаться каждый раз проходить сами понимаете :).

P.S.: конфигурацию g_god игра игнорирует, что в конфиге глобальном, что в пользовательском.

Deleted

Можно черезпрогу scanmem искать значения и изменять. Если значения не меняются - сохрани как конфиг и в следующий раз подгружай.

powerguy ★★★
()
Ответ на: комментарий от powerguy

scanmem подходит, но тут нужны функции дизассемблера видимо, так как в игре не конкретных значений жизни (счетчик не виден). Т.е. по логике нужно найти нужный «decriment» и вместо него поставить NOP.

Deleted
()
Ответ на: комментарий от Deleted

не видел аналогов scanmem'у на линуксе. написал его автору просьбу добавить эту фичу.

powerguy ★★★
()
Ответ на: комментарий от Deleted

но в scanmem есть fuzzy поиск. ищешь все значения, пробуешь убрать немного жизней, говоришь, что значение уменьшилось.

я так на ETS что-то делал

powerguy ★★★
()

Ещё есть Mem Write http://en.congelli.eu/prog_info_memwrite.html

И ещё когда-то попадалась информация о версии Cheat Engine без гуя, но под Линукс.

Никогда правда ими не пользовался, поэтому не знаю, насколько они юзабельны.

kranky ★★★★★
()

Насколько я понял все трейнеры под винду используют cheatEngine. Вот нашел кусок скрипта для cheatEngine - где явно видно, что удаляется счетчик.


</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Toggle Activation</Action>
              <Keys>
                <Key>17</Key>
                <Key>18</Key>
                <Key>104</Key>
              </Keys>
              <ID>0</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>5</ID>
          <Description>"GodMode"</Description>
          <LastState Activated="0"/>
          <Color>80000008</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(GodMode,metro.exe,0F 2F 80 08 03 00 00 0F 83 57) // should be unique
registersymbol(GodMode)

alloc(newmem,$1000,GodMode)
label(return)

newmem:
  or byte ptr [rax+00000712],40  // immortal ( player doesn't take hits - no bloody screen )
  // and byte ptr [rax+00000712],BF  // uncomment this line if you want to revert GodMode (because it stays in save file)

  comiss xmm0,[rax+00000308]
  jmp return

GodMode:
  jmp newmem
  nop
  nop
return:

LuaCall( playSound(findTableFile([[godmode]]),true)         )
LuaCall( playSound(findTableFile([[sndEnabled]]))             )
[DISABLE]
LuaCall( playSound(findTableFile([[godmode]]),true)         )
LuaCall( playSound(findTableFile([[sndDisabled]]))            )

GodMode:
  db 0F 2F 80 08 03 00 00

unregistersymbol(GodMode)
dealloc(newmem)
Deleted
()

уж больно она любит атмосферу игры

не заметил в этой игре атмосферы.

crowbar
()
Ответ на: комментарий от Deleted

cheatEngine

Эпиквин на все времена после ArtMoney.

devl547 ★★★★★
()

писечки теперь и на линуксе

anonymous
()
Ответ на: комментарий от NeverLoved

Для scanmem есть гуй, называется gameconqueror.

Гуй есть, но он хреновый. По хорошему конечно что-то другое написать

Siado ★★★★★
()
Ответ на: комментарий от NeverLoved

В отличие от глючного гуя, сам scanmem выполняет все необходимые вещи на ура. Не хватает только двух вещей: сохранения нескольких найденных адресов и «сдвига» этих сохраненных адресов если запускаешь игрушку второй раз.

Siado ★★★★★
()
Ответ на: комментарий от anonymous

Сходи лучше в тренажерку с тренером, из задрота мужиком станешь!

Я в твои годы и программированием занимался, в радиокружок ходил, бегал 10 км в день, лыжи, плаванье и уж поверь качалка в 90-х была та самая что ни есть с грудой железа.

А тебе видимо ещё тренер нужен, что бы почувствовать себя мужиком?

Deleted
()

Не для себя ради, а для дочки - уж больно она любит атмосферу игры

Не жалеешь ты своего ребёнка, что это может нравится психически здоровому человеку в убогом постапокалиптическом мире?

anonymous
()
1 ноября 2015 г.

age 15+, Rating: mature, главный герой за всю игру произносит одно слово (матерное)

Не для себя ради, а для дочки

:D

fornlr ★★★★★
()
Ответ на: комментарий от Deleted

Количество патронов для слота №1 - 0x7f7f664dd430.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.