ZOCKIR Опубликовано 4 апреля, 2011 Поделиться Опубликовано 4 апреля, 2011 Нужна помощь бесмертия игра Titan Quest v1.01 только гГерою.при изменение адреса все бесмертны. тут точка остонова (кнопка F5) посмотрите что творится при уменьшение(регистр) Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 4 апреля, 2011 Поделиться Опубликовано 4 апреля, 2011 По этим данным ответ дать нельзя.Тебе надо как-то отличать своего героя от чужих сравнивая их структуры, связи по указателям между структурами, по инструкциям которые работают с теми или иными адресами или указателями. Почитай статьи на форуме. Посмотри скрипты с фильтрами у нас на форуме и на форуме Cheat Engine у автора Recifense. Чаще всего фильтры могут быть при сравнении структур. Или сравнении указателей, где один из них в инструкции типа А. Почитай про типы инструкции на форуме....Также стоит помнить о случаях когда фильтр ставить не требуется если уже есть указатель на структуру. Надо просто сделать так, чтобы код по этому указателю плюс смещение писал циклически постоянное некоторое значение.Обрати внимание на функцию определения адресов на инструкции. Она может помочь тебе определить проскакивающие адреса на инструкции. Таким образом поможет определить и структуры врагов.Также обрати внимание. Что могут быть инструкции которые работают только с адресами из структур врагов и только с адресами из структуры твоего героя. Или же аналогично со связанными структурами из цепочек указателей...Ну и в крайнем случае если ничего не помогло, то используй отладку для составления цепочек указателей. Поищи статью про составлении цепочки указателей у нас на форуме. Также обрати внимание, что цепочки указателей можно составлять используя сканер памяти и отладчик. А также просто сканер памяти, когда элементы цепочек указателей изменяются. Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 5 апреля, 2011 Автор Поделиться Опубликовано 5 апреля, 2011 Скрипт на золото работает получаем нужное количество но при деактивации скрипта игра вылетатет!Может кто поправить?[ENABLE]//code from here to '[DISABLE]' will be used to enable the cheatalloc(newmem,2048) //2kb should be enoughlabel(returnhere)013D9485:jmp newmemnopreturnhere:newmem:mov eax,05F5E0FFmov [ecx],eaxret 0004jmp returnhere[DISABLE]013D9485:dealloc(newmem)mov [ecx],eaxret 0004//code from here till the end of the code will be used to disable the chea Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 5 апреля, 2011 Поделиться Опубликовано 5 апреля, 2011 Поставь игру на паузу или сверни её.Посмотри в дизассемблер как выглядят инструкции перед и после деактивации. Ссылка на комментарий Поделиться на другие сайты Поделиться
Kvazimado Опубликовано 6 апреля, 2011 Поделиться Опубликовано 6 апреля, 2011 2ZOCKIR, я увы, пока не понимаю ничего в скриптах, но насчет крахов я читал на сим форуме примерно это))строку dealloc(newmem) надо писать после восстановления оригинальной инструкции, иначе может случиться так, что память кейва будет затерта, а оригинальная инструкция не восстановлена. В таком случае ты гарантированно получишь вылет из игры. (с) XiphoТак может послушать и поменять строчки местами?)) Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 6 апреля, 2011 Автор Поделиться Опубликовано 6 апреля, 2011 как Xipho говорил я делал у макса пейна там изменение не было вылетов не обнаружено Kvazimado.Ша сделаю скрин память игры что твориться до и после изменение(MasterGH.) Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 6 апреля, 2011 Автор Поделиться Опубликовано 6 апреля, 2011 Скрин CheatEngine Отладчик:До После включение скрипта: Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 6 апреля, 2011 Поделиться Опубликовано 6 апреля, 2011 У тебя лишний ноп был и он всё портил.Думаю так должно работать без ошибок:[ENABLE]alloc(newmem,2048)label(returnhere)newmem: mov eax,05F5E0FF mov [ecx],eax ret 0004 jmp returnhere013D9485: jmp newmemreturnhere:[DISABLE]013D9485: mov [ecx],eax ret 0004dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
ZOCKIR Опубликовано 30 мая, 2011 Автор Поделиться Опубликовано 30 мая, 2011 У тебя лишний ноп был и он всё портил.Думаю так должно работать без ошибок:[ENABLE]alloc(newmem,2048)label(returnhere)newmem: mov eax,05F5E0FF mov [ecx],eax ret 0004 jmp returnhere013D9485: jmp newmemreturnhere:[DISABLE]013D9485: mov [ecx],eax ret 0004dealloc(newmem)Работает при покупке или продаже получаем нужную сумму[ENABLE]alloc(newmem,2048)label(returnhere)label(originalcode)label(exit)newmem: mov eax,05F5E0FForiginalcode:mov [ecx],eaxret 0004exit:jmp returnhere"Game.dll"+1949A:jmp newmemreturnhere:[DISABLE]"Game.dll"+1949A:mov [ecx],eaxret 0004dealloc(newmem)//Alt: db 89 01 C2 04 00 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения