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

Телепорт по карте для игры Dying Light


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

Привет всем гей хакерам, помогите из править теле порт по карте, при включении скрипта игра вылетает с ошибкой.

 

Я сильно извиняюсь, как спойлер цветным сделать копец.

 

[ENABLE]



aobscanmodule(teleport,gamedll_x64_rwdi.dll,F3 0F 10 8B 54 08 00 00)
aobscanmodule(teleport2,engine_x64_rwdi.dll,F3 41 0F 10 A0 C4 00 00 00)
alloc(newmem,2048)
label(returnhere)
label(returnhere2)
label(originalcode)

label(coord_X)
label(coord_Z)
label(coord_Y)

label(save_enable)
label(load_enable)
label(save_coord)
label(load_coord)

registersymbol(teleport)
registersymbol(teleport2)

newmem:
cmp [save_enable],1
je save_coord

cmp [load_enable],1
je load_coord

save_coord:
mov [save_enable],0
push rcx
mov rcx [rbx+00000850]
mov [coord_X],rcx
mov rcx [rbx+00000854]
mov [coord_Z],rcx
mov rcx [rbx+00000858]
mov [coord_Y],rcx
pop rcx
movss xmm1,[rbx+00000854]
jmp returnhere

load_coord:
mov [load_enable],0
cmp [coord_X],0
je originalcode
push rcx
mov rcx,[coord_X]
mov [r8+000000BC],rcx
mov rcx,[coord_Z]
mov [r8+000000C0],rcx
mov rcx,[coord_Y]
mov [r8+000000C4],rcx
pop rcx

originalcode:
movss xmm4,[r8+000000C4]
jmp returnhere2

coord_X:
dd 0
coord_Z:
dd 0
coord_Y:
dd 0
save_enable:
dd 0
load_enable:
dd 0

teleport:
"gamedll_x64_rwdi.dll"+392FE4:
jmp save_coord
nop
nop
nop
returnhere:

teleport2:
"engine_x64_rwdi.dll"+3D7D24:
jmp load_coord
nop
nop
nop
nop
returnhere2:

[DISABLE]
teleport:
"gamedll_x64_rwdi.dll"+392FE4:
movss xmm1,[rbx+00000854]

teleport2:
"engine_x64_rwdi.dll"+3D7D24:
movss xmm4,[r8+000000C4]

unregistersymbol(teleport)
unregistersymbol(teleport2)
dealloc(newmem)
Изменено пользователем Baracuda
Ссылка на комментарий
Поделиться на другие сайты

1. Полезный совет на будущее. Для проверки даже самых непонятных ошибок помогает пошаговая отладка CE. Отладка позволит узнать на какой инструкции происходит вылет 

2. В глаза бросается ошибка.

 

Значение координат это 4 байта, а ты работаешь с координатами как с 8-мью байтами в следующих строках

 

Вот ошибка

mov rcx,[coord_X]mov [r8+000000BC],rcxmov rcx,[coord_Z]mov [r8+000000C0],rcxmov rcx,[coord_Y]mov [r8+000000C4],rcx
 

Ну и вот ошибка

mov rcx [rbx+00000850]mov [coord_X],rcxmov rcx [rbx+00000854]mov [coord_Z],rcxmov rcx [rbx+00000858]mov [coord_Y],rcx
Можно использовать 32-х разрядные регистры, а не 64х разрядные. Вместо rcx писать ecx... Не уверен на счет остального...  Перед активации скрипта поставь процесс игры на паузу (в настройках CE горячие клавиши). Активируешь скрипт. Ставишь бряк в дизассемблере на инструкции, в которую делал инъекцию. Дальше размораживаешь процесс игры. И прерываешься. Идешь по F7 по шагам и смотришь ошибки. Примерно так я отлаживаю все скрипты инъекций кода. Обычно всегда успешно.
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

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

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

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