Перейти к содержанию

live_4_ever

Пользователи+
  • Постов

    321
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Сообщения, опубликованные live_4_ever

  1. Версия игры 1.00; Версия трейнера 1.0; +1; Дата создания 23.03.2011

    Описание:

    1) Добавить 999 99 денег в режиме "Мастер Лига"

    Трейнер:

    Скачать

    Дополнительная информация:

    Для того чтобы трейнер заработал следуйте инструкции. Прочитать можно в readme в трейнере или на скрине.

    Написал не грамотно, извиняюсь (Ну я не русский мне можно ;) )

  2. С жизнями разобрались.

    • Я только что узнал, что красная полоска слева от "сидячего человечка" это стамина. То есть, сколько времени ты можешь бегать.
      post-5-1297350075,05_thumb.jpg
    • Еще надо сделать "бесконечное место в рюкзаке".
      post-5-1299154484,64_thumb.jpg

  3. Автор: Flashback

    Дата: 12/20/10

    Ну я не знаю что сказать...Статья очень простая. Может кому и в чем то поможет <_<

    Что нам понадобится: игра «Герои Меча и Магии 3» чей сейв мы будем взламывать, 16-ый редактор (в моем случае FlexHex), WinRar, калькулятор

    Те, кто раньше взламывали при помощи артмани деньги в этой игре, знают, что золото занимает 4 байта. Так как мы будем использовать в своих целях 16-ый редактор, а не специальную утилиту, то желательно, чтобы число обозначающее количество золота, которое будет в нашем сохранении, было уникальным, то есть не повторялось бы. Для этого лучше всего купить рынок и переслать врагу сумму, чтобы оставшееся у нас количество золота состояло из набора цифр как, например, 18346. Для этого я отправлю врагу 1654 золота. Сохраняем игру. Сейвы для защиты от взлома часто шифруются или сжимаются при помощи каких либо алгоритмов, для их распаковки есть специальные программы, но мы попробуем рискнуть и посмотреть информацию о файле сейва при помощи винрара:

    1.png

    Винрар определил файл как gzip-архив, а что он может определить, то он может и распаковать. Если теперь открыть извлеченный из архива файл при помощи 16-ого редактора, то можно увидеть такую картину:

    2.png

    Все, вроде, лежит в открытом виде. Тогда давайте переведем число золота в такой вид, как он хранится в памяти в этом сейве, то есть в 16-ом виде и перевернутый. Для этого я воспользовался калькулятором от Windows, вы можете еще каким-нибудь другим способом осуществить перевод. 18346 в 16-ой системе счисления = 47AA, но это только 2 байта, тогда слева нужно дописать ее два нулевых байта, тогда мы получим 000047AA, что в перевернутом виде будет выглядеть как AA470000. Ищем (как везде это ctrl+F) AA470000:

    3.png

    Нашлось такое значение только 1 раз:

    4.png

    Я захотел себе 1 миллион золота, поэтому заменил AA 47 00 00 на 40 42 0F 00, сохраняем наш файл вместо старого упакованного «etosave.GM1». К счастью игра нормально открывает и неупакованные сейвы, а вот и наш миллион:

    5.jpg

    Источник: Открыть.

    • Плюс 1
  4. Как изменить время в игре, таймер или вообще его отсчет заморозить?

    Во-первых, таймер может считать время по убыванию к нулю, или, наоборот по возрастанию до определенного времени. Причем даже если ты думаешь что это таймер по убыванию, он может храниться как таймер по возрастанию. Попробуй оба варианта.

    Нужно в игре зайти в меню или поставить игру на паузу. Если в игре нет кнопки паузы, тогда поставь паузу через, в твоем случае, CE. Обычно время хранится в секундах, или в миллисекундах (в тысячных долях секунды). Очень редко минуты и секунды хранятся отдельно. Например, игра Starcraft время хранит в секундах. Если у тебя 24 минуты и 33 секунды, то искать надо 1473 секунд (24мин*60+33сек=1473сек).

    Обычно видимое на экране время на единицу отличается от реального, эффект задержки. Искать лучше через поиск "Неизвестное значение" (условия Увеличилось/Уменьшилось). Или искать диапазоном, то есть у тебя 3:14 это 194 секунд. Ищи диапазон с 192 до 196 целые. Просто секунды тоже ищи в диапазоне, то есть с 12 до 16 целые.

    Источник

  5. Хотел бы узнать в чём у тебя возникла сложность сделать бесконечное здоровье в "Xenus 2: Белое золото"?

    Не мог найти точный адрес здоровья. Если получится правильно описать всю систему жизней. Ее можно увидеть на скрине ниже:

    post-5-1297350075,05_thumb.jpg

    Всего в игре жизней 102. Они отображается в левом нижнем углу, цифрами. Тебя могут убить сразу, а могут медленно и мучительно. То есть, если попадут сильно я умираю сразу. Если медленно то на экран выходит сообщение что я ранен в руки. Я не могу точно стрелять. Потом ноги. Я не могу быстро бегать. Потом тело и голова. Все это закрашивается в красный цвет. Жизни в цифрах тоже уменьшаются. Но иногда и резко повышаются на немного.

    Полоска слева...похоже когда в тебя сильно попадают она увеличивается, потом уменьшается. Ну я точно не знаю зачем она. Может за это не отвечает.

    Короче, я нуб в поисках.

  6. Исходник трейнера, естественно, на Дельфи от g-l-u-k.

    82feb9aabf07.jpg

    На скриншоте выше изображен трейнер (игра: C&C 3), который будет получен в результате компиляции. Разумеется, можно изменить картинку, музыку, весь функционал. Код немного закоментирован. Как написано в заголовке, язык – Delphi, автор – g-l-u-k. Скачать можно ниже.

    delphi.trainer.template.v0.2-tmx.rar

  7. Статья попалась. Спец. написанная для этого трейнми.

    Муть конечно...

    Trainme Devious Level 1

    Автор: Bie

    Перевод: Guru.eXe

    --------------------------------------------------------------------------------

    Инструменты

    Trainme Devious Level 1

    TSearch

    Правила

    Остановить обе полосы

    Установить значение денег 50000

    10 жизней

    Запрещается NOPить

    Начнем

    Деньги

    Начинаем искать текущее значение, предварительно установив тип: 4 Bytes. Нашли один адрес, к примеру, C7F010. У вас это значение будет другим, так как трейнми использует динамическое распределение памяти. Используя AutoHack в TSearch получаем:

    004011d6 B805000000 mov eax,0x5 <--- поднимаемся чуть выше и видим это

    004011db 294604 sub [esi+0x4],eax <--- сюда мы приземляемся

    Пояснения

    mov eax,0x5 - устанавливаем значение 5 в регистр EAX

    sub [esi+0x4],eax - вычитаем из текущего значения денег, значение, которое занесено в регистр EAX, а там у нас 5

    Решение

    Измените значение находящееся по адресу 004011d6 с 5 на 50000. Используйте Калькулятор, чтобы перевести десятичное значение 50000 в шестнадцатеричное. 50000 в DEC = C350 в HEX.

    В окне AutoHack кликните правой клавише мыши по строке находящейся по адресу 004011d6 и нажмите Assemble. Теперь впишите туда следующий код:

    mov eax,0xC350 <--- помещаем 50000 в регистр EAX

    Теперь сделаем так, чтобы значение денег всегда было постоянным, для этого кликните правой клавишей мыши по строке с адресом 004011db и нажмите Assemble, стандартный кол измените на:

    mov [esi+0x4],eax <--- устанавливаем значение 50000 по DMA адресу

    После этого у нас будет постоянно 50000, чего, собственно, мы и добивались.

    Результат

    004011D6 B850C30000 mov eax,0xC350

    004011db 894604 mov [esi+0x4],eax

    Код для Trainer Maker Kit

    Poke 4011D6 B8 50 C3 00 00 89 46 04

    Первая полоска

    Вы запомнили адрес инструкции, уменьшающей деньги? Ок.. идем дальше.

    004011d6 B805000000 mov eax,0x5

    004011db 294604 sub [esi+0x4],eax <-- уменьшаем деньги

    004011de B805000000 mov eax,0x5

    004011e3 294608 sub [esi+0x8],eax <-- уменьшаем что-то еще

    По адресу 004011e3 происходит тоже уменьшение какого-то значения. Хм.. проверим что именно. Кликните по строке по адресу 004011e3 и выберите Register. Теперь перейдите во вкладку Register. Активируем слежение за изменением регистра, для этого установите флаг слева от записи. Поле Register с EAX измените на ESI. Продолжите выполнение трейнми, то есть снимите с паузы.

    Теперь смотрим на значение Original Value. У меню значение хранящееся в регистру ESI равно d7f00c. Сейчас добавим к этому значению 8. Почему? Ведь у нас - esi+0x8. У меню получилось D7F014. Перейдите в главное окно TSearch и добавь в список полученный адрес.

    Пояснения

    mov eax,0x5 - записываем в регистр EAX значение 5

    sub [esi+0x8],eax - уменьшаем значение находящееся по DMA адресу на значение находящееся в регистре EAX, то есть на 5

    Решение

    Измените значение находящееся по адресу 004011de с 5 на 100. Используйте Калькулятор, чтобы перевести десятичное значение 100 в шестнадцатеричное. 100 в DEC = 64 в HEX.

    В окне AutoHack кликните правой клавише мыши по строке находящейся по адресу 004011de и нажмите Assemble. Теперь впишите туда следующий код:

    mov eax,0x64 <--- помещаем 100 в регистр EAX

    Теперь сделаем так, чтобы значение денег всегда было постоянным, для этого кликните правой клавишей мыши по строке с адресом 004011e3 и нажмите Assemble, стандартный кол измените на:

    mov [esi+0x8],eax <--- устанавливаем значение 100 по DMA адресу

    После этого у нас будет постоянно 100.

    Результат

    004011DE B864000000 mov eax,0x64

    004011E3 894608 mov [esi+0x8],eax

    Код для Trainer Maker Kit

    Poke 4011DE B8 64 00 00 00 89 46 08

    Жизни

    Для жизней, вы можете найти адрес использую обычный поиск, но есть способ более простой. Посмотрим на код игры:

    004011d6 B805000000 mov eax,0x5 <-- помещаем 5 в регистр eax

    004011db 294604 sub [esi+0x4],eax <-- уменьшаем количество денег на 5

    004011de B805000000 mov eax,0x5 <-- помещаем 5 в регистр eax

    004011e3 294608 sub [esi+0x8],eax <-- уменьшаем верхнюю полоску на 5

    004011e6 8B4608 mov eax,[esi+0x8] <-- помещаем значение шершней полоски в eax

    004011e9 0BC0 or eax,eax <-- если возвращается - истина

    004011eb 7532 jnz short 0x0040121F <-- переходим на адрес 40121f

    004011ed B864000000 mov eax,0x64 <-- если нет, устанавливаем 100 в регистр eax

    004011f2 894608 mov [esi+0x8],eax <-- устанавливаем 100 в верхнюю полоску

    004011f5 8B460C mov eax,[esi+0xC] <-- хммм... интересно

    004011f8 0BC0 or eax,eax <-- если возвращается - истина

    004011fa 751B jnz short 0x00401217 <-- переходим на адрес 401217

    004011fc 6A00 push 0x0 <-- если нет, очищаем

    004011fe 6800304000 push 0x403000 <-- показываем заголовок 'Game Over'

    00401203 680A304000 push 0x40300A <-- показываем сообщение 'You suck...

    00401208 FF7508 push dword ptr [ebp+0x8]<--

    0040120b E874010000 call 0x00401384 выход из трейнми

    00401210 6A00 push 0x0

    00401212 E873010000 call 0x0040138A <--

    00401217 B801000000 mov eax,0x1 <-- помещаем 1 в регистр eax, прыжок с 4011fa,

    сравнивается текущее значение с 0, для уменьшения жизней на 1

    0040121c 29460C sub [esi+0xC],eax <-- уменьшаем жизнь на 1

    Первое решение

    Итак, мы не хотим осуществление перехода по адресу 4011eb. Как же запретить прыжок не заNOPив инструкцию? Ответ прост, мы будем использовать прыжок, сначала необходимо уничтожить инструкцию:

    004011e9 0BC0 or eax,eax

    Теперь кликните правой клавишей мыши по строке с адресом 4011e9 и нажмите Assemble. Там измените инструкцию на jmp 4011ed.

    Второе решение

    Этот шаг необходим, поскольку он дает вам 10 жизней, хотя при старте мы имеем всего 5. Используя метод, который мы применяли выше, изменим:

    00401217 B801000000 mov eax,0x1 <-- помещаем 1 в регистр Eax

    0040121c 29460C sub [esi+0xC],eax <-- уменьшаем количество жизней на 1

    на

    00401217 B80A000000 mov eax,0xA <-- помещаем 10 в регистр EAX

    0040121c 0089460C mov [esi+0xC],eax <-- устанавливаем 10 жизней

    Код для Trainer Maker Kit

    Poke 4011E9 EB 02

    Poke 401217 B8 0A 00 00 00 00 89 46 0C

    Вторая полоска

    Заключительная часть нашего урока, посмотрим как следует на код.

    004011d6 B805000000 mov eax,0x5 <-- помещаем 5 в регистр eax

    004011db 294604 sub [esi+0x4],eax <-- уменьшаем количество денег на 5

    004011de B805000000 mov eax,0x5 <-- помещаем 5 в регистр eax

    004011e3 294608 sub [esi+0x8],eax <-- уменьшаем верхнюю полоску на 5

    004011e6 8B4608 mov eax,[esi+0x8] <-- помещаем значение шершней полоски в eax

    004011e9 0BC0 or eax,eax <-- если возвращается - истина

    004011eb 7532 jnz short 0x0040121F <-- переходим на адрес 40121f

    004011ed B864000000 mov eax,0x64 <-- если нет, устанавливаем 100 в регистр eax

    004011f2 894608 mov [esi+0x8],eax <-- устанавливаем 100 в верхнюю полоску

    004011f5 8B460C mov eax,[esi+0xC] <-- хммм... интересно

    004011f8 0BC0 or eax,eax <-- если возвращается - истина

    004011fa 751B jnz short 0x00401217 <-- переходим на адрес 401217

    004011fc 6A00 push 0x0 <-- если нет, очищаем

    004011fe 6800304000 push 0x403000 <-- показываем заголовок 'Game Over'

    00401203 680A304000 push 0x40300A <-- показываем сообщение 'You suck...

    00401208 FF7508 push dword ptr [ebp+0x8]<--

    0040120b E874010000 call 0x00401384 выход из трейнми

    00401210 6A00 push 0x0

    00401212 E873010000 call 0x0040138A <--

    00401217 B801000000 mov eax,0x1 <-- помещаем 1 в регистр eax, прыжок с 4011fa,

    сравнивается текущее значение с 0, для уменьшения жизней на 1

    0040121c 29460C sub [esi+0xC],eax <-- уменьшаем жизнь на 1

    0040121f B801000000 mov eax,0x1 <-- помещаем 1 в регистр EAX, прыжок с 4011eb,

    сравнивается текущее значение с 0, уменьшаем значение на 1

    00401224 294610 sub [esi+0x10],eax <-- уменьшаем значение полоски на 1

    Решение

    Все просто. Меняем:

    0040121f B801000000 mov eax,0x1 <-- помещаем 1 в регистр EAX

    00401224 294610 sub [esi+0x10],eax <-- уменьшаем значение полоски на 1

    на

    0040121f B864000000 mov eax,0x64 <-- помещаем в регистр EAX - 100

    00401224 894610 mov [esi+0x10],eax <-- устанавливаем значение

    Код для Trainer Maker Kit

    Poke 40121f B8 64 00 00 00 89 46 10

    Для опытный геймхакеров

    Деньги

    ;004011d6 B805000000 mov eax,0x5

    ;004011db 294604 sub [esi+0x4],eax

    ;Устанавливаем значение 50000

    ;004011D6 B850C30000 mov eax,0xC350

    ;004011db 894604 mov [esi+0x4],eax

    Первая полоска

    ;004011de B805000000 mov eax,0x5

    ;004011e3 294608 sub [esi+0x8],eax

    ;Устанавливаем значение 100

    ;004011de B864000000 mov eax,0x64

    ;004011e3 894608 mov [esi+0x8],eax

    Жизни

    ;004011E9 0BC0 or eax,eax

    ;00401217 B801000000 mov eax,0x1

    ;0040121c 29460C sub [esi+0xC],eax

    ;Устанавливаем 10 жизней

    ;004011E9 EB02 jmp 0x04011ED

    ;00401217 B80A000000 mov eax,0xA

    ;0040121c 0089460C mov [esi+0xC],eax

    Вторая полоска

    ;0040121f B801000000 mov eax,0x1

    ;00401224 294610 sub [esi+0x10],eax

    ;Устанавливаем значение 100

    ;0040121f B864000000 mov eax,0x64

    ;00401224 894610 mov [esi+0x10],eax

    Для новичков

    Вы можете использовать следующий код, для создания трейнера с помощью Trainer Maker Kit:

    Poke 4011D6 B8 50 C3 00 00 89 46 04 B8 64 00 00 00 89 46 08

    Poke 4011E9 EB 02

    Poke 401217 B8 0A 00 00 00 00 89 46 0C B8 64 00 00 00 89 46 10

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.