-
Постов
51 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные d0c
-
-
Проверил скрипт, все то же самое, находится адрес(esi+0C) и он = 10000.
-
Если сделать как ты, то будет краш игры.
Ну я так уже делал, и никакого краша небыло, просто находился неправильный адрес.
-
Хорошо, как попробую отпишусь. А разница то какая?Попробуй так.
Местами просто поменял, от этого что-то зависит?
NullAlex: цитаты укорачивать принято, для удобочитаемости.
-
Такс, возникла точно такая же проблема в Assassins Creed Revelations
Опять же сделал аналогичный скрипт
[ENABLE]globalalloc(pMoneysell,8)alloc(newmem,256)aobscan(moneyaob,89 4E 0C 5E 5D C2 ?? ?? CC CC CC CC CC CC CC CC CC 55 8B EC 8B 41 0C) //01F3D9FFlabel(exit1)label(_money)registersymbol(_money) newmem:mov [pMoneysell],esimov [esi+0C],ecxpop esipop ebpjmp exit1 moneyaob:_money:jmp newmemexit1: pMoneysell:dd 0 [DISABLE]_money:mov [esi+0C],ecxpop esipop ebp dealloc(newmem)dealloc(pMoneysell)unregistersymbol(_money)
Например значение денег = 1200, а pMoneysell + 0C = 10000.
Вроде записываю в pMoneysell ту переменную.
Например если записать :
mov [esi+0C],#5000
То значение денег станет 5000. Подскажите как быть
Вот снимок отладчика если нужно может там где-нибудь защита:
-
Спасибо большое! Заработало! Получается дело всего лишь в globalalloc ? А чем она вообще отличается от alloc ?Если ты хочешь читать нужное значение, то попробуй так и добавь указатель с адресом pMoney и оффсет 5578.
-
У меня есть 2 подобных, пробовал по разному:
1)
2)
NullAlex: настоятельно рекомендую прочитать про тег кода, в соответствующем FAQ
[ENABLE]aobscan(addmoneyaob, 01 88 ?? ?? ?? ?? 8B 88 ?? ?? ?? ?? 83 EC 0C 81 F9) //0041E6E0label(_addmoney)registersymbol(_addmoney)label(addmoney_addr)label(return1)alloc(newmem,2048)registersymbol(newmem)aobscan(movmoneyaob, 89 B7 ?? ?? ?? ?? B0 01 5E C3 8B 8F ?? ?? ?? ??) //0041E846label(_movmoney)registersymbol(_movmoney)label(movmoney_addr)label(return2) newmem:dd 0 0 addmoney_addr:mov [newmem+8],eaxadd [eax+00005578],ecxjmp return1 movmoney_addr:mov [newmem+11],esimov [edi+00005578],esijmp return2 addmoneyaob:_addmoney:jmp addmoney_addrnopreturn1: movmoneyaob:_movmoney:jmp movmoney_addrnopreturn2: [DISABLE]_addmoney:add [eax+00005578],ecx _movmoney:mov [edi+00005578],esi dealloc(newmem)dealloc(newmem)unregistersymbol(_addmoney)unregistersymbol(_movmoney)unregistersymbol(newmem)
[ENABLE]aobscan(addmoneyaob, 01 88 ?? ?? ?? ?? 8B 88 ?? ?? ?? ?? 83 EC 0C 81 F9) //0041E6E0label(_addmoney)registersymbol(_addmoney)label(return1)alloc(newmem,1024)registersymbol(newmem)aobscan(movmoneyaob, 89 B7 ?? ?? ?? ?? B0 01 5E C3 8B 8F ?? ?? ?? ??) //0041E846label(_movmoney)registersymbol(_movmoney)label(return2) addmoneyaob:_addmoney:jmp newmemnopreturn1: newmem:mov [newmem],ecxadd [eax+00005578],ecxjmp return1 movmoneyaob:_movmoney:jmp newmem+11nopreturn2: newmem+11:mov [newmem+11],edimov [edi+00005578],esijmp return2 [DISABLE]_addmoney:add [eax+00005578],ecx _movmoney:mov [edi+00005578],esi dealloc(newmem)unregistersymbol(_addmoney)unregistersymbol(_movmoney)unregistersymbol(newmem)
-
В общем, есть игра(Plants vs Zombies) и я хочу найти указатели на солнышки, но не все так просто если просто искать многоуровневый указатель типа game.exe+F+256+B8 то можно сказать это сделать невозможно их там УЙМА! Делал я как-то очень давно скрипт для игры Starbound и находил там указатели через этот самый AA скрипт, но с этой игрой что-то не катит хотя схема везде одинаковая.
Вот кусочек кода для Starbound:
alloc(newmem,1024)registersymbol(newmem)aobscan(money, 8B 01 89 E5 8B 51 04 5D C3 8D B6 00 00 00 00 55 89 E5 8B 45 08 8B 55 0C 5D 01 01 11 51 04 C2 08)label(_money)registersymbol(_money)label(money_addr)label(money_exit) newmem:dd 0 money_addr:mov [newmem],ecxmov eax,[ecx]mov ebp,espmov edx,[ecx+04]jmp money_exit money:_money:jmp money_addrdb 90 90money_exit:
После этого добавляем адрес в CE и вводим newmem со смещением 0, вот мы и нашли указатель, он работает после включения скрипта, как я понял он перемещает значение ecx в переменную newmem.Но с PvZ такое не прокатило просто не видит никакой адрес, хотя сделал все аналогично.
Подскажите в чем проблема, заранее спасибо!
-
Ладно жди, скачаю игру и сделаю скрипт.
В общем возникли проблемы при присоединении бряка, как только ставлю бряк игра тут же вылетает.
Короче, у меня ваще Cheat Engine полетел... Перестал работать, ну кое-что успел нарыть:
[ENABLE]
alloc(newmem,1024)
registersymbol(newmem)
label(exit)
newmem:
fstp dword ptr [edi+1C]
mov [newmem+12],edi
mov ecx,[esp+28]
jmp exit
00ED8CC5:
jmp newmem
nop
nop
exit:
[DISABLE]
dealloc(newmem)
00ED8CC5:
fstp dword ptr [edi+1C]
mov ecx,[esp+28]
попробуй включи скрипт мб работает. если включится, нажми добавить адрес тыкни галочку указатель потом в нижем поле введи newmem+12 а в вверхем введи 1С, ну и сделай значение float естественно и посмотри может быть работает указатель.
Сорри больше ничем не смогу помочь игра не хочет работать вообще, да и CE еще.
-
Чекбоксы принадлежат элементу tcheat и просто показывают, что чит включён. Активируются по нажатию горячей клавиши, а не курсором мыши. Например, первая строка чита включится при нажатии Home.
Понятно, а как это сделано тут? http://forum.gamehacklab.ru/topic/2467-assassin%E2%80%99s-creed-liberation-hd/
Через чекбоксы в этом трейнере можно включать и выключать функции, а не только отображать их состояние.
-
Вот собственно видео:
Вопрос такой - почему чекбоксы серые? и не работают т.е. нажимаешь на них а им по барабану. Как это исправить?
-
Попробуй просто найти указатель... Так как значения float это будет сделать еще легче
Отпишись если надо, могу скачать игру и помочь.
-
И еще, просто помести адрес отвечающий за подгрузку адреса, помести его в адрес и сделай указатель со смещениями...
-
Вот я не понимаю людей! Есть же много хороших вечных файлообменников, например - Яндекс.Диск или Гугл Диск, а не всякие rghost и ifolder
-
А та не работает? Удалю её.
-
С помощью команды autoAssembly кажется
-
Всё, сделал скрипт - вот ссылка кому надо:
http://u.to/byfcBg (это тестовая ссылка, пробуйте скачать с неё, и отписывайтесь если получилось, или не получилось)
https://drive.google.com/file/d/0BwmrYoFuRua8WU9HZW80aGhlOXM/edit?usp=sharing - а эта ссылка для скачивания - если верхняя не работает
-
Пасиба за подсказки, но быстро решить эту тривиальную задачу мне будет проблематично. Это первый скрипт который хочу написать. Если не затруднит, хоть какой-нить маленький примерчик, либо ссылку на пример. Просьба конечно нубская, но пока я проштудирую мануалы задача может потерять актуальность... ))
Я надеялся что есть оператор который позволяет просто заменить одни значения байт на нужные без разбивки на адреса, но ситуация, как понимаю, усложняется... (
В чем проблема то?
1 решение:
Просто сделай АА(авто ассемблер) скрипт например:
[ENABLE]
aobscan(namesignature, XX XX XX XX XX XX XX XX XX XX XX XX XX) /*сюда естественно вставляешь сигнатуру которую тебе надо НАЙТИ и ЗАМЕНИТЬ*/
label(_namesignature)
registersymbol(_namesignature)
namesignature:
_namesignature:
db XX XX XX XX. //Здесь пиши байты которыми будешь ЗАМЕНЯТЬ
[DISABLE]
_namesignature:
db XX XX XX XX. //Здесь стандартные байты
unregistersymbol(_namesignature)
2 решение:
Если же тебе нужно именно на Lua, то просто сделай ассемблерную вставку в Lua код.
-
А сможете ли вы выложить туториал еще по одной игре? Там у меня тоже проблема с ID, там почти такая же инструкция - fsubr dword ptr [esi] но я не могу найти статическое значение со смещением, все время меняются все адреса которые были в анализаторе структур..
Игра Starbound Beta
Может кто-то сталкивался с этой игрой.
Заранее спасибо!
просмотрел работу плагина, меня впечатлило даже очень) на счет aobscan как я понял ему всегда надо просто передавать последовательность байт нескольких соседних инструкций?
Можно и больше, чем длиннее тем уникальней.
Я обычно делаю аобскан с 20 байтами(примерно чуть больше чуть меньше, так быстрее ищет сигнатуру)
-
Такс... Опять столкнулся с игрой Где нужно делать фильтр...
Просто не могу найти ID статический игрока, они все все время меняются, скачал в инете таблицу от justa_dude посмотрел его скрипты, вообще не понятно что и ге он взял, но работает!
P.S. Игра Starbound Beta
Игра очень запутанная адреса там все очень странные, а указатели вообще найти невозможно(100%)
Вроде нашел функцию за уменьшение здоровья(fsubr) поменял на fadd и все работает все друг другу прибавляют жизнь, но вот фильтр сделать не могу адреса всеее времятак меняются, смещений там нет(там просто fsubr dword ptr [esi] так что в структурах просто пишу адрес esi)
Может кто что подскажет?
-
Да нет, вообще планирую на С++ писать трейнеры но что-то с WinApi не ладится
-
Что-нибудь другое поломать найдётся)
Это вопрос?
В фасм
Ну всмысле какой там синтаксис будет? Такой же? Или нет?
Собачкам и здоровякам походу прописывается много здоровья
Если так то на них сделать фильтр и что-то типа One Hit Kill только чтоб просто жизнь стандартная была
-
Офигеееть *_* не то что СЕ по 3,5 мб делает трейнеры(((
А как туда скрипты то интегрировать?
-
А примерный размер сгенерированных трейнеров на фасме скоко весить будет?
-
Понятно))) А разве на фасме лучше писать чем на СЕ ? Я понимаю там Delphi, C++, VB, и еще программы на фасме скорее всего работать не будут начиная с windows 7 x64 так как это 16-ти разрядные программы кажется...
И еще а в фасме есть графический интерфейс?
Помогите найти многоуровневый указатель через Auto Assembler
in Вопросы по созданию читов в одиночных играх
Опубликовано
Ок, спасибо попробую сделать фильтр.