TheErel

[Royal Quest] Телепорт, не выходит сохранить коорд.

21 сообщение в этой теме

Посмотрел видео и захотелось сделать телепорт в игре Роял Квест, по видео сделал код, но мне кажется из-за того что нет свободных регистров координаты ни куда не сохраняются.
 

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

[ENABLE]
aobscanmodule(Teleport,gaxomofy.dll,89 0B 89 E1 89 8F 98 6C 00 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(coord)
label(tflag)
registersymbol(tflag)

newmem:
cmp byte ptr [tflag],0
je code
cmp byte ptr [tflag],1
jne @F
push eax
mov eax,[ebx]
mov [coord],eax
mov eax,[ebx+4]
mov [coord+4],eax
pop eax
mov byte ptr [tflag],0
jmp code

@@:
cmp byte ptr [tflag],2
jne code
push eax
mov eax,[coord]
mov [ebx],eax
mov eax,[coord+4]
mov [ebx+4],eax
pop eax
mov byte ptr [tflag],0

code:
  mov [ebx],ecx
  mov ecx,esp
  mov [edi+00006C98],ecx
  jmp return

  tflag:
  db 00
  coord:
  db 00 00 00 00 00 00 00 00

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

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
Teleport:
  db 89 0B 89 E1 89 8F 98 6C 00 00
unregistersymbol(Teleport)
unregistersymbol(tflag)
dealloc(newmem)

 

Или что-то не так делаю?
По EBX находится одна координата без смещения, на +4 вторая координата, третей нет, пробовал в ручную вписать коорды, возвращался куда нужно, но когда пользуюсь скриптом ничего не происходит, я взял левый регистр и подумал что если пушнуть то он очиститься  и там запишутся корды для сохранения нет?
Исправление: Посмотрел коорды записываются в этот регистр, почему телепорт не срабатывает, не вписывается что ли?

// Для читабельности пользуемся тегом  кода. Garik66

0

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


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

{ Game   : rqmain.exe
  Version: 
  Date   : 2017-08-12
  Author : User

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(INJECT3,rqmain.exe,8B 96 68 0B 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(savemem)
label(loadmem)
label(coordone)
label(coordtwo)
label(teleport)
label(savecoord)
registersymbol(coordone)
registersymbol(coordtwo)
registersymbol(teleport)
registersymbol(savecoord)

newmem:
  cmp [savecoord],1
  je savemem
  cmp [teleport],1
  je loadmem
  jmp code

savemem:
  push [esi+00000B64]
  pop [coordone]
  push [esi+00000B68]
  pop [coordtwo]
  mov [savecoord],0
  jmp code

loadmem:
  cmp [coordone],0
  je code
  push [coordone]
  pop [esi+00000B64]
  push [coordtwo]
  pop [esi+00000B68]
  mov [teleport],0
  jmp code

code:
  mov edx,[esi+00000B68]
  jmp return

coordone:
  dd 0
coordtwo:
  dd 0
teleport:
  dd 0
savecoord:
  dd 0

INJECT3:
  jmp newmem
  nop
return:
registersymbol(INJECT3)

[DISABLE]

INJECT3:
  db 8B 96 68 0B 00 00

unregistersymbol(INJECT3)
unregistersymbol(coordone)
unregistersymbol(coordtwo)
unregistersymbol(teleport)
unregistersymbol(savecoord)
dealloc(newmem)

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

"rqmain.exe"+CB964: 53                    -  push ebx
"rqmain.exe"+CB965: 56                    -  push esi
"rqmain.exe"+CB966: 8B F1                 -  mov esi,ecx
"rqmain.exe"+CB968: 8B 08                 -  mov ecx,[eax]
"rqmain.exe"+CB96A: 8B 40 08              -  mov eax,[eax+08]
"rqmain.exe"+CB96D: 57                    -  push edi
"rqmain.exe"+CB96E: 89 4C 24 24           -  mov [esp+24],ecx
"rqmain.exe"+CB972: 8D 4C 24 1C           -  lea ecx,[esp+1C]
"rqmain.exe"+CB976: 51                    -  push ecx
"rqmain.exe"+CB977: 89 54 24 2C           -  mov [esp+2C],edx
// ---------- INJECTING HERE ----------
"rqmain.exe"+CB97B: 8B 96 68 0B 00 00     -  mov edx,[esi+00000B68]
// ---------- DONE INJECTING  ----------
"rqmain.exe"+CB981: 6A 00                 -  push 00
"rqmain.exe"+CB983: 52                    -  push edx
"rqmain.exe"+CB984: 89 44 24 38           -  mov [esp+38],eax
"rqmain.exe"+CB988: E8 15 9A 2E 00        -  call rqmain.exe+3B53A2
"rqmain.exe"+CB98D: 8B 8E 64 0B 00 00     -  mov ecx,[esi+00000B64]
"rqmain.exe"+CB993: F3 0F 10 44 24 1C     -  movss xmm0,[esp+1C]
"rqmain.exe"+CB999: 8D 44 24 10           -  lea eax,[esp+10]
"rqmain.exe"+CB99D: 50                    -  push eax
"rqmain.exe"+CB99E: 6A 00                 -  push 00
"rqmain.exe"+CB9A0: 51                    -  push ecx
}

 

Вынеси в таблицу [ teleport ] и [ savecoord ] после сначала установи в адресе [ savecoord ] 1 и после чего  можешь в адресе [ teleport ] установить 1 и переместишься в сохраненные координаты.

0

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


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

 

Вынеси в таблицу [ teleport ] и [ savecoord ] после сначала установи в адресе [ savecoord ] 1 и после чего  можешь в адресе [ teleport ] установить 1 и переместишься в сохраненные координаты.

А зачем так делать если флаг сохраняет и вроде должен записывать как по видео.

+ не понимаю как.
когда я жму клавишу (для себя поставил нумпад+) во флаге байт меняется на  1 срабатывает на флаге и сохраняются координаты в регистре,  нажимаю нумад - 2 по идеи должно записаться.

Как на видео

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

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


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

А зачем так делать если флаг сохраняет и вроде должен записывать как по видео.

+ непонимаю как.

Ты хочешь сделать телепорт но откуда ты будешь брать координату для телепорта?
По этому ты сохраняешь сначала координаты а после делаешь туда телепорт.
Не понимаешь что? Как добавить адрес в таблицу?
Нажми "Add Address Manually" и в строке "Address" напиши "teleport" и нажми "OK"
Потом еще один адрес "savecoord" добавь так же.

После меняешь число в адресе с 0 на 1 и все.
И можешь назначать горячие клавиши на них.

0

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


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

Ты хочешь сделать телепорт но откуда ты будешь брать координату для телепорта?


ebx 
ebx+4

 

а флаг тогда зачем?
Флаг же делает 1 и 2 , 1 сохраняет, 2 телепортирует, трижды смотрел видео, я что-то не понимаю?

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

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


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

 

Я дал тебе скрипт который я уже проверил в игре. Используй его.

0

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


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

Я дал тебе скрипт который я уже проверил в игре. Используй его.

Я не понимаю, как сработает savecord и teleport если этих символов нет у меня в скрипте?
Мне тяжело далось это видео я просто не понимаю это получаеться мне нужно сделать флаг teleport и флаг savecord ?

0

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


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

Посмотрел коорды записываются в этот регистр, почему телепорт не срабатывает, не вписывается что ли?

Скрипт у тебя верный (я бы конечно убрал из него много лишнего), дело думаю в инструкции, скорее всего она работает не только с координатами твоего героя ()нужен фильтр) и ты случайным образом телепортируешь кого-то ещё.

Проверь с какими адресами работает твоя инструкция. ПКМ в отладчике по инструкции.

1

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


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

Я не понимаю, как сработает savecord и teleport если этих символов нет у меня в скрипте?
Мне тяжело далось это видео я просто не понимаю это получаеться мне нужно сделать флаг teleport и флаг savecord ?

Нажми сюда:
598f4796a0d09_.png.3048e43689d66ec40ef45608e8f8d801.png
И будет мой скрипт.

0

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


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

мне нужно сделать флаг teleport и флаг savecord ?

Для скрипта @what228 да нужно два флага.

0

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


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

Скрипт у тебя верный (я бы конечно убрал из него много лишнего), дело думаю в инструкции, скорее всего она работает не только с координатами твоего героя ()нужен фильтр) и ты случайным образом телепортируешь кого-то ещё.

Проверь с какими адресами работает твоя инструкция. ПКМ в отладчике по инструкции.

Благодарю, не заметил, работает еще с 8 чем-то.

0

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


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

Скрипт у тебя верный (я бы конечно убрал из него много лишнего), дело думаю в инструкции, скорее всего она работает не только с координатами твоего героя ()нужен фильтр) и ты случайным образом телепортируешь кого-то ещё.

 

В инструкции ТС только 3 адреса и они связанные с героем.
1. Координата 1

2. Координата 2

3. Координата 3 ( скорее всего )
В его адресе идет запись из ecx в [ebx] и если делать скрипт на той инструкции то могут быть проблемы ( возможно только я столкнулся с ними :D ).

0

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


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

Благодарю, не заметил, работает еще с 8 чем-то.

У @what228 скрипт основан на другой инструкции (раскрой спойлер), которая работает только с координатами ГГ. И фильтр соответственно он не использует.

0

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


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

В инструкции ТС только 3 адреса и они связанные с героем.
1. Координата 1

2. Координата 2

3. Координата 3 ( скорее всего )
В его адресе идет запись из ecx в [ebx] и если делать скрипт на той инструкции то могут быть проблемы ( возможно только я столкнулся с ними :D ).

Не заметил что ты работал с другой инструкцией, у тебя в коде меньше надписей чем у меня, я думал что бы зарегистрировать коорды нужен регистр вообще не понятно как но у тебя проще код выглядит, ууу.

0

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


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

Скрипт у тебя верный (я бы конечно убрал из него много лишнего)

 

А имено?
Я смотрел по видео так что я не знал как можно упростить.
Да если использую его скрипт игра вылетает.
Но я уже понял что не с тем работаю ну или сделаю фильтр

0

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


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

Да если использую его скрипт игра вылетает.

Мой скрипт?

0

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


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

Мой скрипт?

Да.
может мои где-то срабатывают еще, по новой сделаю по твоему примеру, у тебя так упрощено.

0

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


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

А имено?

Если бы выложил скрипт с ЛОГАМИ было бы проще, а так:

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

[ENABLE]
aobscanmodule(Teleport,gaxomofy.dll,89 0B 89 E1 89 8F 98 6C 00 00) // should be unique
alloc(newmem,$1000)
label(code)
label(return)
label(coord)
label(tflag)
registersymbol(tflag)
registersymbol(Teleport)

newmem:
cmp [tflag],1
jne @F
push eax
mov eax,[ebx]
mov [coord],eax
mov eax,[ebx+4]
mov [coord+4],eax
pop eax
mov [tflag],0
jmp code

@@:
cmp [coord],0
je code
cmp [tflag],2
jne code
push eax
mov eax,[coord]
mov [ebx],eax
mov eax,[coord+4]
mov [ebx+4],eax
pop eax
mov [tflag],0

code:
  mov [ebx],ecx
  mov ecx,esp
  mov [edi+00006C98],ecx
  jmp return

tflag:
  dd 00
coord:
  db 00 00 00 00 00 00 00 00

Teleport:
  jmp newmem
  db 90 90 90 90 90
return:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
Teleport:
  db 89 0B 89 E1 89 8F 98 6C 00 00
unregistersymbol(Teleport)
unregistersymbol(tflag)
dealloc(newmem)

 

Зы ну и само собой нужно добавить фильтр в скрипт.

 

 

// Поправил  49 строку кода у тебя там было "ви" а не "db"
// what228

0

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


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

Да.
может мои где-то срабатывают еще, по новой сделаю по твоему примеру, у тебя так упрощено.

Ты явно ошибку допускаешь где-то.
Возможно метка INJECT3 у тебя уже есть.

 // Сенк за правку. Garik66

0

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


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

Ты явно ошибку допускаешь где-то.
Возможно метка INJECT3 у тебя уже есть.

Все вышло, благодарю.

Удобный у тебя код)

0

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


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

Как найти туман, он находится в той же структуре что и макс кол-во зума камеры?

0

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас