Paul Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 Скрытый текст [ENABLE] aobscan(INJECT,89 4A 38 8B 4D F0 89 0D * * * * 8B E5 5D C3 CC) // should be unique alloc(newmem,$1000) label(code) label(return) newmem: code: add ecx,5 // нужно чтобы эта строка выпонялась если ecx > 1400 mov [edx+38],ecx mov ecx,[ebp-10] jmp return INJECT: jmp newmem nop return: registersymbol(INJECT) [DISABLE] INJECT: db 89 4A 38 8B 4D F0 unregistersymbol(INJECT) dealloc(newmem) Проблема в проверке условия, в метке code. Помогите пожалуйста, кто дружит с ассемблером) Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 10 минут назад, Paul сказал: Помогите пожалуйста, кто дружит с ассемблером) Вот так: Скрытый текст [ENABLE] aobscan(INJECT,89 4A 38 8B 4D F0 89 0D * * * * 8B E5 5D C3 CC) // should be unique alloc(newmem,$1000) label(code) label(return) label(newcode) newmem: cmp ecx,#1400 // Если ecx > 1400 ( #1400 - означает десятичное если без решетки то будет считать HEX значение ). jl newcode // то прыгаем на newcode jmp code // Если не "ecx > 1400" то выполняется эта часть кода в данном случае прыжок в оригинальный код newcode: add ecx,5 code: mov [edx+38],ecx mov ecx,[ebp-10] jmp return INJECT: jmp newmem nop return: registersymbol(INJECT) [DISABLE] INJECT: db 89 4A 38 8B 4D F0 unregistersymbol(INJECT) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 16 минут назад, Paul сказал: Помогите пожалуйста, кто дружит с ассемблером) http://bfy.tw/DvKO Ссылка на комментарий Поделиться на другие сайты Поделиться
Paul Опубликовано 14 сентября, 2017 Автор Поделиться Опубликовано 14 сентября, 2017 (изменено) Спасибо большое за ответ!partoftheworlD, я гуглил, но не разобрался с флагами. После cmp вроде как значение флага меняется и условие решается глядя на этот флаг. У меня были сомнения, что вернувшись с инъекционного кода в основной будет косяк из - за того, что флаг уже не с тем значением)) Изменено 14 сентября, 2017 пользователем Paul Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 34 минуты назад, what228 сказал: Вот так: 1. У тебя получается, немного другое условия прыжка, а не которое просил ТС, ecx < 1400 2. Зачем лишняя метка и лишний прыжок? (чтобы стало понятнее ТС?) Скрипт: Скрытый текст [ENABLE] aobscan(INJECT,89 4A 38 8B 4D F0 89 0D * * * * 8B E5 5D C3 CC) // should be unique alloc(newmem,$1000) label(code) label(return) registersymbol(INJECT) newmem: cmp ecx,#1400 // нужно чтобы эта строка выпонялась если ecx > 1400 jbe code add ecx,5 code: mov [edx+38],ecx mov ecx,[ebp-10] jmp return INJECT: jmp newmem db 90 return: [DISABLE] INJECT: db 89 4A 38 8B 4D F0 unregistersymbol(INJECT) dealloc(newmem) Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 8 минут назад, Garik66 сказал: 1. У тебя получается, немного другое условия прыжка, а не которое просил ТС ecx < 1 400 Тс написал лишь ecx > 1400 а не ровно. "нужно чтобы эта строка выпонялась если ecx > 1400" 8 минут назад, Garik66 сказал: 2. Зачем лишняя метка и лишний прыжок? (чтобы стало понятнее ТС?) да. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 6 минут назад, what228 сказал: Тс написал лишь ecx > 1400 а не ровно. "нужно чтобы эта строка выпонялась если ecx > 1400" И я об этом - ты поменял условие на противоположное. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 Только что, Garik66 сказал: И я об этом - ты поменял условие Разве? А.. вижу буковкой ошибся. Признаюсь ошибся только не расстреливайте Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 сентября, 2017 Поделиться Опубликовано 14 сентября, 2017 Только что, what228 сказал: Признаюсь ошибся только не расстреливайте Ничего страшного. Прочитай мою подпись. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения