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

Xipho

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

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

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

    42

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

  1. Я уже не раз и не в одной теме на нашем форуме писал, что указанных функций мало для создания трейнера к современым играм. Необходимо обязательно упомянуть о функции VirtualProtectEx, позволяющей менять защиту взламываемой памяти процесса.
  2. Во-первых, таки функцией VirtualProtectEx ты не воспользовался. Во-вторых, зачем делать консольное приложение? В-третьих, зачем для каждого байта вызывать функцию записи в память отдельно? Можно записать сразу цепочку байтов.
  3. Тут вообще допущена такая ошибка, о которой и говорить-то не стоит. В этом исходнике у тебя не отрабатывает даже поиск процесса, ибо после вызова ExitProcess твоя программа завершается. Цикл поиска и внедрения в процесс надо заталкивать в диалоговую процедуру. И, если хочешь по хоткею - заталкиваешь эту процедуру в сообщениия нажатия клавиш, а если же хочешь, чтобы сразу при запуске проги отрабатывала - в обработчик сообщения WM_INITDIALOG внутри диалоговой процедуры. Далее, PROCESS_ALL_ACCESS тебе совсем не нужен. Тебе достаточно PROCESS_VM_READ и PROCESS_VM_WRITE (это флаги, их надо сочетать). В каком направлении копать - я тебе подсказал, дальше давай сам.
  4. Первая и самая грубая ошибка - после того, как процесс найден, или же перебор процессов закончен (в случае, если игра не запущена), надо обязательно закрывать хэндл снимка системы. Это раз. Ну а по поводу записи в память - большинство игр сейчас идут с защитой от подобных изменений, поэтому, прежде чем записать что-либо в память процесса, надо сначала получить права на запись, а точнее, сменить тип защиты нужного адреса. Делается это функцией VirtualProtectEx. Далее, сразу же после записи нужных данных в память процесса, нужно восстановить старые настройки защиты (их можно сохранить при первом запуске упомянутой функции - МСДН объяснит) вызовом этой же самой функции. Это неоднократно рассматировалось в разных статьях и разных тредах нашего форума, надо не лениться и пользоваться поиском. Если в каждой теме обмусоливать одни и те же вопросы - мы все погрязнем в куче однотипной информации, в которой что-то полезное будет найти весьма проблематично.
  5. На форуме нашем проскакивали способы подключения к процессу. Даю подсказку. Используй снятие снимка системы с последующим перебором процессов. В этом тебе помогут три WinAPI фуникции: CreateToolhelp32Snapshot Process32First Process32Next Описания функций найдешь в MSDN.
  6. ты прыжок делаешь с одной и той же оригинальной инструкции, вот они и "замещают" друг друга, поэтому вместе не работают. Тебе надо сделать двойное сравнение в одном скрипте. Первое - чтобы определить, ГГ или непись обрабатывается в этой инструкции в данный момент, а дальше каскад сравнений введенной тобой переменной для бессмертия и для убийства с одного удара.
  7. Если ты собираешься писать скрипт для СЕ - тогда для этого используется специальная команда aobscan. Читай хелпы к программе и наш форум, конечно же.
  8. Нет. Не ленись, почитай статьи, почитай посты, наш форум не так уж велик, чтобы составить в этом трудности.
  9. Древняя прога Game Trainer Studio (с названием могу немного ошибиться) - генерирует трейнеры на ассемблере, вследствие чего получаются трейнеры небольшого размера. Ну и возможности по созданию красивого интерфейсам там тоже присутствуют, хотя, в силу древности проги, довольно скромные.
  10. Ты нашел экранный адрес, а не истинное, возможно, зашифрованное значение. Что с этим делать - описано в нескольких темах у нас на форуме и сайте.
  11. Можешь прислать личкой любому из админов, мы разместим. И, если трейнер будет рабочий - возможно, ты сразу будешь включен в группу "Разработчики".
  12. Берешь найденную инструкцию, для нее делаешь прыжок на кейв, и в кейве делаешь запись нужного количества патронов для оружия. Поскольку в данной игре эта инструкция работает с патронами ВСЕХ оружий, которые есть у ГГ, соответственно, у них у всех и станут бесконечными патроны. Элементарно.
  13. Из краткого справочника начинающего геймхакера можно понять, что эта инструкция обязательно крутится в цикле, который перебирает какой-то массив(не структуру, ибо шаг всегда равен четырем байтам - esi*4), где в eax хранится указатель на начало массива, а в esi - счетчик нужного значения в массиве. ESI*4 говорит нам о том, что массив состоит из четырехбайтных чисел (шаг счетчика равен 4). Из всего этого можно сделать вывод, что нужно, как выше и говорил keng, найти статичный указатель на начало массива (построить его от eax), и потом отслеживать, какой индекс появляется в ESI при работе с нужным игровым значением. Если нужно менять только одно это значение - тогда, как выше и говорил keng, можно будет текущий индекс этого значения помножить на 4 и от этого "танцевать".
  14. ELF - объектный формат линукса, насколько мне известно. Думаю, копаться в файлах этого формата, и отлаживать их удобнее будет, собственно, из-под линукса )
  15. Если почитать DXSDK внимательно, то указатель там двухуровневый. То есть, не указатель на устройство, а указатель на указатель на устройство.
  16. У меня нет игры под рукой, но осмелюсь предположить, что стоило писать в Y. Но не факт. Надо исследовать.
  17. Еще один момент: перед затиранием оригинальной инструкции прыжком на инъекцию, желательно (или, можно сказать, почти обязательно) снять защиту со страницы памяти функцией VirtualProtectEx, а после записи ею же восстановить защиту. Попадалось мне немало игр, которые вылетали, если пытаться писать без снятия защиты.
  18. По большому счету, можно в памяти процесса создать поток, и заставить его вызывать функцию считывания параметров несколько раз в секунду с нужными параметрами.
  19. Можно. Бери фотошоп, "напяливай" шапку на свой аватар и вперед. А вообще, впервые вижу, чтобы кто-то попросил по шапке )))

  20. Как это не может? Еще как может. В той же ГТА Вайс Сити многие значения обновлялись чуть ли не каждую милисекунду (1000 раз в секунду).
  21. ZOCKIR, чтобы я такого больше не слышал на нашем форуме. Мы НЕ воруем читы, сделанные другими людьми, то есть, мы НЕ воруем чужой труд. Мы его уважаем. Поэтому все, что делается участниками нашего форума - делается самостоятельно, либо с помощью наших же участников, но никак не воровством чужих алгоритмов взлома. ЗЫ. Процитированному мной сообщению поставил минус.
  22. Так. boss задает слишком много вопросов, которые свойственны не просто новичку, а совсем зеленому юнцу. Ему следует читать темы форума, также следует для начала приобрести хотя бы элементарные навыки геймхакинга, которых у него точно нет, если он даже не знает о том, что такое DMA (ДМА). Тема закрыта. При открытии еще одной подобной темы уровень предупреждений топикстартера будет повышен. О том, чем грозит повышение уровня предупреждений, можно прочитать в правилах нашего форума. Да, и еще, хоть это не запрещено правилами форума (думаю внести данную поправку), но вопиющая безграмотность и отсутствие каких-либо знаков препинания сильно затрудняют чтение и осмысление постов. Поэтому, boss, потрудитесь хотя бы включить проверку орфографии в своем браузере.
  23. Хе, перешел по ссылке aliast'а - сайт наш подорожал на 244 бакса )))) Растем, парни! )) Поздравляю всех, хотя и поздновато )
  24. Совесть бы замучила - не продавал бы, а просто закрыл. А так - парень понял, что спалился, и хочет быстрее сбагрить сайт с рук, чтобы проблем избежать, да еще и навариться на этой пытается.
×
×
  • Создать...

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

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