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

TrainMe by NullAlex [Game]


Гость

Рекомендуемые сообщения

Всем доброго времени суток.

Начнем с того, что я заметил, что ветка форума "Трейнми" не обновлялась уже давно. А ведь это интересно, как написание ТрейнМи, так и их взлом :)

Скажу сразу, что с фантазией у меня на данный момент туговато, т.к. не спал уже почти сутки, и все никак не спится, поэтому я не совсем честно спионерил идею Xipho с реализацией старой доброй игры "Пинг Понг", в которую, думаю, играли все, во времена существования такой приставки, как Sega :)

Для игрока 1:

  • Клавиша "Q" - перемещение ракетки вверх
  • Клавиша "A" - перемещение ракетки вниз
Для игрока 2:
  • Стрелка вверх - перемещение ракетки вверх
  • Стрелка вниз - перемещение ракетки вниз
Клавиша "Пробел" - активация режима "игрок против игрока"

  • Найти и сделать инъекцию с увеличением счетчика очков, для обоих игроков.
  • Найти указатели на счетчики обоих игроков.
  • Найти и изменить скорость движения ракеток.
  • Найти и изменить скорость движения мячика.
  • Заморозить ракетку игрока 1.
  • Заморозить ракетку игрока 2.
  • Сделать инъекцию для остановки мячика.
  • Сделать опцию на переключение режима игры с "игрок против компьютера" на "игрок против игрока", и наоборот.
  • Сделать опцию, которая будет добавлять очки противоположному игроку при пропускании мяча.
  • Изменить размер мячика вдвое.
  • Изменить размер ракетки игрока 1 вдвое
  • Изменить размер ракетки игрока 2 вдвое

На этом, вроде, пока-что все. Удачного взлома :)

Обновление 30.07.2014

  • Убрано мерцание объектов
  • Слегка улучшена физика
  • Сложность ТрейнМи повышена
Обновление 1.08.2014
  • ТрейнМи почти полностью переписан
  • Исправлены многие недочеты и ошибки
  • Добавлен режим "игрок против игрока" (чтобы его включить - нужно нажать клавишу "Пробел")
  • Мячик теперь сбрасывается в центр поля после попадания в защищаемую игроками стену
Примечание #1: в этой версии, в основном, был сделан упор на игровую составную. Сложность взлома понижена.

Примечание #2: прошлые версии удалены, т.к. в них существовала критическая ошибка, которая валила игру.

Обновление 2.08.2014

  • При присоединении отладчика ошибок больше не возникает
  • Немного улучшена производительность
  • Изменен интерфейс, добавлены надписи с описанием кнопок управления

PingPong.zip

Ссылка на комментарий
Поделиться на другие сайты

Ну что ж, ракетки мне было лень искать...

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

Также не стоит забывать, что логика работы трейнми должа быть приближённой к реальной игре, но при этом нужно препятствовать взлому.

И еще нужно не забывать про двойную буфферезацию (весь контекст в окне мерцает).

P.S. Ещё дельфи непонятно для чего вообще прицепил, тут же обычная работа с GDI, а твоя прога тянет кучу ненужных зависимостей за собой.

На C++ такой пинг понг будет килобайт 20-30 весить без UPX'а.

P.P.S. От меня получаешь плюс :)

post-8127-0-21223900-1406624507_thumb.jp

Ссылка на комментарий
Поделиться на другие сайты

Coder, таблица понравилась. Сколько времени ушло на весь взлом, если не секрет?

Это только проба пера, целью было реализовать основу. Плюс, хотелось начать с самых азов, чтобы ТренМи подошел всем :)

Про двойную буферизацию совсем забыл, каюсь :)

P.S. #1

Увы, но С++ не знаю, т.е. код на сях могу понять, но изучать С++ меня как-то отталкивает из-за обилия IDE, и программ для разработки GUI. Все никак не могу решить, что выбрать.

P.S. #2

Посмотрим, может кто-то еще взломает этот ТрейнМи.

Ссылка на комментарий
Поделиться на другие сайты

Coder, таблица понравилась. Сколько времени ушло на весь взлом, если не секрет?

Это только проба пера, целью было реализовать основу. Плюс, хотелось начать с самых азов, чтобы ТренМи подошел всем :)

Про двойную буферизацию совсем забыл, каюсь :)

P.S. #1

Увы, но С++ не знаю, т.е. код на сях могу понять, но изучать С++ меня как-то отталкивает из-за обилия IDE, и программ для разработки GUI. Все никак не могу решить, что выбрать.

P.S. #2

Посмотрим, может кто-то еще взломает этот ТрейнМи.

Около 10-15 минут, началось всё со строки, в которую выводится счёт)
Ссылка на комментарий
Поделиться на другие сайты

Обновление TrainMe:

  • Убрано мерцание объектов
  • Слегка улучшена физика
  • Сложность ТрейнМи повышена

Ссылка на скачивание в первом сообщении.

P.S.

Намутил так, что у меня взломать не вышло ^_^

Ссылка на комментарий
Поделиться на другие сайты

Обновление TrainMe:

  • Убрано мерцание объектов
  • Слегка улучшена физика
  • Сложность ТрейнМи повышена
Ссылка на скачивание в первом сообщении. P.S. Намутил так, что у меня взломать не вышло ^_^
За час исследований дальше не продвинулся, может у других получится.

// формирование строки для вывода очковunsigned int __usercall sub_407B6A<eax>(unsigned int result<eax>, unsigned int a2<edx>, int a3<esi>){unsigned int v3; // ett@2unsigned __int8 v4; // dl@2int v5; // edx@5int i; // esi@6int v7; // [sp-8h] [bp-8h]@1unsigned int v8; // [sp-4h] [bp-4h]@1v8 = a2;v7 = a3;do{v3 = result;result /= 0xAu;--a3;v4 = v3 % 0xA + 48;if ( v4 >= 0x3Au )v4 += 7;*(_BYTE *)a3 = v4;}while ( result );v5 = v8 - (v7 - a3);if ( v8 > v7 - a3 ){LOBYTE(result) = 48;for ( i = a3 - v5; ; *(_BYTE *)(v5 + i) = 48 ){--v5;if ( !v5 )break;}*(_BYTE *)i = 48;}return result;}
Ссылка на комментарий
Поделиться на другие сайты

Обновление TrainMe(1.08.2014):

  • ТрейнМи почти полностью переписан
  • Исправлены многие недочеты и ошибки
  • Добавлен режим "игрок против игрока" (чтобы его включить - нужно нажать клавишу "Пробел")
  • Мячик теперь сбрасывается в центр поля после попадания в защищаемую игроками стену

Обновление TrainMe (2.08.2014):

  • При присоединении отладчика ошибок больше не возникает
  • Немного улучшена производительность
  • Изменен интерфейс, добавлены надписи с описанием кнопок управления

Вся информация и ссылка на скачивание в первом посте. :)

Ссылка на комментарий
Поделиться на другие сайты

Ну почти всё сделал, размеры завтра найду.

91b8fb6153c9d9ca89ac4238b3ffd56a2d7f6f6f.jpg

->Скачать<-

//Мне имеет смысл делать трейнми с защитой подобно которую ставят на полноценные проекты? (только без хуков и дров)

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

//Мне имеет смысл делать трейнми с защитой подобно которую ставят на полноценные проекты? (только без хуков и дров)

Имеет. Интересно будет поковырять.

Ссылка на комментарий
Поделиться на другие сайты

А остальные задания? :)

Не не ща уже не тот момент мой мозг не выдержит. :-D

Вспомнил трейнми от Xipho он делал если не ошибаюсь на c++.

Ссылка на комментарий
Поделиться на другие сайты

Так я уже новую версию сделал ) И скоро будет продолжение уже новой версии.

Смотрел новую версию, давненько не заходил в форум вот и пропустил. Ждем продолжение/

Ссылка на комментарий
Поделиться на другие сайты

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

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

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