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

MasterGH

Ветераны
  • Постов

    2 999
  • Зарегистрирован

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

    129

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

  1. Приятно узнать что у тебя есть интерес к этой теме ) В настоящее время любой человек постоянно сталкивается с электронной информацией: интернет дома ("выдергивание" информация с сайтов и структуризация информации), интернет на телефоне, работа с файлами на локальных дисках и удалённых дисках, синхронизация данных на разных носителях, создания строк запроса и ответа для получения необходимых данных. Чаще всего может потребоваться создать простой ява-скрипт, консольное приложение или окно формы с кнопочками, которые что-то умели бы делать. Да даже просто ОСОЗНАТЬ (это большой шаг), что зная программирование, можно любым образом сформировать строку как тебе надо, любые математические и логические выражения... логические выражения и автоматизация практически любых действий с электронной информацией это вообще самое мощное что можно взять от языка программирования. Хотите чтобы окна на вашем рабочем столе отображались необычным образом, перемещались по-другому, хотите вообще свой менеджер окон в виде древовидной структуры вместо какой-то неудобной панели окон рядом с пуском, "листания" по alt-tab... это можно сделать. Хотите иметь программу базы данных по запускаемым ярлыкам на программы располагаемых по категориям (это не так сложно сделать в C# + так же применить технологию перетаскивания мышкой)... Хотите "забацать" граф как это сейчас называют "нечёткой логики" по поиску оптимального решения среди множества, это тоже не проблема в зависимости от сложности задачи.... и много много всего другого, что можно сделать с помощью языка программирования. Многое из упомянутого сделать не просто, на это надо упорство. Ну а что касается создания читов, то тут вообще без программирования никак. Процесс игры это прямо пласт данных и кода + взаимодействия с операционной системой. Тут без средств автоматизации каких-то действий будет туго.... Ну и создание чит-кодов + создание трейнеров + различные эффекты для трейнеров: музыка, визуальные эффекты... Всё упомянутое всё равно, что сказать процессору делай то-то и делай это и он будет делать "поедая" электрическую энергию от источника питания. Главная суть не в языке программирования, не в типах процессоров и операционных систем. Главная суть в возможности решения поставленной задачи эффективным способом.
  2. Проведена реструктуризация размещений подфорумов касающихся разделов Информация и Вопросы. Добавлен подфурумы для флеш игр: вопросов и размещении информации.
  3. ZOCKIR, если я замечу что ты специально задаёшь вопросы у которых есть очевидные ответы, то тебе будет замечание за флуд.
  4. Спасибо за комментарии (+1, у меня всё руки не дотягиваются на различные обзоры новых фишек).
  5. А как ты просматриваешь "все темы на наличие новых сообщений"? Используешь ли кэшируемые страницы при переходах назад и вперёд? Короче если есть желание напиши всё подробно как надо
  6. Для создания своей темы нет никаких ограничений. Если хочешь иметь возможность заливать файлы(трейнеры) на форум, то тебе нужно вести свою тему по трейнерам пока выкладывая на сторонние хостинги и как придёт время, попадёшь в группу разработчиков, и у тебя появится возможность выкладывать трейнеры на форум. Надеюсь понятно
  7. Паттерны действий, которые часто приходится выполнять при создании чит-кода эти действия можно автоматизировать в LUA. А что нельзя на LUA то можно на языке программирования под Windows. Здесь я просто опишу действия с которыми мне приходилось сталкиваться и делал я всё это кропотливо различными программными средствами в оновном OllyDbg или Cheat Engine (такими как окно расструктуризации, сканер памяти, установки бярков на регионы памяти в OllyDbg, фильтрация системных сообщений в OllyDbg кликов мыши и нажатий на клавиши и т.п.). LUA может во многом помочь в отладке, сканировании, сравнении и т.п. в различных ситуациях: в поисках указателей, в сравнении структур, в поисках фильтров, в поисках связей между структурами и указателями и т.п. Примеры. Допустим мы нашли адрес или несколько. Что может потребовать в работе с ними. 1. оповещение об изменении значения (например нам нужно убедится в том, что указатель меняться не будет), об уменьшении(например уменьшение индекса массива), об увеличении. 2. Оповещение о чтении адреса 3. Оповещение о записи в адрес 4. Оповещение о записи и чтении относительно адреса. Информация может логироваться. И тогда например можно узнать к какому указателю идёт обращение раньше, а к какому позже... Мы можем поставить брейкпоинт на целый регион памяти в котором находятся некоторые адреса и собирать лог-информацию о последовательности обращений к адресам региона. Сделав один такой лог и затем другой можно программно сравнить к каким адресам было обращение, какая была последовательность, какой код отличный или похожий вызывал те или иные адреса. Также можно поставить условия установки и снятия бряка на регион памяти, на структуры определённого размера (условия эти могут быть самыми разными). Например. Лог1. Герой1 стреляет. (Условие поставить бряк на регион, когда происходит чтение адреса X1 и снять когда происходит чтение адреса Y1) Лог2. Враг1 стрелятет. (Условие поставить бряк на регион, когда происходит чтение адреса X2 и снять когда происходит чтение адреса Y2) Лог3. Герой1 стреляет. (Условие поставить бряк на регион, когда происходит чтение адреса X и снять когда происходит чтение адреса Y) Лог4. Враг1 стреляет. (Условие поставить бряк на регион, когда происходит чтение адреса X2 и снять когда происходит чтение адреса Y2) Теперь нам попарно нужно отфильтровать логи и возможно мы найдём что-то интересное Возможно, будут обращения к каким-то адресам рядом стоящим, возможно значения этих адресов натолкнут на те или иные мысли ну и т.п. В данном случае это нам должно помочь в нахождении "зацепок" например при создании чит-кода на максимальный урон от выстрела, на фильтр того кто стреляет. Теоритически установка бряка на регион памяти и его "логирование" может избавить от кропотливого исследования вложенных указателей в каждой структуре, т.к. в логах будет больше подсказок К КАКИМ УКАЗАТЕЛЯМ В КАКОЙ ПОСЛЕДОВАТЕЛЬНОСТИ БЫЛО ОБРАЩЕНИЕ например при выстреле. ОЧЕНЬ И ОЧЕНЬ полезный подход. Пока я не знаю как в CE добиться установки бряка на регион или на структуру через LUA ( потом попытаюсь разобраться). Но в OllyDbg это можно сделать. Едем дальше. Допустим у нас есть указатели на структуры и нам надо с ними работать. Сравнение как минимум двух структур: - поиск отличных значений - поиск одинаковых значений - оповещение об изменении значения в структуре, если мы не уверены в том что оно постоянное Допустим нам надо работать в отладке, когда происходит события срабатывания брейкпоинта на одной или нескольких инструкциях. В этом случе может быть полезно сохранить на конкретной иснтрукции1 копию структуры1 игрока1. А затем сделать такую же копию на этой инструкции или на других. А затем эти копии сравнивать в том порядке в каком нужно. При этом можно сохранить множество структур в том числе и стека на одном событии прерывания, а также сохранить показания регистров. Ещё одним важным моментом может являться СРАВНЕНИЕ ЛОГИКИ работы кода по определённом маршруту адресов заданными разными параметрами ограничений. Например при сравнении логик теоритически можно очень быстро найти подсвеченные участки отличной логики. Например, вы поднимаете гранату и поднимаете другие боеприпасы и вы можете намного быстрее и удобнее найти участок кода где будут срабатывать разные прыжки. Можно автоматизировать следующие действия. - Проскакивает ли на дизассемблерной инструкции X, только одно значение или несколько (возможно при каких-то условиях). В любом случае отобразить это значение - Проскакивают ли на инструкциях и в регистрах одинаковые значения - Сравнение информации (структур по указателям) между предыдущим бряком и следующим. Я описал наиболее общие моменты получения и выдергивания "зацепок" когда нужно сделать тот или иной чит-код.
  8. Сегодня появился новый подфорум "Реализы CE"
  9. 18 марта вышла 6 Альфа версия CE 6.1 (скачать) (5 Альфа вышла 8-го марта, в ней в основном фиксы с дизассемблером, не очень интересно) Dark Byte:
  10. Мои поздравления... крепкого здоровья и отдыха (Xipho, тебе придётся чистить тему или переносить сообщения в новую)
  11. Я написал ДаркБайту предложение добавления LUA-скриптов в таблицу CE (также как и автоассемблерных скрипты)... также чтобы можно было вешать горячие клавиши на скрипт LUA. Так что ждём реакции автора CE.
  12. Невнимательно прочитал. Вот работающий пример: Entry_X = getTableEntry("X") value = memrec_getValue(Entry_X ) value = value + 1 memrec_setValue(Entry_X , value)
  13. Самое простое решение написать скриптом автоассемблера и повесить на него хоткей. Можно сделать и с LUA... посмотри справку
  14. По скрипту который автор привел точно ничего не подскажешь (может быть он считает что мы должны скачать игру и разобраться ... ). Можно описать только некоторые рекомендации: 1) просмотреть как ассемблировались команды (CE может грешить на этом) 2) поставить бряк на доступ при вхождении в тело инъекции и пошагово выполнять каждую инструкцию при этом следить за обращением к адресам которых может не существовать 3) если проходы успешно выполняются, то может быть ситуация когда через ~1000 раз указатель укажет на не существующий или запрещённый адрес процесса; вручную выйти на такой момент не реально следовательно нужно писать скрипт с проверкой на существующие адреса или же на LUA написать логер проскакивания адресов при бряках; 4) ещё одна вероятная штука это сохранить и выгрузить регистр флагов: pushfd- popfd
  15. Чтобы узнать почему разрушается процесс игры нужно прогнать сркипт в отладке - отладчик подскажет где ошибка.
  16. В 4-ой версии альфа появилась одна особенность. Переменные в LUA скрипте можно использовать в скриптах автоассемблера используя префикс $. Когда выйдет реализ 6.1 я опишу эту особенность в справке по LUA Engine. Также новые тесты aobscan:
  17. Машина Игрок Управление игроком Управление машиной ------- Обработчик нажатий клавиш() { ... Если игрок не находится ни в каком транспорте, то управлять игроком Если игрок находится в транспорте, то управлять транспортом ... } Надо проследить в отладке каким образом управление (смещения координат) передается игроку или машине. Можно это сделать поставив бряк на координаты игрока и на координаты машины когда игрок сидит в машине и когда он не в машине... Теоретически так можно выйти на управление машиной и дальше определить как именно эта машина связана с игроком. Ну а раз эта машина связана с игроком, то сделать инъекцию, которая бы снимала всякие повреждения с машины в которой сидит главный герой.
  18. К сожалению на моём видео я написал в комментариях, что трейнер сделать просто и быстро. Но для этого (в моём случае) надо иметь уже готовый скрипт, а ведь надо ещё руку приложить чтобы его написать и это не все умеют делать. Так что трейнер сделать не всегда просто даже с Cheat Engine - всё зависит от случая, кода игры и поставленной цели.
  19. Обновления до Cheat Engine 6.1 Alpha 4 с историями версий: Поехали: 2) Cheat Engine 6.1 Alpha 2 (Thu Feb 24, 2011 6:38 pm) 3) Cheat Engine 6.1 Alpha 3 (Thu Feb 24, 2011 11:40 pm) Тестирование aubscan1 Тестирование 2 - - - NOT Found - - * NOT Found - - + Scan Error: No Readable Memory Found - * - NOT Found - + - NOT Found * * - Found + * - Found * + - NOT Found * - - Found * * * Found Fast Scan + Aligment = the result for any value is the same as for 4; Fast Scan + Last Digits = the result for any one digit value is the same as for 4; X W C 4) Cheat Engine 6.1 Alpha 4 (Wed Mar 02, 2011 12:01 am)
  20. Новости из закрытого раздела форума тестирования сырых верий CE. Для третьей альфа версии обновлены функции для LUA-поддержки. Одна из них касается сканирования сигнатур. --aobScan("aobstring", protectionflags OPTIONAL, alignmenttype OPTIONAL, alignmentparam HALFOPTIONAL): --protectionflags is a string. -- X=Executable W=Writable memory C=Copy On Write. Add a + to indicate that flag MUST be set and a - to indicate that that flag MUST NOT be set. (* sets it to don't care) -- Examples: -- +W-C = Writable memory exluding copy on write and doesn't care about the Executable flag -- +X-C-W = Find readonly executable memory -- +W = Finds all writable memory and don't care about copy on write or execute -- "" = Find everything (is the same as "*X*C*W" ) -- -- --alignmenttype is an integer: -- 0=No alignment check -- 1=Address must be dividable by alignmentparam -- 2=Address must end with alignmentparam --alignmentparam is a string which either holds the value the addresses must be dividable by or what the last digits of the address must be Информация по другим функциям Кто умеет компилировать исходники из SVN, тот может протестировать. По поводу времени выхода CE 6.1 ещё неизвестно. Хотя по логам и исходниками видно, что было проделано не мало работы с момента выхода CE6.0.
  21. Видимо, это проблема с хостером imageshack из-за связки определённых IP определенных областей. Данная блокировка скорее политика принуждения в регистрации. Проблема изначально в другом. Xipho при переходе на новый двиг сайта случайно удалил картинки. Когда он восстанавливал статью то не заливал картинки на хостинг, а просто скопировал ссылки на картинки из статьи на форуме. Вот поэтому так и получилось что у Лива. У меня этим заниматься нет времени. Почему я и просил кого-то помочь по выкладыванию статей.
  22. Скрипт добавить в окно автоассемблера вызвав его из главного окна Cheat Engine нажатием "ctrl+alt+a". Затем в окне автоассемблера вызывать меню "добавление скрипта" в главное окно Cheat Engine. В последнем в области таблицы появится надпись с галочкой... Запустить процесс игры. В Cheat Engine подключиться к этому процессу. А теперь нажать на галочку. Подождать какое-то время пока будет инъекция. Ну и все.
  23. Учитывая что код инъеции уже выкладывали на форум, то привести его можно. А вот статью лучше не делать, т.к. получается ты будешь учить как рипать трейнеры. mfc32.dll нсколько я помню это модуль которым пользуются множество Windows приложений написанных на C++ с библиотекой MFC. Это не модуль игры По поводу отличий. mov edi,[eax+00000354] mov edi,[eax+00000364] Это можно узнать только в отладке.
  24. Без специальных тузл это значит без hex-редактора, а он тут есть ) В принципе такой метод обмана игр мало практикуется, но не стоит его недооценивать. Сейв-файлы это файлы с которыми происходит инициализация игровых персонажей и уровней с множеством параметров, а не только золота. И эти параметры можно менять, если знать как (можно много всякого наменять). Если пойти дальше - в отладку, поставив бряк на WnAPI чтения сейв файла, то теоретически можно выцепить функции спавнящих объекты и использовать их с подменой параметров уже после инициализации игры, т.е. во время игры...
×
×
  • Создать...

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

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