Xipho Опубликовано 5 ноября, 2012 Поделиться Опубликовано 5 ноября, 2012 Так, в общем, накидал небольшой трейнми. Ломать его будет несложно, поэтому по мере взлома буду его усложнять (при наличии свободного времени). Задачи:1. Взломать количество очков, поставить 99.2. Изменить условие окончания игры на 99 очков3. Изменить условие, чтобы при проигрыше очки начислялись не врагу, а игроку4. Заморозить движение противника, но чтобы шар продолжал двигаться по своей обычной траектории.5. Замедлить скорость движения шара.6. (Кваз подсказал идею) Увеличить скорость движения игрока.На этом пока все.Взломать нужно по всем пунктам, выложить сюда скрипты и рассказать, как взламывали.ЗЫ. Первый, кто выполнит все задания, выложит скрипт, и расскажет, как ломал - получит медальку и +10 к репутации.tennistrainme.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 6 ноября, 2012 Поделиться Опубликовано 6 ноября, 2012 Вот собственно ссылка на трейнерВот опции и скрипты к ним:1)end game = 99(1)[ENABLE]alloc(newmem,32)label(returnhere)label(exit)newmem:cmp dword ptr [edx],#99jne 0040158Dexit:jmp returnhere00401582:jmp newmemreturnhere:[DISABLE]00401582:cmp dword ptr [edx],0Fjne 0040158Ddealloc(newmem)2)end game = 99(2)[ENABLE]alloc(newmem,64)label(returnhere)label(exit)newmem:cmp dword ptr [ecx],#99jne 0040157Fexit:jmp returnhere00401577:jmp newmemreturnhere:[DISABLE]00401577:cmp dword ptr [ecx],0Fjne 0040157Fdealloc(newmem)3)player 1 = 99 goals[ENABLE]alloc(newmem,64)label(returnhere)label(gol)registersymbol(gol)label(exit)aobscan(goals,8b 11 89 96 84 00 00 00 89 86 88 00 00 00 8b 47 0c 80 38 00 0f 85 1d 01 00 00)newmem:mov [ecx],#99mov edx,[ecx]mov [esi+00000084],edxexit:jmp returnheregoals:gol:jmp newmemnopnopnopreturnhere:[DISABLE]unregistersymbol(gol)gol:mov edx,[ecx]mov [esi+00000084],edxdealloc(newmem)4)player 2 = 99 goals[ENABLE]alloc(newmem,32)label(returnhere)label(exit)newmem:mov [eax],#99mov eax,[eax]mov edx,[ecx]mov [esi+00000084],edxexit:jmp returnhere00401559:jmp newmemnopnopnopnopnopreturnhere:[DISABLE]00401559:mov eax,[eax]mov edx,[ecx]mov [esi+00000084],edxdealloc(newmem)5) Freeze enemy// Y coord 2 player[ENABLE]alloc(newmem,64)label(returnhere)label(metka)registersymbol(metka)label(exit)aobscan(freeze2,89 7e 70 e8 49 fa ff ff 5f 5e 8b e5 5d)newmem:nopcall 004010E0exit:jmp returnherefreeze2:metka:jmp newmemnopnopnopreturnhere:[DISABLE]unregistersymbol(metka)metka:mov [esi+70],edicall 004010E0dealloc(newmem)6) Freeze ball//xy coord ball[ENABLE]alloc(newmem,256)label(returnhere)registersymbol(metka)label(metka)label(exit)aobscan(xball,89 4e 74 89 46 78 8b 47 08 8b 48 14 89 48 0c 8b 7f 08)newmem:nopnopexit:jmp returnherexball:metka:jmp newmemnopreturnhere:[DISABLE]unregistersymbol(metka)metka://00401674mov [esi+74],ecx //x coord instmov [esi+78],eax //y coord instdealloc(newmem)7) Faster up[ENABLE]alloc(newmem,256)label(returnhere)registersymbol(metka)label(metka)label(original)label(exit)aobscan(up,89 4e 64 89 46 68 8b 47 10 80 78 53 00 74 2b 8b 4f 08)newmem:cmp [esi+68],#80je originalmov [esi+64],ecxsub eax,#20mov [esi+68],eax //this is insrtuction coord upjmp exitoriginal:mov [esi+64],ecxmov [esi+68],eaxexit:jmp returnhereup:metka:jmp newmemnopreturnhere:[DISABLE]unregistersymbol(metka)metka: //004015ff and 00401602*mov [esi+64],ecxmov [esi+68],eaxdealloc(newmem)8) Faster down[ENABLE]alloc(newmem,256)label(returnhere)registersymbol(metka)label(metka)label(original)label(exit)aobscan(down,89 4e 64 89 46 68 8b 57 0c 8b 4f 14 80 7a 01 00 8b 47 08)newmem:cmp [esi+68],#367je originalmov [esi+64],ecxadd eax,#20mov [esi+68],eaxjmp exitoriginal:mov [esi+64],ecxmov [esi+68],eax //this is instruction coord downexit:jmp returnheredown:metka:jmp newmemnopreturnhere:[DISABLE]unregistersymbol(metka)metka:// 00401633 and 00401636mov [esi+64],ecxmov [esi+68],eaxdealloc(newmem)9) Always 1 player goals[ENABLE]alloc(newmem,256)label(returnhere)registersymbol(metka)label(metka)label(exit)aobscan(playerwin,7f 26 8b 41 04 ff 00 8b 51 1c 8b 42 08 99)newmem:jg 004013F4mov eax,[ecx+04]inc [eax-10]exit:jmp returnhereplayerwin:metka:jmp newmemnopnopreturnhere:[DISABLE]unregistersymbol(metka)metka:jg 004013F4mov eax,[ecx+04]inc [eax]dealloc(newmem)10) speed[ENABLE]alloc(newmem,256)label(returnhere)label(exit)newmem:mov [eax],#1mov edx,[eax]mov ecx,[edi+08]exit:jmp returnhere00401655:jmp newmemreturnhere:[DISABLE]00401655:mov edx,[eax]mov ecx,[edi+08]dealloc(newmem)Я долго взламывал и не знаю что здесь расказывать о своем взломе.Вы спрашивайте а я буду отвечать в меру своих пока-что маленьких знаний. Трейнми получился как раз на проверку моих знаний аобскана. Ссылка на комментарий Поделиться на другие сайты Поделиться
ARM4ND0 Опубликовано 6 ноября, 2012 Поделиться Опубликовано 6 ноября, 2012 Синий экран при запуске на ХР. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 6 ноября, 2012 Автор Поделиться Опубликовано 6 ноября, 2012 Я долго взламывал и не знаю что здесь расказывать о своем взломе.Вы спрашивайте а я буду отвечать в меру своих пока-что маленьких знаний. Трейнми получился как раз на проверку моих знаний аобскана. Можно записать видео с процессом взлома. В любом случае, сегодня вечером или завтра утром проверю, если все работает так, как надо, будет медалька и +10 в репутацию, как и обещал. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 7 ноября, 2012 Автор Поделиться Опубликовано 7 ноября, 2012 Посмотрел трейнер. Третий пункт задания не выполнен, а он один из самых важных. Жду выполнения этого пункта и даю обещанное. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 7 ноября, 2012 Поделиться Опубликовано 7 ноября, 2012 3 Пункт.Самое интересное здесь две инструкции.mov [esi+00000084],edx //P1Scoremov [esi+00000088],eax //P2ScoreЕсли поменять местами смещение или регистр получим то что хотим.mov [esi+00000088],edxmov [esi+00000084],eaxили mov [esi+00000084],eaxmov [esi+00000088],edxДалее Пишем скрипт. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 Да недоработал я ету опцию:-)У меня лично 2 варианта:1)Этот вариант работает, но не всегда[ENABLE]alloc(newmem,256)label(returnhere)registersymbol(metka)label(metka)label(exit)aobscan(playerwin,7f 26 8b 41 04 ff 00 8b 51 1c 8b 42 08 99)newmem:jg 004013F4mov eax,[ecx+04]inc [eax-10]inc [eax-20]exit:jmp returnhereplayerwin:metka:jmp newmemnopnopreturnhere:[DISABLE]unregistersymbol(metka)metka:jg 004013F4mov eax,[ecx+04]inc [eax]dealloc(newmem)2)Этот вариант работает практически всегда[ENABLE]alloc(newmem,256)label(returnhere)label(exit)newmem:mov eax,[ecx]inc [eax]exit:jmp returnhere004013CE:jmp newmemreturnhere:[DISABLE]004013CE:mov eax,[ecx+04]inc [eax]dealloc(newmem)Zockir если ты имел ввиду этот вариант[ENABLE]alloc(newmem,256)label(returnhere)label(exit)newmem:mov eax,[eax]mov edx,[ecx]mov [esi+00000088],edxmov [esi+00000084],eaxexit:jmp returnhere00401559:jmp newmemnopnopnopnopnopnopnopnopnopnopnopreturnhere:[DISABLE]00401559:mov eax,[eax]mov edx,[ecx]mov [esi+00000084],edxmov [esi+00000088],eaxdealloc(newmem)то он меняет только местами очки игрока 1 и игрока 2.Извините что без аобскана, но думаю его здесь и не надо:-) Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 ноября, 2012 Автор Поделиться Опубликовано 8 ноября, 2012 Версия 0.2. Основательно перелопатил код, кое-где оптимизировал, кое-где постарался усложнить будущий взлом. Особо не заморачивался, так что большой сложности не ждите.. Задачи те же, плюс еще:7. найти указатели для очков игроков. Статические, разумеется.8. найти указатели на координаты шары9. Изменить размеры шара10. Найти указатели на координаты ракетов и изменить их размеры (можно в длину, можно в ширину). Указатели на переменные, хранящие размеры, тоже желательно найти.11. Теперь с течением времени шар начинает постепенно увеличивать скорость движения. Нужно найти и нейтрализовать эту фичу )).Пока вроде все.tennistrainme.rarЗЫ, Bromvol, как и было обещано, получает медальку "продвинутому геймхакеру" и + 10 в репутацию.ЗЗЫ. Теперь можно поиграть вдвоем на одной клаве ) Ну или поиграть самому против себя ))) Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 Как ты усложнил проект,если находятся адреса exp так быстро. tennistrainme.exe+7474tennistrainme.exe+7470тип floatВ СЕ находим значение 15 тип флоат там всего найдется три адреса выбираем точно 15 внизу а не 15,99999905 добавим адрес в таблицу ставим точка останова на адрес и переходим в отладчик по найденной инструкции вот и координаты. Ссылка на комментарий Поделиться на другие сайты Поделиться
wiz2vip Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 Ребят, а куда выкладывать видео, ютуб мне говорит Отклонено, слишком длинное видео, хотя идет всего 18 минут Ссылка на комментарий Поделиться на другие сайты Поделиться
Coder Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 Ребят, а куда выкладывать видео, ютуб мне говорит Отклонено, слишком длинное видео, хотя идет всего 18 минутУ тебя обычный аккаунт, а значит ты не можешь выгружать видео длительностью более 15 минут.P.S. воодушевил меня Руслан, тоже сделаю что-нибудь наподобие. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 Адрес статический указатель на все.tennistrainme.exe+7480 +с+8+4 и 8,10,14,с т.д Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 ноября, 2012 Автор Поделиться Опубликовано 8 ноября, 2012 ZOCKIR, если поломал, пиши скрипты по всем пунктам задания и выкладывай ход взлома )) Сам я еще не ломал, но что-то мне подсказывает, что компилятор в очередной раз подложил мне свинью со своими оптимизациями. Интересно, как ты нашел количество очков не экранное. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 В общем взломал как писал #9Пока таблица почти на все.7. найти указатели для очков игроков. Статические, разумеется.8. найти указатели на координаты шары9. Изменить размеры шара10. Найти указатели на координаты ракетов и изменить их размеры (можно в длину, можно в ширину). Указатели на переменные, хранящие размеры, тоже желательно найти.Скачать tennistrainme.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
wiz2vip Опубликовано 8 ноября, 2012 Поделиться Опубликовано 8 ноября, 2012 Блин, че за Х , я так все расказал в видео, и тут опять закон падлости, первый раз делаю видео ито незя на ютубе, наверно выложу на хостинге какомнибудь, ...----------------------Хотя нет, идея уже устарела, тут уже новые задания, ниче небуду выкладывать, для себя знаю что сломал и сломаю остальное.В видео сказал спасибо Coder,у в основном все координаты , что прямоугольника что шара, ищются по x и по y , раньше смотрел уроки Coder,а.. а сейчас буду дальше ломать, на остальные задания Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 ноября, 2012 Автор Поделиться Опубликовано 8 ноября, 2012 Параметры в таблице и скрипты поименуй правильно, чтобы можно было понять, какой из скриптов за какое задание отвечает. Второй скрипт вызывает безусловную победу противника, что не было в заданииТретий скрипт (balls rovno) вышибает трейнми напрочь. Итог - задание не выполнено. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 9 ноября, 2012 Поделиться Опубликовано 9 ноября, 2012 Блин я скрипты забыл удалить с таблицы, (Скрипты за счет не берите) там чисто указатели, все рабочие а переименовать сил не-было все.На выходные в порядок приведу все указатели. Ссылка на комментарий Поделиться на другие сайты Поделиться
Bromvol Опубликовано 9 ноября, 2012 Поделиться Опубликовано 9 ноября, 2012 Хорошо взломал.Zockir а как ты находил адреса высоты и ширины ракетов и самого шара? Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 9 ноября, 2012 Поделиться Опубликовано 9 ноября, 2012 Хорошо взломал.Zockir а как ты находил адреса высоты и ширины ракетов и самого шара?Если получится СЕГОДНЯ ИЛИ ЗАВТРА добавлю видео процесс взлома.Взлом. Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 21 ноября, 2012 Автор Поделиться Опубликовано 21 ноября, 2012 Наконец-то появилось время, немного допилил трейнми. Новая версия, задачи:1. Найти и взломать количество очков для каждого игрока2. Найти и переставить окончание игры не при 15, а при 100 очках.3. Сделать, чтобы за каждую потерю начислялись очки игроку 1, а не компу.Написать для всех задач скрипты.Записать видео с показом и описанием процесса взлома (где искали значение, как на него выходили и тп)Залить видео на ютуб и выложить здесь ссылкуПервым троим, выполнившим задание полностью - медальки. А также:1 место (первый выложивший) - 20 очков к репе2 место (второй выложивший) - 10 очков к репе3 место (третий выложивший) - 5 очков к репе.Каждый последующий выложивший - +1 в репутацию.Файл: tennistrainme.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 22 ноября, 2012 Поделиться Опубликовано 22 ноября, 2012 Адреса очков статичные, ты это специально сделал, или компилятор опят тебя подвел? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 22 ноября, 2012 Автор Поделиться Опубликовано 22 ноября, 2012 Нет там статичных адресов ) Ты, похоже, старую версию качнул ) Там вообще принцип подсчета очков теперь совершенно другой ) Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 22 ноября, 2012 Поделиться Опубликовано 22 ноября, 2012 Я скачал с этого постаXiphoОтправлено Сегодня, 01:13Наконец-то появилось время, немного допилил трейнми. Новая версия, задачи:1. Найти и взломать количество очков для каждого игрока2. Найти и переставить окончание игры не при 15, а при 100 очках.3. Сделать, чтобы за каждую потерю начислялись очки игроку 1, а не компу.Написать для всех задач скрипты.Записать видео с показом и описанием процесса взлома (где искали значение, как на него выходили и тп)Залить видео на ютуб и выложить здесь ссылкуПервым троим, выполнившим задание полностью - медальки. А также:1 место (первый выложивший) - 20 очков к репе2 место (второй выложивший) - 10 очков к репе3 место (третий выложивший) - 5 очков к репе.Каждый последующий выложивший - +1 в репутацию.Файл: tennistrainme.rar 7,58К 6 Количество загрузок: Ссылка на комментарий Поделиться на другие сайты Поделиться
Laziz Опубликовано 22 ноября, 2012 Поделиться Опубликовано 22 ноября, 2012 Адреса вроде статические.Вот адрес на P1-Scores "tennistrainme.exe+6480" (Float)------------------P2-Scores "tennistrainme.exe+6484" (Float)Что бы P1-Scores до 99[ENABLE]alloc(newMem, 2048)label(returnHere)newMem:cmp [tennistrainme.exe+6480],(float)99jne tennistrainme.exe+1E87mov byte ptr [eax+ecx],01cmp eax,0Fjnge tennistrainme.exe+1FB1jmp returnHeretennistrainme.exe+1FB8:jmp newMemreturnHere:[DISABLE]tennistrainme.exe+1FB8:cmp eax,0Fjnge tennistrainme.exe+1FB1dealloc(newMem)Что бы P2-Scores до 99[ENABLE]alloc(newMem, 2048)label(returnHere)newMem:cmp [tennistrainme.exe+6484],(float)99jne tennistrainme.exe+1E87mov byte ptr [eax+ecx],01cmp eax,0Fjnge tennistrainme.exe+1E75jmp returnHeretennistrainme.exe+1E7C:jmp newMemreturnHere:[DISABLE]tennistrainme.exe+1E7C:cmp eax,0Fjnge tennistrainme.exe+1E75dealloc(newMem)Что бы всегда очки в пользу Р1[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem:originalcode:fld dword ptr [tennistrainme.exe+6480]mov ecx,[esi+04]fadd qword ptr [tennistrainme.exe+4428]xor eax,eaxfstp dword ptr [tennistrainme.exe+6480]exit:jmp returnhere"tennistrainme.exe"+1E5E:jmp newmemnopnopnopnopnopnopnopnopnopnopnopnopnopnopnopnopnopnopreturnhere:[DISABLE]dealloc(newmem)"tennistrainme.exe"+1E5E:fld dword ptr [tennistrainme.exe+6484]mov ecx,[esi+04]fadd qword ptr [tennistrainme.exe+4428]xor eax,eaxfstp dword ptr [tennistrainme.exe+6484]Все условии сделаны (не смотря что все статические), кроме видео. Видео делать я не умею... уж извините) да и с временем туго.Адреса вроде статические.Вот адрес на P1-Scores "tennistrainme.exe+6480" (Float)------------------P2-Scores "tennistrainme.exe+6484" (Float)Эти адреса на экранные значение, а реальные значение только 15, т.е. подсчет идет ка кто по другому.(попробую объяснит: Когда считает, игра проверяет пятнадцать 8 битных значении, расположенных подряд друг за другом на 0 или 1. Изначально все нули. Когда первый раз выигрывает, первый байт переводит на "один", второй раз выигрывает, второй байт... и так дале. Последний байт самый важный.Я попробовал отключить подсчет и связал его с экранным значением... вроде получилось (скрипт на верху). Правда в конце один баг заметил, но исправить нету сил. спать хочется) Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 22 ноября, 2012 Автор Поделиться Опубликовано 22 ноября, 2012 Laziz, идешь в правильном направлении. Скрипты проверю только на выходных, раньше времени не будет. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения