live_4_ever Опубликовано 6 января, 2011 Поделиться Опубликовано 6 января, 2011 Трейнми для тех кто хочет научится взламывать игры.Требования: Сделать полный бар, сделать больше 10 жизней, сделать больше 50,000 денег.ghme1lvl1.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 6 января, 2011 Поделиться Опубликовано 6 января, 2011 не интересный трейнми Ссылка на комментарий Поделиться на другие сайты Поделиться
JIeXA Опубликовано 6 января, 2011 Поделиться Опубликовано 6 января, 2011 Где Вы берёте трейнми? Гугл хрень какуюто находитghme1lvl1.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
live_4_ever Опубликовано 29 января, 2011 Автор Поделиться Опубликовано 29 января, 2011 Статья попалась. Спец. написанная для этого трейнми.Муть конечно...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 в регистр eax004011db 294604 sub [esi+0x4],eax <-- уменьшаем количество денег на 5004011de B805000000 mov eax,0x5 <-- помещаем 5 в регистр eax004011e3 294608 sub [esi+0x8],eax <-- уменьшаем верхнюю полоску на 5004011e6 8B4608 mov eax,[esi+0x8] <-- помещаем значение шершней полоски в eax004011e9 0BC0 or eax,eax <-- если возвращается - истина004011eb 7532 jnz short 0x0040121F <-- переходим на адрес 40121f004011ed B864000000 mov eax,0x64 <-- если нет, устанавливаем 100 в регистр eax004011f2 894608 mov [esi+0x8],eax <-- устанавливаем 100 в верхнюю полоску004011f5 8B460C mov eax,[esi+0xC] <-- хммм... интересно004011f8 0BC0 or eax,eax <-- если возвращается - истина004011fa 751B jnz short 0x00401217 <-- переходим на адрес 401217004011fc 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 0x000401212 E873010000 call 0x0040138A <-- 00401217 B801000000 mov eax,0x1 <-- помещаем 1 в регистр eax, прыжок с 4011fa, сравнивается текущее значение с 0, для уменьшения жизней на 10040121c 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 в регистр eax004011db 294604 sub [esi+0x4],eax <-- уменьшаем количество денег на 5004011de B805000000 mov eax,0x5 <-- помещаем 5 в регистр eax004011e3 294608 sub [esi+0x8],eax <-- уменьшаем верхнюю полоску на 5004011e6 8B4608 mov eax,[esi+0x8] <-- помещаем значение шершней полоски в eax004011e9 0BC0 or eax,eax <-- если возвращается - истина004011eb 7532 jnz short 0x0040121F <-- переходим на адрес 40121f004011ed B864000000 mov eax,0x64 <-- если нет, устанавливаем 100 в регистр eax004011f2 894608 mov [esi+0x8],eax <-- устанавливаем 100 в верхнюю полоску004011f5 8B460C mov eax,[esi+0xC] <-- хммм... интересно004011f8 0BC0 or eax,eax <-- если возвращается - истина004011fa 751B jnz short 0x00401217 <-- переходим на адрес 401217004011fc 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 0x000401212 E873010000 call 0x0040138A <-- 00401217 B801000000 mov eax,0x1 <-- помещаем 1 в регистр eax, прыжок с 4011fa, сравнивается текущее значение с 0, для уменьшения жизней на 10040121c 29460C sub [esi+0xC],eax <-- уменьшаем жизнь на 10040121f B801000000 mov eax,0x1 <-- помещаем 1 в регистр EAX, прыжок с 4011eb,сравнивается текущее значение с 0, уменьшаем значение на 100401224 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 14 августа, 2012 Поделиться Опубликовано 14 августа, 2012 Таблица CheatEnginehttp://sendfile.su/649427Извините, не знаю как залить файл сюда, поэтому залил его на бесплатный файлообмен. Надеюсь это не запрещено Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 Привет MeranoСкрипт на СЕ можешь сделать?Будет круто. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 ZOCKIR, приветствую Скорее всего нет, т.к. скрипты в CE не трогал пока Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 ZOCKIR, приветствую Скорее всего нет, т.к. скрипты в CE не трогал покаГорячо рекомендую пройти туториал СЕ, ну и может пару видеоуроков посмотреть (например, моих). =)Основы в туториале отлично объясняются, я думаю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 В туториале CE прошел указатели, дальше инъекция кода, которую я не могу понять А на счет видеоуроков - обязательно все посмотрю, когда наконец интернет подключат (сейчас с мобильника, и нет возможности вздохнуть свободнее, т.к. трафик черезчур дорогой: ~10 р. за мб) Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 В туториале CE прошел указатели, дальше инъекция кода, которую я не могу понять А на счет видеоуроков - обязательно все посмотрю, когда наконец интернет подключат (сейчас с мобильника, и нет возможности вздохнуть свободнее, т.к. трафик черезчур дорогой: ~10 р. за мб) А что конкретно не понимаешь? Принцип - "инъекция кода", или ассемблерные команды? Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 Да... Честно сказать, сколько раз я не пытался, не могу найти адрес жизней на 7м шаге пароль: 013370То-ли CE баганый, то-ли я криворукий... Но не удается найти значение не по байтам, не по float или double, и даже поиск неизвестного значения ничего не дает =\ Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 Да... Честно сказать, сколько раз я не пытался, не могу найти адрес жизней на 7м шаге пароль: 013370То-ли CE баганый, то-ли я криворукий... Но не удается найти значение не по байтам, не по float или double, и даже поиск неизвестного значения ничего не дает =\У меня находит как целое 4 байта, но на всякий случай попробуй снять в главном окне СЕ галочку "Fast Scan" ("Быстрое сканирование") и попробуй найти адрес ещё раз. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 Точно, нашел... Даже немного стыдно, забыл про быстрый поиск Сейчас поковыряю этот шаг, и отпишусь UPD:Выполнено Пароль к 8 шагу: 525927Пока все очень хорошо понятно.UPD2:Вот на 8м шаге ступор...Инструкция на 2м уровне имеет вид: mov eax, [esi]смещения, получается, у него нет?Выполнен 8 шаг. Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 Так держать! Если в скобках нет цифр, то смещение можно смело считать нулём. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 Многоуровневые указатели очень полезны... Я сейчас сходу 3 игры взломал с помощью них Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 ZOCKIR, приветствую Скорее всего нет, т.к. скрипты в CE не трогал покаПридет время он будет стучать в твой дверь (Асемблер, скрипт) Merano удачи в начинаниях. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Merano Опубликовано 15 августа, 2012 Поделиться Опубликовано 15 августа, 2012 ZOCKIR, спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения