nedix 0 Опубликовано 13 сентября, 2018 Приветствую. В игре есть тренажеры (например штанга), чтобы качаться нужно зажимать определенные клавиши. Используя Cheat Engine и его автоассемблер, хочу чтоб при нажатии хоткея посылался код, отвечающий за поднятие штанги. В Cheat Engine я нашел адрес (единственный, статический) и выявил инструкции (их 4): Спойлер 00467402 - DB 00 - fild dword ptr [eax] 00466456 - 8B 17 - mov edx,[edi] 00465FD9 - 8B 07 - mov eax,[edi] 00465F3F - 89 07 - mov [edi],eax Я пытался по разному добавлять код одной из инструкций, но никаких результатов не дало. Делал это через Template - AOB Injection и копировал в "newmem" содержимое 'code": Спойлер aobscanmodule(musk3,gta_sa.exe,89 07 5F 32 C0) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: mov [edi],eax pop edi xor al,al code: mov [edi],eax pop edi xor al,al jmp return musk3: jmp newmem return: registersymbol(musk3) Единственного результата добился, вылета, когда вставил все содержимое одной из инструкций: Спойлер newmem: mov edi,eax call gta_sa.exe+64790 fild dword ptr [eax] jmp gta_sa.exe+6717B push 02 jmp return code: fild dword ptr [eax] jmp gta_sa.exe+6717B jmp return Будьте добры, укажите на ошибки. Благодарю. P.S. Вообще хочу подобное реализовать в мультиплеере. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yuzia 2 Опубликовано 13 сентября, 2018 16 часов назад, nedix сказал: Вообще хочу подобное реализовать в мультиплеере. Если значения/данные хранятся на сервере. То это дохлый номер. 16 часов назад, nedix сказал: newmem: mov [edi],eax pop edi xor al,al code: mov [edi],eax pop edi xor al,al jmp return Так ты же ничего не поменял. Оно просто взяло и повторило то что и должно было быть сделано. К примеру. Если бы ты сделал: newmem: add eax, #100 mov [edi],eax pop edi xor al,al Вот тогда, может быть, ты бы что-то получил. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nedix 0 Опубликовано 14 сентября, 2018 6 часов назад, Yuzia сказал: Если значения/данные хранятся на сервере. То это дохлый номер. Ну фиг знает по идеи да, но как то же взламывают мп игры. 6 часов назад, Yuzia сказал: Так ты же ничего не поменял. Оно просто взяло и повторило то что и должно было быть сделано. Ну так мне это и надо. Как бы определенное нажатие клавиш в игре вызывает код, который отвечает за +1 к скилу. Мне нужно просто самому вызвать этот же код. Возможно ошибаюсь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nedix 0 Опубликовано 14 сентября, 2018 Только сейчас заметил, что тему переименовали и разместили в раздел мультиплеера. Хотя изначально вопрос был и остается по синглплееру. А про мультиплеер я упомянул, на тот случай если кто-то уже этим вопросом занимался. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
srg91 209 Опубликовано 14 сентября, 2018 Я не правильно понял направление разговора, в котором шла тема, поэтому перенес. Окей, я тогда перенесу обратно и удалю лишние сообщения, чтобы не смущать людей. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
partoftheworlD 718 Опубликовано 14 сентября, 2018 8 часов назад, nedix сказал: Как бы определенное нажатие клавиш в игре вызывает код, который отвечает за +1 к скилу. Мне нужно просто самому вызвать этот же код. Есть же статья на форуме по реверсу чит-кодов в гта. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nedix 0 Опубликовано 14 сентября, 2018 @partoftheworlD, если ты об этом, спасибо, буду изучать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
srg91 209 Опубликовано 14 сентября, 2018 Еще наверное может вот эту посмотреть: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
partoftheworlD 718 Опубликовано 14 сентября, 2018 48 минут назад, nedix сказал: если ты об этом, спасибо, буду изучать нет, про 9 минут назад, srg91 сказал: Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nedix 0 Опубликовано 14 сентября, 2018 35 минут назад, srg91 сказал: Еще наверное может вот эту посмотреть: Я так понял, чтобы сделать что-то в игре кодом, нужно создать поток "createthread"? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
srg91 209 Опубликовано 14 сентября, 2018 3 минуты назад, nedix сказал: Я так понял, чтобы сделать что-то в игре кодом, нужно создать поток "createthread"? Да, это один из вариантов. Внимательно посмотри код, который там в примерах, а то будешь ловить вылеты и не понимать почему они происходят. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nedix 0 Опубликовано 14 сентября, 2018 8 минут назад, srg91 сказал: Да, это один из вариантов. Внимательно посмотри код, который там в примерах, а то будешь ловить вылеты и не понимать почему они происходят. Можно спросить, почему в том коде нет "aobscanmodule()"? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
srg91 209 Опубликовано 14 сентября, 2018 1 минуту назад, nedix сказал: Можно спросить, почему в том коде нет "aobscanmodule()"? А зачем? Это обучение вызыва функций, а не туториал по всему cheat engine. Научишься применять createthread, потом научишься применять aobscanmodule где-нибудь еще. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
nedix 0 Опубликовано 14 сентября, 2018 @srg91, спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты