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

Xipho

Администраторы
  • Постов

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

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

    42

Весь контент Xipho

  1. EIP невозможно изменить ассемблерной инструкцией, насколько мне известно.
  2. Так в моем видео, о котором говорил выше, и рассказывается, как выйти на начало структуры путем анализа стека.
  3. Смотри вторую часть моего видео по взлому Bulletstorm. Поиск по форуму поможет тебе найти это видео.
  4. Кидаешь на форму таймер, ставишь интервал 100 милисекунд, и в обработчике таймера пишешь примерно следующее (пишу на коленке, потому код может быть слегка неверным, подправишь, если что): TForm1.Timer1Timer(Sender: TObject);begin if GetAsyncKeyState(VK_UP) = TRUE then begin // Здесь твой код, который должен выполниться по этой клавише end; if GetAsyncKeyState(VK_DOWN) = TRUE then begin // Здесь твой код, который должен выполниться по этой клавише end;end;
  5. cmp [eax+10],(float)100.0jbe originalcodemov ecx,(float)200.0originalcode:mov [eax+10],ecxxor eax,eaxЕсть инструкция прыжок, если меньше или равно jbe, или если меньше jb. Применяй нужную. Пример я привёл.JBE - Jump if Below or Equal - прыжок, если меньше или равно JB - Jump if Below - прыжок, если меньше JGE - Jump if Greater or Equal - прыжок, если больше или равно JG - Jump if Greater - прыжок, если больше.
  6. Исходника нет. Да и неактуален уже описанный в данной статье метод. На смену ему пришёл метод поиска инструкции по сигнатуре (aobscan).
  7. Поиск по форуму подскажет, как найти уйди игрока. И несколько видео есть, где способ фильтрации рассматривается
  8. Неправильная инструкция найдена. xlive.dll не занимается обработкой здоровья игрока.
  9. Предотвратить захват записи и чтения можно наблюдая за адресами WriteProcessMemory и ReadProcessMemory - если они находятся не в kernel32.dll, то, скорее всего, они были хукнуты извне, что, в свою очередь, может означать, что за трейнером "наблюдают".
  10. В решетках есть свои функции работы с клавишами. Но можно просто по таймеру вызывать функцию GetAsyncKeyState.
  11. На данный момент основная часть сайта находится на реставрации, и часть статей недоступна.
  12. 1. Читаешь про использование указанных функций 2. Пробуешь использовать указанные функции 3. Пробуешь использовать указанные функции 4. Пробуешь использовать указанные функции 5. Если не получается, приводишь куски кода, где не получается 6. Я или кто-то из наших участников помогает тебе, попутно рассказывая, где ты ошибся 7. Готово! Как-то так ) Вперед и с песней ) Действуй, а что не будет получаться - с радостью помогу. Но готовый код на блюдечке преподносить тебе не собираюсь ) Наша цель учить, а не давать готовое )
  13. С++ - это работа с WinAPI. Следовательно, читай про функции SetTimer KillTimer GetWindowText SetWindowText GetDlgItemText SetDlgItemText wsprintf
  14. Респекты можно плюсами к посту с выложенным трейнером выражать.
  15. Фактически, эти уровни являются так называемыми локациями, то есть, они не находятся в памяти игры, а загружаются в момент перехода на уровень. Теоритически можно найти функцию загрузки уровня при входе во врата, проанализировать ее, и запускать с нужными параметрами. А сразу после загрузки уровня уже телепортировать в нужное место.
  16. На самом деле, в игре есть своя встроенная функция спавна машин (ведь как-то они по ходу игры в мире появляются). Нужно найти эту функцию, проанализировать, и по горячей клавише вызывать с нужными параметрами. Подобное делал MasterGH в какой-то из статей по играм (вроде с патронами для Сталкера).
  17. Задача, действительно, простая. По таймеру делаешь поиск процесса (код для решеток в какой-то из тем по трейнерам есть), при нахождении делаешь System.Diagnostics.Process.Start("C:\program files\skype\skype.exe");По идее, можно даже запилить выбор запускаемого приложения с помощью диалога открытия файла..
  18. [ENABLE]...alloc(newmem,2048)...label(loop)newmem:...push eax // Заталкиваем в стекpush esi // регистрыpush ecx // чтобы восстановить потомpush ebx // оригинальные значенияmov ecx,364 // Записываем количество проходов в циклеloop:lea esi,[oldaddress] // Поместить в ESI адрес старого участка памятиlea ebx,[newaddress] // поместить в ebx адрес-приемникmov al,[esi] // загрузить в al байт из [ESI]mov byte ptr [ebx],al // записать в новый адресdec ecx // Уменьшить счетчик циклаinc ebx // Увеличить адрес-приемникinc esi // увеличить адрес-источникcmp ecx,0 // Достигли ли конца цикла?je @F // Если да, выходим из циклаjmp loop // Прыгаем на метку loop, то есть, переходим к следующей итерации цикла@@: // Безымянная метка для указания местоположения выхода из циклаpop ebx // Восстановлениеpop ecx // задействованных pop esi // в циклеpop eax // регистров...Попробуй так.
  19. rep movsb, для тех кто в танке, будет повторять запись одного и того же байта, запусти и проверь. А нужно скопировать весь участок. Если разжевать - мой код это memcpy по сишному, а твой - memset
  20. В общем, подводя итоги - если трейнер не направлен на получение преимущества перед другими игроками ( а этот трейнер, как я вижу, всех игроков в одинаковые условия ставит), то он вполне допустим (как, например, бесконечные патроны в кооперативном(!) режиме). И на этом закончим дискуссию.
  21. [ENABLE] ... alloc(newmem,2048) ... label(loop) newmem: ... push eax // Заталкиваем в стек push esi // регистры push ecx // чтобы восстановить потом push ebx // оригинальные значения mov ecx,364 // Записываем количество проходов в цикле loop: lea esi,[oldaddress] // Поместить в ESI адрес старого участка памяти lea ebx,[newaddress] // поместить в ebx адрес-приемник lodsb // загрузить в al байт из [ESI] mov byte ptr [ebx],al // записать в новый адрес dec ecx // Уменьшить счетчик цикла inc ebx // Увеличить адрес-приемник cmp ecx,0 // Достигли ли конца цикла? je @F // Если да, выходим из цикла jmp loop // Прыгаем на метку loop, то есть, переходим к следующей итерации цикла @@: // Безымянная метка для указания местоположения выхода из цикла pop ebx // Восстановление pop ecx // задействованных pop esi // в цикле pop eax // регистров ... Как-то так. Где многоточия - там какой-то другой код.
  22. Можно, если подчеркиваешь, что взлом делается для оффлайн режима, ты ведь не несешь ответственности за тех, кто полученные знания применит "во зло".
  23. Все инструкции, которые ты затираешь прыжком, в инжекте ты обязан восстановить, иначе с большой долей вероятности получишь вылет из игры.
×
×
  • Создать...

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

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