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

d0c

Пользователи
  • Постов

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

  • Посещение

Сообщения, опубликованные d0c

  1. Если сделать как ты, то будет краш игры.

    Ну я так уже делал, и никакого краша небыло, просто находился неправильный адрес.

  2. Попробуй так.

    Хорошо, как попробую отпишусь. А разница то какая?

    Местами просто поменял, от этого что-то зависит? o_0

    NullAlex: цитаты укорачивать принято, для удобочитаемости.

  3. Такс, возникла точно такая же проблема в 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. Подскажите как быть  O-=

     

    Вот снимок отладчика если нужно может там где-нибудь защита:

    SnimokJPG_6023657_16475950.jpg

  4. Если ты хочешь читать нужное значение, то попробуй так и добавь указатель с адресом pMoney и оффсет 5578.

    Спасибо большое! Заработало! Получается дело всего лишь в globalalloc ? А чем она вообще отличается от alloc ?
  5. У меня есть 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)
  6. В общем, есть игра(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 такое не прокатило просто не видит никакой адрес, хотя сделал все аналогично.

     

    Подскажите в чем проблема, заранее спасибо!

  7. Ладно жди, скачаю игру и сделаю скрипт.

    В общем возникли проблемы при присоединении бряка, как только ставлю бряк игра тут же вылетает.

    Короче, у меня ваще 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 еще.

  8. Чекбоксы принадлежат элементу tcheat и просто показывают, что чит включён. Активируются по нажатию горячей клавиши, а не курсором мыши. Например, первая строка чита включится при нажатии Home.

    Понятно, а как это сделано тут? http://forum.gamehacklab.ru/topic/2467-assassin%E2%80%99s-creed-liberation-hd/

    Через чекбоксы в этом трейнере можно включать и выключать функции, а не только отображать их состояние.

  9. Всё, сделал скрипт - вот ссылка кому надо:

    http://u.to/byfcBg (это тестовая ссылка, пробуйте скачать с неё, и отписывайтесь если получилось, или не получилось)

    https://drive.google.com/file/d/0BwmrYoFuRua8WU9HZW80aGhlOXM/edit?usp=sharing - а эта ссылка для скачивания - если верхняя не работает

  10. Пасиба за подсказки, но быстро решить эту тривиальную задачу мне будет проблематично. Это первый скрипт который хочу написать. Если не затруднит, хоть какой-нить маленький примерчик, либо ссылку на пример. Просьба конечно нубская, но пока я проштудирую мануалы задача может потерять актуальность... ))

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

    В чем проблема то?

    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 код.

  11. А сможете ли вы выложить туториал еще по одной игре? Там у меня тоже проблема с ID, там почти такая же инструкция - fsubr dword ptr [esi] но я не могу найти статическое значение со смещением, все время меняются все адреса которые были в анализаторе структур..

    Игра Starbound Beta

    Может кто-то сталкивался с этой игрой.

    Заранее спасибо!

    просмотрел работу плагина, меня впечатлило даже очень) на счет aobscan как я понял ему всегда надо просто передавать последовательность байт нескольких соседних инструкций?

    Можно и больше, чем длиннее тем уникальней.

    Я обычно делаю аобскан с 20 байтами(примерно чуть больше чуть меньше, так быстрее ищет сигнатуру)

  12. Такс... Опять столкнулся с игрой Где нужно делать фильтр...

    Просто не могу найти ID статический игрока, они все все время меняются, скачал в инете таблицу от justa_dude посмотрел его скрипты, вообще не понятно что и ге он взял, но работает!

    P.S. Игра Starbound Beta

    Игра очень запутанная адреса там все очень странные, а указатели вообще найти невозможно(100%)

    Вроде нашел функцию за уменьшение здоровья(fsubr) поменял на fadd и все работает все друг другу прибавляют жизнь, но вот фильтр сделать не могу адреса всеее времятак меняются, смещений там нет(там просто fsubr dword ptr [esi] так что в структурах просто пишу адрес esi)

    Может кто что подскажет?

  13. Что-нибудь другое поломать найдётся)

    Это вопрос?

    В фасм

    Ну всмысле какой там синтаксис будет? Такой же? Или нет?

    Собачкам и здоровякам походу прописывается много здоровья

    Если так то на них сделать фильтр и что-то типа One Hit Kill только чтоб просто жизнь стандартная была

  14. Понятно))) А разве на фасме лучше писать чем на СЕ ? Я понимаю там Delphi, C++, VB, и еще программы на фасме скорее всего работать не будут начиная с windows 7 x64 так как это 16-ти разрядные программы кажется...

    И еще а в фасме есть графический интерфейс?

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

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

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