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

[ Royal Quest ] Как записать свое значение в xmm регистр?


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

Я не знаю правил как оформлять но.
Играю я в игру одну Роял Квест, найти скорость игрока не тяжело и сделал указатель, но посмотрев видео ваши на ютубе захотелось в СЕ сделать ассемблер кода или как там.
Суть в том что вот инструкция movss [esi+000002F4],xmm3.
Там где еси + смещение я не знаю что находиться но в xmm3 Находиться скорость игрока, как сделать в ассемблере СЕ что бы записал нужное мне значение?
Я пытался сделать но не выходит, я слишком мало знаю, вот что пытался сделать.

 

[ENABLE]
aobscanmodule(SPEED,rqmain.exe,F3 0F 11 9E F4 02 00 00) 
alloc(newmem,$1000)
label(code)
label(return)
newmem:
mov dword ptr xmm3,1112014848
code:
  movss [esi+000002F4],xmm3
  jmp return
SPEED:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(SPEED)
[DISABLE]
SPEED:
  db F3 0F 11 9E F4 02 00 00


Я не понимаю как сделать что бы записать в этот хмм3 мне нужное значение.
В ручную можно но мне хочется и так научиться.

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

Думаю так

 

[ENABLE]
aobscanmodule(SPEED,rqmain.exe,F3 0F 11 9E F4 02 00 00) 
alloc(newmem,$1000)
label(code)
label(return)
value:
db (float)500

code:
  movss xmm3, [value]
  movss [esi+000002F4],xmm3
  jmp return
SPEED:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(SPEED)
[DISABLE]
SPEED:
  db F3 0F 11 9E F4 02 00 00

 

И укажи игру, иначе тема будет закрыта.

 

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

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

Думаю так

И укажи игру, иначе тема будет закрыта.

Я же указал вроде, написал что Роял Квест, или где нужно указать?
Нет, при компиляции пишет ошибку на 8 линии 
Там где movss xmm3,#1112014848

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

  • ReWanet изменил название на [ Royal Quest ] Хелп. Не могу понять как записать число в Xmm3
22 минуты назад, TheErel сказал:

Я же указал вроде, написал что Роял Квест, или где нужно указать?
Нет, при компиляции пишет ошибку на 8 линии 
Там где movss xmm3,#1112014848

Пока изменил в следующий раз читай правила

 

https://gamehacklab.ru/guidelines/

 

Это я туплю уже. Тебе надо метку объявить value, а после писать в xmm3

 

[ENABLE]
aobscanmodule(SPEED,rqmain.exe,F3 0F 11 9E F4 02 00 00) 
alloc(newmem,$1000)
label(code)
label(return)
label(value)
newmem:
value:
db (float)500

code:
  movss xmm3, [value]
  movss [esi+000002F4],xmm3
  jmp return
SPEED:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(SPEED)
[DISABLE]
SPEED:
  db F3 0F 11 9E F4 02 00 00
Ссылка на комментарий
Поделиться на другие сайты

Привет!
Если твой вопрос касается конкретной игры то пиши ее название в квадратные скобки [ Royal Quest ] а после уже вопрос. Т.е.   

[ Royal Quest ] Не могу понять как записать число в Xmm3

Правила 1.3

Название изменил.

 

Так же не цитируй все сообщение. Только часть на которую отвечаешь ( без кодов и спойлеров ).

 

В игре стоит защита и тебя будет откидывать назад.

 

p.s.

Да и вправду не откидывает.
Значит я перепутал игры.

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

2 минуты назад, what228 сказал:

В игре стоит защита и тебя будет откидывать назад.

Это как?
Просто я в ручную меняю значение в float 5 стандарт скорость игрока и float 7 это он на маунте , я ставил скорость 50 и спокйно быстро бегал, но захотел в ассемблере, не получиться сделать в ассемблере будет откидывать назад?

 

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

3 минуты назад, TheErel сказал:

Это как?

Хм.. Я когда смотрел откидывало назад. Сейчас перепроверю.

 

3 минуты назад, TheErel сказал:

сделать в ассемблере будет откидывать назад?

Нет.

 

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

2 минуты назад, TheErel сказал:

Ну у меня не компилируется .

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

[ENABLE]
aobscanmodule(INJECT,rqmain.exe,F3 0F 11 9E F4 02 00 00)
alloc(newmem,$1000)
label(code)
label(return)
label(value)
registersymbol(value)

newmem:
  movss xmm3,[value]
code:
  movss [esi+000002F4],xmm3
  jmp return
value:
db (float)5

INJECT:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db F3 0F 11 9E F4 02 00 00

unregistersymbol(INJECT)
unregistersymbol(value)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "rqmain.exe"+CBD2C

"rqmain.exe"+CBD01: F3 0F 5E C8                 -  divss xmm1,xmm0
"rqmain.exe"+CBD05: F3 0F 11 8E 20 02 00 00     -  movss [esi+00000220],xmm1
"rqmain.exe"+CBD0D: 33 C0                       -  xor eax,eax
"rqmain.exe"+CBD0F: 90                          -  nop 
"rqmain.exe"+CBD10: F3 0F 10 8C 86 48 02 00 00  -  movss xmm1,[esi+eax*4+00000248]
"rqmain.exe"+CBD19: F3 0F 59 C8                 -  mulss xmm1,xmm0
"rqmain.exe"+CBD1D: F3 0F 11 8C 86 48 02 00 00  -  movss [esi+eax*4+00000248],xmm1
"rqmain.exe"+CBD26: 40                          -  inc eax
"rqmain.exe"+CBD27: 83 F8 02                    -  cmp eax,02
"rqmain.exe"+CBD2A: 7C E4                       -  jl rqmain.exe+CBD10
// ---------- INJECTING HERE ----------
"rqmain.exe"+CBD2C: F3 0F 11 9E F4 02 00 00     -  movss [esi+000002F4],xmm3
// ---------- DONE INJECTING  ----------
"rqmain.exe"+CBD34: F3 0F 10 86 F4 02 00 00     -  movss xmm0,[esi+000002F4]
"rqmain.exe"+CBD3C: 8B 4C 24 1C                 -  mov ecx,[esp+1C]
"rqmain.exe"+CBD40: F3 0F 11 44 24 14           -  movss [esp+14],xmm0
"rqmain.exe"+CBD46: 8B 54 24 14                 -  mov edx,[esp+14]
"rqmain.exe"+CBD4A: 51                          -  push ecx
"rqmain.exe"+CBD4B: 52                          -  push edx
"rqmain.exe"+CBD4C: 6A 00                       -  push 00
"rqmain.exe"+CBD4E: E8 49 96 2E 00              -  call rqmain.exe+3B539C
"rqmain.exe"+CBD53: 8B 4C 24 34                 -  mov ecx,[esp+34]
"rqmain.exe"+CBD57: 5F                          -  pop edi
}

 

 

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

Только что, TheErel сказал:

Игра вылетает после того как я меняю скорость к примеру сажусь на маунте, значение устанавливаеться какое там?

У меня вопрос.. movss [esi+000002F4],xmm3 что тут хранится? Ибо скорость бега идет ниже movss xmm0,[esi+000002F4] . А в твоей инструкции нет ничего

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

Только что, what228 сказал:

У меня вопрос.. movss [esi+000002F4],xmm3 что тут хранится? Ибо скорость бега идет ниже movss xmm0,[esi+000002F4] . А в твоей инструкции нет ничего

Ниже?
Ууу, как то я просто не понял эти xmm поэтому и не знаю в какой хранится бег, значения похожи вот и ....
У тебя эта игра установлена сейчас?

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

2 минуты назад, what228 сказал:

Да. Ты бряк ставил на свою инструкцию?

Да, на запись, запись и показывала х3
А если на доступ то я увидел эту инструкцию с х0
 

Изменено пользователем TheErel
Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, TheErel сказал:

Да, на запись, запись и показывала х3

Я имел ввиду:
Ты открыл дизассемблер

Нажал на инструкцию правой кнопкой мыши
Нажал на "Find out what addresses this instruction accesses".
Сколько адресов нашлось и что в них пишется ( число ).

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

  • ReWanet изменил название на [ Royal Quest ] Как записать свое значение в xmm регистр?
6 минут назад, what228 сказал:

Я имел ввиду:
Ты открыл дизассемблер

Нажал на инструкцию правой кнопкой мыши
Нажал на "Find out what addresses this instruction accesses".
Сколько адресов нашлось и что в них пишется ( число ).

Я понял как нашлось х0, сделал как ты написал но есть другая проблема.
Ничего не происходит, буд-то число на записалось

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

[ENABLE]
aobscanmodule(speed,rqmain.exe,F3 0F 10 86 F4 02 00 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(value)
newmem:
value:
db (float)50
code:
  movss xmm0,[value]
  movss xmm0,[esi+000002F4]
  jmp return
speed:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(speed)
[DISABLE]
speed:
  db F3 0F 10 86 F4 02 00 00
unregistersymbol(speed)
dealloc(newmem)

 


 

// Все коды заноси в спойлер и под тег код ( Глазик - спойлер ) ( < > - код )

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

 

4 минуты назад, TheErel сказал:

Я понял как нашлось х0, сделал как ты написал но есть другая проблема.

Что за x0 x3

 

Не знаю что у тебя там. Сейчас пока что уже занят. Позже гляну.

Так же прочитай сообщение мое под своим комментарием ( Зеленое ).

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

movss [esi+000002F4],xmm3 --> movss [esi+000002F4],hexvlaue

Или можешь посмотреть где до этого идет запись в xmm3

Должно быть что-то вроде этого
mov xmm0, xmm3 И там уже подкидывать свое значение в хексе

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

6 минут назад, TheErel сказал:

Просто прошу рассказать каки есть интересные штуки, например в игре Роял Квест

Ни кто не знает что там можно сделать только лишь попытки и предположения.
Я делал

телепорт

зум

быстрая атака

убрать туман

убрать коллизию

Дальше забросил.

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

Только что, what228 сказал:

 

быстрая атака

убрать туман

убрать коллизию

Дальше забросил.

Быстрая атака вроде только визуальна, т.е. я быстро бил но дамаг наносимый по скоросте был по стандарту.
Что за туман и коллизия?

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

2 минуты назад, TheErel сказал:

Быстрая атака вроде только визуальна, т.е. я быстро бил но дамаг наносимый по скоросте был по стандарту.
Что за туман и коллизия?

Туман при отдалении камеры.
Коллизия - прохождение через стены и прочее.

Если долго копать то можно сделать все.

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

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

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

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