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

[Terraia], [Dying Light] Не активируются скрипты в Cheat Engine


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

[Terraria] - Написал я скрипт телепорта вида Save/Teleport, попытался его активировать, но он не активируется, нажимал на активацию мышкой, биндил на клавишу, ничего не помогло. (Я новичок, поэтому извините за какие либо ошибки, если они будут). Код >> 

Спойлер

[ENABLE]
aobscan(teleport,CC 00 DD 9D 4C FF FF FF F2 0F 10 85 4C FF FF FF F2 0F 2C F8 CC) 
alloc(newmem,$1000)
label(savepos_flag) // Сохранение точки
label(loadpos_flag) // Телепорт на сохраненную точку
label(clear_flag) // Очищение сохраненной точки телепорта
label(posX) // Координата Х
label(posY) // Координата У
label(code)
label(return)
registersymbol(savepos_flag)
registersymbol(clear_flag)
registersymbol(loadpos_flag)
newmem:
  push esi
    xor esi,esi // Обнуляю значение регистра esi
    cmp [savepos_flag],1
    jne code
    mov esi,[eax+0020] // В eax+0020 координата x
    mov [posX], esi
    xor esi,esi // Обнуляю значение регистра esi X2
    mov esi,[eax+0024] // В eax+0024 координата Y
    mov [posY],esi
    xor esi,esi // Обнуляю значение регистра esi X3

    cmp [clear_flag],1
    jne code
    mov [posX],esi // Пытаюсь обнулить значение posX. (Не знаю, сработает ли)
    mov [posY],esi // Пытаюсь обнулить значение posY. (Не знаю, сработает ли)
  pop esi

  cmp [loadpos_flag],1
    jne code
    mov [eax+0020],posX
    mov [eax+0024],posY

code:
  fld dword ptr [eax]
  fstp qword ptr [ebp-000000B4]
  jmp return

posX:
db 00 00 00 00

posY:
db 00 00 00 00

clear_flag:
db 00

savepos_flag:
db 00

loadpos_flag:
db 00

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

[DISABLE]

teleport:
  db CC 00 DD 9D 4C FF FF FF
unregistersymbol(savepos_flag)
unregistersymbol(clear_flag)
unregistersymbol(loadpos_flag)
unregistersymbol(teleport)
dealloc(newmem)

 

 

[Dying Light] - Написал скрипт для бесконечных хп, он опять же не активируется. А из-за скриптов которые активировались игра вылетала, это означает что в нее встроена проверка целостности кода? Скрипты я писал правильные, просто вытаскивал значение  максимальных жизней и копировал его в значение текущих жизней. Код >>  

Спойлер

[ENABLE]

aobscanmodule(Hp,gamedll_x64_rwdi.dll,CC 0F 10 81 2C 12 00 00)
alloc(newmem,$1000,"gamedll_x64_rwdi.dll"+91EBF0)
label(code)
label(return)

newmem: // Хп тут во флоате
  cmp [rcx+122C],240.0 // Сравниваю текущие хп с 240
  ja code // Если выше 240 то перепрыгнуть на оригинальный код
  add [rcx+122C], #35.0 // Если не больше 240 добавить 35 
code:
  movss xmm0,[rcx+0000122C]
  jmp return

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

[DISABLE]
Hp:
  db CC 0F 10 81 2C 12 00 00

unregistersymbol(Hp)
dealloc(newmem)

 

 

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

Другая инфа:  Игры все лицензионные

                           Cheat Engine: 6.7

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

17 минут назад, podlivka сказал:

add [rcx+122C], #35.0 // Если не больше 240 добавить 35 

Код не правильный.

 

А скрипты не активируются из-за того, что не могут найти сигнатуру, а сигнатуру ты делал во время отладки инструкции, поэтому первый байт CC

17 минут назад, podlivka сказал:

CC 00 DD 9D 4C FF FF FF F2 0F 10 85 4C FF FF FF F2 0F 2C F8 CC)

17 минут назад, podlivka сказал:

CC 0F 10 81 2C 12 00

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

2 часа назад, podlivka сказал:

Написал я скрипт

1. Сигнатура не верна.

2. Если бы была верна, то скорее всего будет сразу вылет из игры из-за не правильного использования связки push/pop (сохранение регистра перед использованием в своём коде и восстановления регистра и стека после использования). 

pop esi     // нужно спустить под метку code, т.к. у тебя после push esi, есть инструкция jne code 
            // - стек нарушен (опущен вниз на 4 байта) - все значения которые юзаются игрой изменены - зкрах игры.)

3. Если все это поправишь, то телепорта у тебя все равно не будет, так как ты постоянно перезаписываешь значения координат в своих метка, как исправить:

    cmp [savepos_flag],1
    jne code
    mov [savepos_flag],0  // сделать разовую запись нужных тебе координат
    

И лучше после всей секции сохранения координат добавить jmp code. 

4. 

xor esi,esi // Обнуляю значение регистра esi // Абсолютно не нужная инструкция в твоем случае

 5. 

label(clear_flag) // Очищение сохраненной точки телепорта  // Тоже не нужна и все что связано с clear_flag

 6. Нет проверки от прыжка на нулевые координаты.

7. 

    mov [eax+0020],posX
    mov [eax+0024],posY

А это как ты вообще сумел скомпилировать в СЕ? А пишешь:

2 часа назад, podlivka сказал:

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

Ну скорее всего из-за того, что писал скрипт под отладкой, поэтому СЕ это и съело. 
Координаты у тебя не в posX. а в [posX]

Нужно было бы так сделать:

    mov esi,[posX]
    mov [eax+0020],esi
    mov esi,[posY]
    mov [eax+0024],esi

8. Метки флагов объявлены не верно. Расписывать уже не буду.

9. Скрипт по здоровью тоже не верен - Расписывать не буду. Ну хотя бы, если у тебя значение во float, то так и нужно писать  

cmp [rcx+122C],(float)240,0


PS: Резюме - это не скрипты, а Ж............. 
Ты хотя бы не много посмотрел, почитал, прежде чем писать скрипты. Я по телепорту целую серию видосов снимал.
Ссылки не даю -х сам найди.  

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

3 часа назад, Garik66 сказал:

PS: Резюме - это не скрипты, а Ж............. 
Ты хотя бы не много посмотрел, почитал, прежде чем писать скрипты. Я по телепорту целую серию видосов снимал.
Ссылки не даю -х сам найди.  

Господи, как стыдно за столько ошибок, я полностью посмотрел плейлист "взлом игр от "А" до "Я"" на канале gamehacklab, про сигнатуры там вообще ничего сказано не было, но есть и моя вина, что я не внимательно смотрел выпуск про телепорт, спасибо большое за помощь

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

5 часов назад, partoftheworlD сказал:

Код не правильный.

 

А скрипты не активируются из-за того, что не могут найти сигнатуру, а сигнатуру ты делал во время отладки инструкции, поэтому первый байт CC

Спасибо за помощь

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

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

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

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