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

Xipho

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

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

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

    42

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

  1. Resident Evil 5 как раз защищен XLive. Для определенных версий этой библиотеки есть скриты для СЕ, отключающие проверку целостности кода и наличия отладчика. Если же под твою версию такового нет - надо искать эту процедуру самому, что новичку довольно проблематично. Если же вылетает при отладке в незащищенных играх - надо смотреть в настройках СЕ, а также можно попробовать принудительно запускать 32-битную версию (свой ярлык у нее). С ней, как правило, проблем не возникает практически никаких. К вопросу с о том, как узнать - если в списке модулей процесса находится xlive.dll - следовательно, это защита XLive. Если в списке процессов (можно посмотреть через диспетчер задач) есть файлы punkbustera.exe или похожие по названию - это, очедвино, защита PunkBuster. По остальным типам защит расписывать не буду, ибо все "симптомы", присущие той или иной защите, можно спокойно найти в гугле.
  2. Присутствуют ли в игре службы типа Punkbuster, XLive или еще что-то в этом духе?
  3. а никто не удосужился обратить внимание на то, что это цикл? К тому же, если при простой заморозке значение "скачет" со старого на замороженное значение - это говорит о том, что адрес таки неверный. Впрочем, предположим, что адрес таки верный. Тогда рекомендую внимательно почитать в гугле про repe movsd.
  4. Да. Видишь, когда тебе не подносишь на блюдечке код, а лишь подсказываешь, в каком направлении примерно нужно двигаться, у тебя начинает получаться, потому что ты читаешь, и начинаешь осознавать, что именно ты делаешь.
  5. Если тебе нужно сканировать область выделенной памяти, а не принадлежащей модулю, надо расширять сканер, используя VirtualQuery (если из dll) или VirtualQueryEx (если из внешнего приложения).
  6. Третий пункт забыл. Указанным сочетанием клавиш вызывается окно автоассемблера, куда вставляется скрипт, и в этом окне в меню File и есть указанная опция.
  7. Ну, смотри, для начала, тебе нужно составить алгоритм. В данном случае, приблизительный алгоритм примерно такой: 1. Обойти сканером всю память процесса, Каждое совпадение записать в вектор (динамический массив). 2. Обойти массив полученных адресов, добавляя к каждому нужное смещение (+20 в твоем случае) 3. В каждую полученную ячейку записать нужное значение. 4. Повторять третий пункт по таймеру (если нужна непрерывная запись). Собственно, под эти пункты тебе и нужно модифицировать свой код.
  8. VirtualProtect ((PBYTE)"\0x6C \0x5F \0x61 \0x74 \0x74 \0x00 \0x00 \0x01" , 4 , PAGE_EXECUTE_READWRITE , &old_protect); memcpy ((PBYTE) "\0x6C \0x5F \0x61 \0x74 \0x74 \0x00 \0x00 \0x01" ,PBYTE("\0x6C \0x5F \0x60 \0x74 \0x74 \0x00 \0x00 \0x01"), 4 );//72 65 63 6F 69 6C 5F 61 74 74 00 00 01 31 F8 16 VirtualProtect ((PBYTE)"\0x6C \0x5F \0x61 \0x74 \0x74 \0x00 \0x00 \0x01", 4 , old_protect , &old_protect); Давай разберем твои ошибки. 1. VirtualProtect в качестве параметров принимает (по порядку слева направо) - адрес, для которого задается новая "защита"; количество байтов памяти, на которые будет распостраняться защита; идентификатор новой защиты (константа); адрес переменной, в которую попадет текущая защита (нужно для последующего восстановления исходной защиты). Что же сделал ты - передал некий массив байт этой функции. Массивы передаются по указателю, вот функция услужливо и попыталась поставить защиту именно на этот массив, а не на нужный адрес. Вывод - ты абсолютно не понимаешь, какой именно адрес в эту функцию подставлять, и не имеешь представления, откуда вообще нужно брать этот адрес. В этой же функции ты далее задаешь 4 байта на защиту, тогда как, если даже брать твой переданный массив, он занимает 8 байт. Вот еще одна ошибка. 2. memcpy также принимает в качестве приемника и источника адреса ячеек памяти, которые нужно скопировать. У тебя опять же передается массив. Снова та же ошибка. В этой же функции ты снова бездумно задаешь для копирования 4 байта, тогда как копировать нужно ВЕСЬ массив. Вывод: ты абсолютно не разбираешься в программировании в целом, и в использовании WinAPI в частности. Если тебе все это просто объяснить - ты ничего не поймешь, ибо понимание начинается с азов и далее к усложнению подаваемого материала. У тебя же нет знания азов, а ты сразу замахиваешься на сложный материал. Потому тебе и рекомендовали сначала почитать теорию как следует, и потом уже переходить к программированию. И в программировании тебе следует тоже идти от простого к сложному. Скачивай из сети самоучители по С++ и штудируй, штудируй, штудируй. Когда ты выучишь основы, можешь переходить к изучению использования WinAPI (таких самоучителей тоже хватает в сети). Когда ты выучишь и это, рекомендую тебе снова зайти в эту тему и посмотреть на свои модификации кода. Уверен, тебе самому станет дико смешно. А если же ты не хочешь учиться, а просто хочешь, чтобы за тебя написали готовый код - знай, этого не будет. Мы не пишем код за юзеров, мы помогаем им обучиться, и поясняем какие-то непонятные моменты, но учить с азов тебя также никто не станет. Каждый на нашем форуме постигал азы самостоятельно. ЗЫ. Извиняюсь за некоторую резкость высказываний, у меня семейные проблемы.
  9. Ты заменил названия функций. А винапи функции так и не убрал. Для сведения: WinAPI функции - это функции, которые предоставляет винда, а не те, которые программист пишет самостоятельно. Переименование самостоятельно написанных функций не избавит от винапи. В приведенном тобой коде винапи функцией является ReadProcessMemory, которая, если почитать мсдн, читает память стороннего процесса. Если же ты делаешь длл-ку, то тебе сразу доступна память целевого процесса, поскольку именно туда ты длл-ку и внедряешь (инжектишь). Следовательно, от ReadProcessMemory можно отказаться, и сразу подставлять нужные адреса. Естественно, функции для этого придется несколько видоизменить. Судя по твоим действиям, уж извини, твой уровень знаний не соответствует тому, что ты хочешь сделать. Следовательно - повышай уровень знаний, чтобы понимать код, а не просто рандомно его менять в надежде на то, что он вдруг заработает.
  10. а что мешает заменить функции винапи стандартными функциями Си?
  11. Если ты сканирование вынесешь в отдельный поток - оно и будет работать быстро.
  12. Если не срабатывает заморозка - значит, найден неправильный адрес. Надо пробовать другие типы поиска.
  13. Мерцает, скорее всего, потому, что, судя по всему, используются функции GDI для вывода FPS. А игра использует DirectX. Отсюда и мерцание.
  14. Да ну блин, сколько можно? В будущем подобные темы буду закрывать без предупреждения. Либо предоставляете МАКСИМУМ информации (как то - название и версия игры, и полностью код, в котором возникает ошибка, а также, при каких обстоятельствах), либо не получите НИКАКОЙ помощи!
  15. Это потому, что предоставлено слишком мало информации. Что являет собой искомый адрес? Определенное значение в игре? Тогда проще найти инструкцию, которая манипулирует этим адресом, и дальше по классической схеме. Если же сама инструкция "переезжает" на новый адрес каждые несколько секунд (в чем я очень сильно сомневаюсь) - тогда создавать таймер и по этому таймеру запускать поиск инструкции по сигнатуре. Первый способ можно найти на нашем форуме и не в одном варианте. Второй способ тоже представлен на форуме в виде процедуры поиска сигнатур (есть даже видео-уроки). Ну а запилить вызов этой процедуры по таймеру - это под силу любому начинающему геймхакеру.
  16. Да, название ресурса придумал именно он.
  17. Ага, помню я этот сборник ) И перевод статей тоже помню )
  18. Ну, если автор хочет коммерциализировать использование своего трейнера - почему бы не сделать такую привязку? По крайней мере, это на 50% гарантирует, что трейнер не будет распостраняться по сети бесплатно. Хотя, разумеется, и такую защиту можно сломать )
  19. Для начала очисти код от лишних бб-кодов (скорее всего, они попали сюда и в твой код из-за копипасты).
  20. Для России сейчас "летнее/зимнее" время уже не актуально. Кстати, у меня тоже стоит +06, и отставания во времени нет.
  21. Любой программист, и, тем более, геймхакер, должен знать английский.
  22. Да, я как-то не подумал о том, что задача может быть как раз в изучении стандартных компонентов.
  23. Даже пара файлов от меня сохранилась ))))) Смешно так сейчас на них смотреть )))
  24. Xipho

    Отпуск

    На всякий - удачного отпуска ) И привет твоей тян )))
  25. http://web.archive.org/web/20080120094443/http://www.team-x.ru/news/news.php - период, когда я переходил от старого ника к своему текущему ) Кто помнит - старый мой ник был lamer[stand] )))))
×
×
  • Создать...

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

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