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

Рекомендуемые сообщения

Здравствуйте Геймхаклаберы. Постараюсь описать проблему по подробнее.

 

И так решил состряпать телепорт для Prototype. Нашел координату Z.Поставил бряк на доступ. Получилось вот что.

 

ebb29b042eaf.png

 

Как видим нет инструкции которая работает только с моей координатой. Значит придется писать фильтр.

 

Решил потестить только с координатой Z. Нашел смещение которое отличает мой адрес Z от адресов всех остальных. Попробовал написать так:

[ENABLE]alloc(newmem,2048)label(orig)label(jemper)label(returnhere)newmem:cmp word ptr [eax+5C],088A  //смещение которое действительно только для моего адресаje jumperjmp originalcodejumper:mov [eax+34],(float)100fld dword ptr [ecx+38]jmp returnhereoriginalcode:fstp dword ptr [eax+34]fld dword ptr [ecx+38]jmp returnhere"prototypeenginef.dll"+600F5:jmp newmemnopreturnhere:  [DISABLE]//code from here till the end of the code will be used to disable the cheat"prototypeenginef.dll"+600F5:fstp dword ptr [eax+34]fld dword ptr [ecx+38]dealloc(newmem)

Так я решил проверить работает ли фильтр правильно. Все работает, фильтр постоянно записывает значение 100 в любой части города и только мне. Далее сама проблема написал я телепорт для координаты Z только таким образом.

[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048)label(returnhere)label(originalcode)label(jumper)label(coordZ)label(_save)label(_load)label(_saveCoords)label(_loadCoords)registersymbol(_saveCoords)registersymbol(_loadCoords)newmem: //this is allocated memory, you have read,write,execute accesscmp word ptr [eax+5C],088Aje jumperjmp originalcodeoriginalcode:fstp dword ptr [eax+34]fld dword ptr [ecx+38]jmp returnherejumper:_save:cmp [_saveCoords],1jne _loadpush ecxmov ecx,[eax+34]mov [coordZ],ecxpop ecxmov [_saveCoords],0jmp returnhere_load:cmp [_loadCoords],1jne originalcodepush ecxmov ecx,[coordZ]mov [eax+34],ecxpop ecxmov [_loadCoords],0jmp returnherecoordZ:dd 0_saveCoords:dd 0_loadCoords:dd 0"prototypeenginef.dll"+600F5:jmp newmemnopreturnhere:  [DISABLE]//code from here till the end of the code will be used to disable the cheat"prototypeenginef.dll"+600F5:fstp dword ptr [eax+34]fld dword ptr [ecx+38]dealloc(newmem)unregistersymbol(_saveCoords)unregistersymbol(_loadCoords)//Alt: db D9 58 34 D9 41 38

Добавил _saveCoord и _loadCoord поставил хоткей на присвоении 1.

 

  Проблема в том что координата Z не хочет загружаться. То есть я забрался на дом сохранил Z потом спрыгнул вниз и загрузил Z. Но ничего не происходит. Но есть одно но. Если постоянно тыкать хоткей на load координате то иногда срабатывает и телепортирует на ту высоту на которой я сохранился. Если менять значения вручную то проблем нет. И как я написал выше фильтр рабочий проверял напрямую....

 

Так что это может быть? Мб написал криво или есть какие нибудь иные тонкости? Прошу помощи.

Изменено пользователем Xipho
Нужно убирать код в специальный тэг
Ссылка на комментарий
Поделиться на другие сайты

Попробуй этот же скрипт, только в версии CE 6.3. Многие жаловались, что в 6.4 присутствует много неприятных багов. Возможно, это тоже какой-то баг, ибо я посмотрел скрипт, и, на первый взгляд, ошибок нет.

Ссылка на комментарий
Поделиться на другие сайты

Попробуй этот же скрипт, только в версии CE 6.3. Многие жаловались, что в 6.4 присутствует много неприятных багов. Возможно, это тоже какой-то баг, ибо я посмотрел скрипт, и, на первый взгляд, ошибок нет.

Пробывал все также. Когда жмешь загрузку координат то его подтряхивает, то есть как я понял он хочет телепортнутся но его что-то возвращает на место но иногда срабатывает и он телепортируется. Что странно... если прописывать вручную то телепортируется без проблем.

Ссылка на комментарий
Поделиться на другие сайты

Здравствуй. У меня была похожая проблема с darksiders. Сейчас посмотреть не могу так-как с телефона. Тоже было что иногда срабатывало, а иногда нет и проблема была не в фильтре. Если не ошибаюсь, то я брал код ниже и все заработало на отлично. Попробуй взять инструкцию ниже той, которая идет сразу же после работы с координатой z. Не гарантирую что сработает, но попробуй.

Ссылка на комментарий
Поделиться на другие сайты

Здравствуй. У меня была похожая проблема с darksiders. Сейчас посмотреть не могу так-как с телефона. Тоже было что иногда срабатывало, а иногда нет и проблема была не в фильтре. Если не ошибаюсь, то я брал код ниже и все заработало на отлично. Попробуй взять инструкцию ниже той, которая идет сразу же после работы с координатой z. Не гарантирую что сработает, но попробуй.

Да там проблема в самой игре. Она посекторно что ли разбита, то есть сохранил в блокноте координаты места отбежал подальше и вписал записаные координаты  то все равно откидывает к исходному месту... Или не телепортирует вообще.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

 

 

  Проблема в том что координата Z не хочет загружаться. То есть я забрался на дом сохранил Z потом спрыгнул вниз и загрузил Z. Но ничего не происходит. Но есть одно но. Если постоянно тыкать хоткей на load координате то иногда срабатывает и телепортирует на ту высоту на которой я сохранился. Если менять значения вручную то проблем нет. И как я написал выше фильтр рабочий проверял напрямую....

 

Так что это может быть? Мб написал криво или есть какие нибудь иные тонкости? Прошу помощи.

Если тема ещё актуальна, то постараюсь помочь, так как только недавно сам разбирался с "Телепортом" (см. обсуждение здесь и в конце ссылка на конечный скрипт.)

Если ты абсолютно уверен в фильтре и выбранная инструкция работает только с твоей координатой Z, то остаётся только, что скрипт написан чуть-чуть неправильно, попробуй вот так:

 

Сильно править код не стал, хотя можно записать более компактно, если интересно посмотри у меня в конечном скрипте.

[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048)label(returnhere)//label(originalcode)  // удаляем лишнюю меткуlabel(jumper)  // можно обойтись и без этой меткиlabel(coordZ)label(_save)label(_load)label(_saveCoords)label(_loadCoords)registersymbol(_saveCoords)registersymbol(_loadCoords)newmem: //this is allocated memory, you have read,write,execute accessfstp dword ptr [eax+34]   // инструкции оригинального кода нужно поставить сюдаfld dword ptr [ecx+38]cmp word ptr [eax+5C],088Aje jumper//jmp originalcode        // заменяем переход на jmp returnhere//originalcode:           // удаляем лишнюю метку//fstp dword ptr [eax+34] // переносим эти две инструкции оригинального кода наверх//fld dword ptr [ecx+38]jmp returnherejumper:_save:cmp [_saveCoords],1jne _loadpush ecxmov ecx,[eax+34]mov [coordZ],ecxpop ecxmov [_saveCoords],0jmp returnhere_load:cmp [_loadCoords],1jne originalcodepush ecxmov ecx,[coordZ]mov [eax+34],ecxpop ecxmov [_loadCoords],0jmp returnherecoordZ:dd 0_saveCoords:dd 0_loadCoords: // можно обойтись только одним флагомdd 0"prototypeenginef.dll"+600F5:jmp newmemnopreturnhere:  [DISABLE]//code from here till the end of the code will be used to disable the cheat"prototypeenginef.dll"+600F5:fstp dword ptr [eax+34]fld dword ptr [ecx+38]unregistersymbol(_saveCoords)unregistersymbol(_loadCoords)dealloc(newmem)//Alt: db D9 58 34 D9 41 38 
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

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

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