Derk Опубликовано 2 мая, 2019 Поделиться Опубликовано 2 мая, 2019 Можно ли с помощью кода без остановки процесса снять значение конкретного регистра в СЕ?Типо ищешь сигнатуру и снимаешь значение регистра. Заранее спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 2 мая, 2019 Поделиться Опубликовано 2 мая, 2019 Нет. Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 2 мая, 2019 Поделиться Опубликовано 2 мая, 2019 30 минут назад, Derk сказал: Можно ли с помощью кода Можно, если ты хочешь его увидеть во время работы процесса, то тебе нужно сделать скрипт. Пример: Есть инструкция mov ecx,[ebx+4] Тебе надо знать значение регистра на момент выполнения этого кода, например тебе нужен регистр ebx. Делаешь внедрение и метку, в которую будешь записывать регистр в этот момент: Спойлер label(EbxChecker) registersymbol(EbxChecker) //Регистрируешь метку yourcode: mov [EbxChecker],ebx //Записываешь в твою метку ebx originalcode: mov ecx,[ebx+4] jmp exit EbxChecker: //Размер метки, 4 байта dd 0 Теперь просто добавляешь в таблицу "EbxChecker" и активируешь скрипт, наблюдаешь за значением в таблице - это значение регистра. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Derk Опубликовано 2 мая, 2019 Автор Поделиться Опубликовано 2 мая, 2019 (изменено) 51 минуту назад, imaginary сказал: Изменено 2 мая, 2019 пользователем Derk Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Derk Опубликовано 2 мая, 2019 Автор Поделиться Опубликовано 2 мая, 2019 1 час назад, imaginary сказал: Можно, если ты хочешь его увидеть во время работы процесса, то тебе нужно сделать скрипт. Пример: Есть инструкция mov ecx,[ebx+4] Тебе надо знать значение регистра на момент выполнения этого кода, например тебе нужен регистр ebx. Делаешь внедрение и метку, в которую будешь записывать регистр в этот момент: Показать контент label(EbxChecker) registersymbol(EbxChecker) //Регистрируешь метку yourcode: mov [EbxChecker],ebx //Записываешь в твою метку ebx originalcode: mov ecx,[ebx+4] jmp exit EbxChecker: //Размер метки, 4 байта dd 0 Теперь просто добавляешь в таблицу "EbxChecker" и активируешь скрипт, наблюдаешь за значением в таблице - это значение регистра. Я написал,но пишет "не все инструкции пригодны к инъекции" [ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscan(INJECT,8B 7A 08 8B 77 50 8B) // should be unique alloc(newmem,$1000) label(EbxChecker) registersymbol(EbxChecker) //Регистрируешь метку yourcode: mov [EbxChecker],ebx originalcode: mov edi,[edx+08] mov esi,[edi+50] jmp exit EbxChecker: //Размер метки, 4 байта dd 0 INJECT: db 8B 7A 08 8B 77 50 [DISABLE] //code from here till the end of the code will be used to disable the cheat INJECT: db 8B 7A 08 8B 77 50 unregistersymbol(INJECT) unregistersymbol(EbxChecker) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 2 мая, 2019 Поделиться Опубликовано 2 мая, 2019 (изменено) 7 минут назад, Derk сказал: Я написал,но пишет "не все инструкции пригодны к инъекции" Странно, что за процесс, для которого ты делаешь? и ещё, должно писать в какой строке ошибка. и в AOB скриптах обычно jmp return А такой метки у тебя как раз и нету, как и exit. Изменено 2 мая, 2019 пользователем imaginary Ссылка на комментарий Поделиться на другие сайты Поделиться
Derk Опубликовано 2 мая, 2019 Автор Поделиться Опубликовано 2 мая, 2019 5 минут назад, imaginary сказал: Странно, что за процесс, для которого ты делаешь? и ещё, должно писать в какой строке ошибка. и в AOB скриптах обычно jmp return А такой метки у тебя как раз и нету, как и exit. Давай в скайпе или дискорде ,ну или вк поговорим,если тебе не сложно конечно Ссылка на комментарий Поделиться на другие сайты Поделиться
imaginary Опубликовано 2 мая, 2019 Поделиться Опубликовано 2 мая, 2019 Только что, Derk сказал: Давай в скайпе или дискорде Да вроде ничего сложного ведь, смотри к примеру скрипт сгенерировался. Спойлер [ENABLE] aobscanmodule(INJECT,cheatengine-x86_64.exe,C3 00 00 00 00 48 8D 64 24 D8 C6) alloc(newmem,$1000,"cheatengine-x86_64.exe"+1ABB0) label(code) label(return) //Тут регистрируешь метку newmem: //Сюда вставляешь твой код code: lea rsp,[rsp-28] jmp return //Тут задаёшь размер INJECT+05: jmp newmem return: registersymbol(INJECT) [DISABLE] INJECT+05: db 48 8D 64 24 D8 unregistersymbol(INJECT) dealloc(newmem) Тебе нужно вставлять свой код в этих местах (это пример). Если уж не получится, то можно дискорд Ссылка на комментарий Поделиться на другие сайты Поделиться
Derk Опубликовано 2 мая, 2019 Автор Поделиться Опубликовано 2 мая, 2019 28 минут назад, imaginary сказал: Да вроде ничего сложного ведь, смотри к примеру скрипт сгенерировался. Показать контент [ENABLE] aobscanmodule(INJECT,cheatengine-x86_64.exe,C3 00 00 00 00 48 8D 64 24 D8 C6) alloc(newmem,$1000,"cheatengine-x86_64.exe"+1ABB0) label(code) label(return) //Тут регистрируешь метку newmem: //Сюда вставляешь твой код code: lea rsp,[rsp-28] jmp return //Тут задаёшь размер INJECT+05: jmp newmem return: registersymbol(INJECT) [DISABLE] INJECT+05: db 48 8D 64 24 D8 unregistersymbol(INJECT) dealloc(newmem) Тебе нужно вставлять свой код в этих местах (это пример). Если уж не получится, то можно дискорд Дискорд Ginezis#9628 Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 4 мая, 2019 Поделиться Опубликовано 4 мая, 2019 В 02.05.2019 в 15:34, Derk сказал: Я написал,но пишет "не все инструкции пригодны к инъекции" Скрипт написан с ошибками. Сгенерируй скрипт из CE и сравни со своим. Тебе добавить только три строчки. label, registesymbol и mov[метка], регистр. Ну еще и unregistersymbol Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения