-
Постов
572 -
Зарегистрирован
-
Посещение
-
Победитель дней
34
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент aliast
-
В CE 6.1 я ставил условные бряки на конкретные значения в регистрах так. Сначала F5 ставит обычый бряк, потом правой кнопкой на бряке "Назначить\Изменить условия точки останова" и писал к примеру EBX==0x0E1244 (простое условие). Бряк срабатывал только когда в EBX проскакивало 0E1244. С обычными адресами не пробовал, но может быть можно задать условие вида "0xADDRESS==5"? Не уверен что синтаксис верен...
-
Acronis уже копал в этом направлении, да видимо недокопал(( http://swsoft.mipt.ru/wiki/almost/plan
-
Я тут чего подумал. А ведь винда умеет сбрасывать дамп оперативки в файл hibernate.sys (режим гибернации). Нельзя ли отсюда сделать универсальную сохранялку для всех игр? Только что проверил на GTA4: загрузил игру, сделал копию файла, вышел из игры, восстановил файл и процесс игры восстановился из этого файла! Думаю можно написать прогу, которая бы ребутила комп и загружала нужный сэйв вместе с виндой, как это происходит в той же VMWare, вот только в вмваре плохо эмулируется видеокарта, а тут бы такой проблемы не было) Сейчас мне для подмены файла пришлось винчестер подключать к ноуту, хотелось бы способ попроще и побыстрее)) Если получится так сделать, можно подумать как загружать сэйв без необходимости полного ребута всего компа...
-
Гляньте ещё 3d-analize. Этой прогой я запускал в окне игры, которые не брал d3dwindower например GTA Vice City. DX10 не проверял..
-
Вообще то скрипты я уже выдрал, вовсю изучаю сижу) Бесконечные патроны уже работают в 1С версии) с остальным разбираюсь, там фильтры хитрые и к 1С не подходят. Ради интереса глянул, но нашёл только строки движка CE - все команды ассемблера, используемые в автоассемблере и сообщения об ошибках. Есть там и секции [ENABLE] [DISABLE] но не как часть скрипта, а как компоненты движка.
-
Кое-что становится ясно. Функции _XLivePBufferGetDWORD@12 через стек передаётся 3 параметра: указатель на буфер с данными, смещение до нужного значения в буфере, которое нужно прочесть (оно всегда равно нулю и ложится в стек командой push 00, а 10h добавляется дальше в теле функции), и переменная, в которую запишется результат выполнения функции. Другими словами нужно поставить условный бряк в олли с условием bp _XLivePBufferGetDWORD@12, [ESP+04]==00B8CE90 где 00B8CE90 - наш буфер ([патроны]-10h), а [ESP+04] - первый аргумент функции в стеке, т.е. указатель. Прерываемся, идём вверх по коду и видим, что в ESP+04 ложится push ecx содержимое регистра ecx. Ещё выше видим что именно представляет собой ecx. А представлять он может либо MOV ECX,DWORD PTR DS:[ECX] (на первом улосвном бряке), либо MOV ECX,DWORD PTR DS:[ECX+60] (на одном из последующих условных бряков). Первая инструкция обрабатывает кучу адресов, зато вторая обрабатывает ТОЛЬКО указатель на буфер с патронами! Вот в неё то и делается инъекция на чит "бесконечные патроны". Точнее не в неё, а в следующую инструкцию, чтобы ecx принял нужное значение указателя на буфер. mov [ecx+10],#999 и готово - _XLivePBufferGetDWORD@12 останется только проглотить уже изменённые данные В исследованном мной тренере дополнительно проводятся проверки cmp ebx,0 и cmp edi,ffffffff неизвестно с какой целью, и без них всё работает. Подозреваю, что все прочие читы делаются схожими методами.
-
Проблему с олей решил, скрипты хексоровского тренера добыл. Вообще всё должно быть несложно, но пока туплю... Итак, функция _XLivePBufferGetDWORD@12 как её окрестил олли работает с неким буфером. В начале этого буфера всегда стоит magic dword DEADDEAD. Далее к этому адресу добавляется смещение 10 и получается исходный адрес патронов, здоровья и всего остального (под каждый параметр отводится свой отдельный буфер). Смещение помоему всегда 10, хотя есть доп. регистр, всегда равный нулю. т.е. получается нужно копать в сторону нахождения инструкции, работающей не с найденным адресом, а с найденным адресом - 10h. Ищем патроны отнимаем 10h от найденного адреса и.. нет, бряк ставить бесполезно, окажемся во всё той же злосчастной _XLivePBufferGetDWORD@12. Бряк нужно ставить на все вызовы этой функции и искать участок кода, в котором через стек передавался бы наш адрес. Причём должен найтись такой код, который передавал бы ТОЛЬКО указатель на адрес буфера с патронами (pBugger+10h = [адрес_патронов]) как то так. Но пока никак... есть у меня эта инструкция для англ. версии игры, но как её найти, если бы её не было ума не приложу))
-
Не нашёл там ничего. Тренера хексора этого сделаны на модифицированном движке Cheat Engine как написано в nfo-файле к тренеру, но на самом форуме CE этот тип ничего не выкладывает.
-
Ну ведь нет ни одного тренера для 1С версии, а хочется чтобы было. А все мои попытки самостоятельно взломать застопорились на xlive, который обрабатывает все данные одной-двумя функциями и как делать фильтр совершенно непонятно. В этом тренере все читы написаны в обход xlive непосредственно в модуле игры. Сейчас попытаюсь понять, как автор вышел на эти инструкции, может разберусь. На крайняк перенесу тренер с помощью aobscan
-
Изучаю хексоровский тренер для GTA4 (скачал его с GameCopyWorld.com тренер называется Grand Theft Auto 4: EflC v1.1.2.0 (Patch #2) +12 TRAINER) Тренер этот запакован PECompact. Читаю про этот пакер на кряклабе (http://exelab.ru/art/?action=view&id=325) и там пишется про исключение И вот когда я нажимаю SHIFT+F9 то почему-то иногда попадаю куда надо и нахожу точку входа OEP, но при очередном перезапуске программы (тренера в данном случае) он при нажатии SHIFT+F9 уже проскакивает нужный код и OEP уже не выячисляется. Эта фигня меня уже порядком достала. Не пойму, толи это тренер защищён (что врядли, защита бы срабатывала всегда, а это через раз, как повезёт), толи что. Грешил на 64-юитную винду, но нет, на 32 бита таже проблема. PS В итоге выяснилось, что пакер никак не мешает изучить работу тренера, весь патчинг процесса игры перехватывается и с пакером. Но вот опять же бряк на запись в процесс игры то срабатывает, то нет. Видимо из-за этих исключений(( Кстати говоря второе исключение называется "Exeption 0EEDFADE". Запись обоих исключений в игнор-лист олли (автропуск) проблемы не решает - бряк не срабатывает. Сталкивался кто с похожей проблемой? PPS ко мне закралось подозрение, что проблема в соборке олли от shadow которая с кучей плагинов. Сейчас прогнал тренер в голой олли почти без плагинов и с первой попытки бряк сработал! Сейчас потестирую...
-
А это что?) Один хоткей на активирующий скрипт, другие хоткеи точно также ставишь на флаги включения/отключения читов. Да собственно и в генераторе тренеров при добавлении скриптов\адресов выскакивает окошко с хоткеями. В чём проблема?
-
Я где-то читал про эти хеши в гта4 и вроде бы там же были приведены эти самые хеши, но в этом я уже не уверен... но инфа про хеши точно где-то проскакивала... погуглил, нашёл только хеши моделей, но это не то((
-
Всё так. Сначала авто детект версии и далее фейлд. И да, либа нужна именно для этого)) она тут самое сердце всех модов к сожалению. т.е. получается, что в английской версии обращение идёт по именам функций, а в русской имена затёрлись и появились хеши, поэтому и не работает? грустно...
-
Приаттачил. А какая разница чем аттачить, CE или загрузчиком игры (я использую xliveless)? DLL ведь аттачится без проблем, но код внутри неё или в lib-файле сообщает о неопределнной версии игры. SampleCustom.rar
-
В общем, только что собрал я SampleCustom.dll. При запуске игры создаётся лог, что собранная нами dll попыталась определить версию игры, но не смогла. Далее крах игры. Врядли эта проблема решаема без исходников либки. Можно ради интереса запустить разные поддерживаемые версии игры и проанализировать чем запуск двух версий отличается друг от друга. Но это будет сложно(
-
Ну да, видимо так. И вот в этой либке прописаны адреса всех вызываемых функций, а адреса вызовов функций меняются в зависимости от версии игры. В либке прописываются все адреса для всех версий, кроме русских. Как-то так видимо, точно не знаю как там всё устроено... Российские игроки вынуждены ставить английские патчи, а иначе не судьба поиграть с модами и читами((
-
Вот если бы всё вышеописанное прикрутить к русским локализациям EFLC было бы зашибись... дело в том, что скрипты выше для компиляции требуют модуль dll от этого самого Aru, а он не подцепляется к русским версиям игры. А исходников этой dll нет, есть только .h хедеры
-
Вот кому интересно можете опробовать мои наработки для 1С-версии 1.1.0.1 с отключенным LIVE. Тестировалось на TLAD, на TBOGT не проверял. Здоровье, деньги, звёзды розыска вроде нашёл. Адреса патронов сбиваются после смены оружия, правильной цепочки указателей до них не нашёл. Полноценных скриптов тоже сделать не смог, т.к. все игровые значения обрабатываются одной функцией LiveGetDWORD или LiveSetDWORD, фильтр пока не получилось написать. В качестве бонуса скрипт заморозки скоростей по осям XYZ (морозятся ГГ, все пешеходы и некоторые (не знаю почему не все) машины) и возможность летать. EFLC.rar
-
Для указанной в первом посте задачи лучше писать не скрипт, а найти указатель на Z и повесить на пробел уменьшение\увеличение (в зависимости от игры) на некоторую константу (правой кнопкой на адресе координаты - Set\Change hotkeys). Конечно лениво бывает искать цепочки указателей, но в скрипте это реализовать сложнее. По крайней мере я всегда использовал хоткей на адрес вместо скрипта. А тренеров с суперпрыжком я не делал(
-
Неправильна по всей видимости эта строчка внизу "CoJ2_x86.dll[quote][quote][quote][/quote][/quote][/quote]"+34825B:
-
В новом CE 6.1 редактировать можно только табличные тренеры с расширением CT и CTRAINER, EXE защищены от переоткрытия. В старых версиях CE 5.6 можно открыть EXE как обычную таблицу, но при этом скрипты всё равно не будут доступны для исправления. Но если тренер не защищен, все скрипты будут лежать в EXE в текстовом виде, правда их нужно умудриться найти каким-нибудь HEX-редактором)