Перейти к содержанию
Авторизация  
Paul

[ Cheat Engine ] Нужна помощь с АА вставкой

Рекомендуемые сообщения

Скрытый текст

[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. Помогите пожалуйста, кто дружит с ассемблером)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

16 минут назад, Paul сказал:

 Помогите пожалуйста, кто дружит с ассемблером)

http://bfy.tw/DvKO 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое за ответ!
partoftheworlD, я гуглил, но не разобрался с флагами. После cmp вроде как значение флага меняется и условие решается глядя на этот флаг. У меня были сомнения, что вернувшись с инъекционного кода в основной будет косяк из - за того, что флаг уже не с тем значением))

Изменено пользователем Paul

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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)

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Garik66 сказал:

1. У тебя получается, немного другое условия прыжка, а не которое просил ТС ecx  < 1 400

Тс написал лишь ecx > 1400 а не ровно. "нужно чтобы эта строка выпонялась если ecx > 1400"

 

8 минут назад, Garik66 сказал:

2. Зачем лишняя метка и лишний прыжок? (чтобы стало понятнее ТС?)

да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, what228 сказал:

Тс написал лишь ecx > 1400 а не ровно. "нужно чтобы эта строка выпонялась если ecx > 1400"

И я об этом ;) - ты поменял условие на противоположное.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Garik66 сказал:

И я об этом ;) - ты поменял условие

Разве? А.. вижу буковкой ошибся. Признаюсь ошибся только не расстреливайте :D 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, what228 сказал:

 Признаюсь ошибся только не расстреливайте :D 

 

Ничего страшного. Прочитай мою подпись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

×

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

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