Ещё один эксклюзивный лайфхак в КР1 по прокачке оборудования при помощи ArtMoney. Благодаря ArtMoney и некоторым "фундаментальным" хакерским знаниям об организации памяти в компьютерах можно делать крутейший тюнинг оборудования корабля без научных баз, улучшать оборудования клисан, улучшать оборудование, которое уже было улучшено, но чтобы это делать придётся разобраться с тем, как ориентироваться в дампе памяти процесса.
В этом нет ничего сложного, дамп - это последовательное отображение байт памяти. Каждый байт может принимать 256 различных значений, что позволяет уложиться в два символа если отображать значение байта в шестнадцатеричной системе счисления. Важно понимать, что числа, которые вы видите в дампе - не десятичные, а шестнадцатеричные. Переводить привычные нам десятичные числа в шестнадцатеричные нам поможет калькулятор, встроенный в Windows.
Если вы прочли предыдущую статью серии, то вам известно, что структуру данных любого оборудования, которое возможно захватить рукой в игре, на экране корабля, можно достаточно легко найти в памяти процесса при помощи ArtMoney. В предшествующей статье мы ограничивались только правкой тех трёх параметров, которые использовались для поиска (занимаемое место, раса, цена), однако, если открыть дамп памяти начиная с адреса найденной троицы значений, можно получить доступ к редактированию и других параметров оборудования.
Начнём с прокачки двигателя, нарастим движку скорость и дальность гиперпрыжка.
Берём рукой двигатель и переключаемся в Artmoney
Нажимаем "Search", выбираем "Sequence of values" Number of values: "3" задаём тип Integer 4 bytes жмём "Ок"
Ещё раз "Ok", в окне "Input of sequence" вводим:
Где -3000 - это занимаемое место, 4 - код расы (Гаальцы), 770 цена
Жмём "Ок"
Если нашло только одну строчку, значит всё идёт как надо. Левой кнопкой мыши щёлкаем по найденной строчке в левой части окна, в правой части отобразятся три значения.
Правой клавишей мыши щёлкаем по "Value 1", в появившемся меню выбираем "Memory editor".
Вот так выглядит дамп памяти процесса, байты с первого по двенадцатый, в первой строке дампа, содержат три наших искомых значения:
48 F4 FF FF - это "-3000",
04 00 00 00 - это 4
02 03 00 00 - это 770
Двигатель имеет скорость равную 400 и дальность гиперпрыжка в 21 единицу, чтобы увеличить эти значения, нужно просто отыскать их в дампе, для этого нам понадобится получить их шестнадцатеричные представления, для чего мы воспользуемся калькулятором Windows, запускаем калькулятор и выбираем вид - "програмист"
"Dec" - означает использование десятичной системы, "Hex" - Означает использование шестнадцатеричной.
Вводим 400, потом переключаем на "Hex"
Получаем 190
Аналогичным образом переводим значение "21", получаем значение "15" в шестнадцатеричной системе. Число 15 для своего хранения потребует всего один байт, а вот число 190 будет занимать два байта в памяти. Важно понимать одну особенность, слева у вас будет байт с двумя младшими разрядами числа (90), а байт со старшим разрядом (1) будет правее. Поэтому в дампе шестнадцатеричное 190 будет выглядеть как 90 01, т.е. в дампе нам надо найти два байта 90 01 и один байт 15. На картинке ниже искомые значения обведены красным
Дальность гиперпрыжка можно задать максимальной, то есть FF, а вот со скоростью нужна умеренность 2500 единиц будет достаточно. С помошью калькулятора Windows переводим десятичное число 2500 в шестнадцатеричное число. Это будет 9С4, первый байт у нас младшие разряды, второй старшие, то есть в дамп вместо 90 нужно записать C4 а вместо 01 записать 09. На картинке ниже представлен дамп памяти после описанной модификации.
Закрываем окно дампа "Memory editor" переключаемся в игру, кладём двигатель в слот и вуаля
Двигатель развивает скорость 2500 единиц и выполняет гиперпрыжок на 255 парсек. Учёные на научных базах - нервно курят в сторонке.
Аналогичным образом можно улучшать одновременно дальность и урон оружия, увеличить количество единиц починки дройда, мощность захвата, дальность радара, ёмкость топливного бака. Исключением является генератор защиты, значение процента защиты хранится в типе данных для дробных чисел, а описанный метод годится только для целочисленных типов данных.
Далее:
Космические Рейнджеры 1 + ArtMoney (прокачиваем вооружение)
Космические Рейнджеры 1 + ArtMoney (прокачиваем поколение оборудования и вооружения)