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

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

Суть: Создаю 2 или более скрипта. При активации обоих возникает проблема, выключаю один из них а второй уже не могу, причем если обратно включить (деактивированный) скрипт и попытаться выключить другой, игру крашит.
В чем может быть проблема?
P.s. Во всех играх такая муть

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

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

{ Game   : Terraria.exe
  Version: 
  Date   : 2016-11-07
  Author : ?????????????

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,80 B8 1D 06 00 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
cmp byte ptr [eax+0000061D],01
  jmp return
code:
  cmp byte ptr [eax+0000061D],00
  jmp return

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

[DISABLE]

INJECT:
  db 80 B8 1D 06 00 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 3BA83959

3BA8392A: 8B 15 DC 42 DD 04     -  mov edx,[04DD42DC]
3BA83930: 3B 42 04              -  cmp eax,[edx+04]
3BA83933: 0F 83 53 22 02 00     -  jae 3BAA5B8C
3BA83939: 8B 44 82 08           -  mov eax,[edx+eax*4+08]
3BA8393D: C6 40 24 01           -  mov byte ptr [eax+24],01
3BA83941: A1 44 43 DD 04        -  mov eax,[04DD4344]
3BA83946: 8B 15 F8 77 21 00     -  mov edx,[002177F8]
3BA8394C: 3B 50 04              -  cmp edx,[eax+04]
3BA8394F: 0F 83 37 22 02 00     -  jae 3BAA5B8C
3BA83955: 8B 44 90 08           -  mov eax,[eax+edx*4+08]
// ---------- INJECTING HERE ----------
3BA83959: 80 B8 1D 06 00 00 00  -  cmp byte ptr [eax+0000061D],00
// ---------- DONE INJECTING  ----------
3BA83960: 0F 84 C5 02 00 00     -  je 3BA83C2B
3BA83966: 33 D2                 -  xor edx,edx
3BA83968: 89 95 5C FE FF FF     -  mov [ebp-000001A4],edx
3BA8396E: 81 7D 90 B9 00 00 00  -  cmp [ebp-70],000000B9
3BA83975: 75 28                 -  jne 3BA8399F
3BA83977: 83 7D 88 12           -  cmp dword ptr [ebp-78],12
3BA8397B: 75 22                 -  jne 3BA8399F
3BA8397D: 81 7D 8C 40 02 00 00  -  cmp [ebp-74],00000240
3BA83984: 7C 19                 -  jnge 3BA8399F
3BA83986: 81 7D 8C 72 03 00 00  -  cmp [ebp-74],00000372
}

Второй:
 

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

{ Game   : Terraria.exe
  Version: 
  Date   : 2016-11-11
  Author : ?????????????

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT,29 82 34 03 00 00 83 7D) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
sub [edx+00000334],0
  jmp return
code:
  sub [edx+00000334],eax
  jmp return

INJECT:
  jmp newmem
  nop
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 29 82 34 03 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 15696C3F

15696C16: 89 85 78 FE FF FF              -  mov [ebp-00000188],eax
15696C1C: 0F B6 45 0C                    -  movzx eax,byte ptr [ebp+0C]
15696C20: 50                             -  push eax
15696C21: 6A 00                          -  push 00
15696C23: 8B 95 78 FE FF FF              -  mov edx,[ebp-00000188]
15696C29: 8B CE                          -  mov ecx,esi
15696C2B: E8 78 B1 67 F6                 -  call 0BD11DA8
15696C30: F2 0F 10 45 E4                 -  movsd xmm0,[ebp-1C]
15696C35: F2 0F 2C C0                    -  cvttsd2si eax,xmm0
15696C39: 8B 95 4C FE FF FF              -  mov edx,[ebp-000001B4]
// ---------- INJECTING HERE ----------
15696C3F: 29 82 34 03 00 00              -  sub [edx+00000334],eax
// ---------- DONE INJECTING  ----------
15696C45: 83 7D 08 FF                    -  cmp dword ptr [ebp+08],-01
15696C49: 0F 85 95 00 00 00              -  jne 15696CE4
15696C4F: 8B 85 4C FE FF FF              -  mov eax,[ebp-000001B4]
15696C55: C6 80 2F 05 00 00 01           -  mov byte ptr [eax+0000052F],01
15696C5C: DD 45 E4                       -  fld qword ptr [ebp-1C]
15696C5F: D9 E8                          -  fld1 
15696C61: DF F1                          -  fcomip st(0),st(1)
15696C63: DD D8                          -  fstp st(0)
15696C65: 7A 30                          -  jp 15696C97
15696C67: 75 2E                          -  jne 15696C97
}

Игра: Terraria версии 1.3.3.3.
Первый скрипт: Подсвечивает руду
Второй:Нам наносят 0 урона

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

У тебя второй работает?, судя по логике скрипта не должен.

На этапе оригинального кода, вставки вот этого должно хватить.

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

code:
sub [edx+00000334],0

 

 

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

54 минуты назад, Goblin сказал:

В чем может быть проблема?

У тебя оба скрипта имеют один и тот же адрес:

aobscan(INJECT,80 B8 1D 06 00 00 00) // should be unique

 

aobscan(INJECT,29 82 34 03 00 00 83 7D) // should be unique

Переименуй один из INJECT ну например на INJECT1

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

13 минуты назад, saiberpro сказал:

 

У тебя второй работает?, судя по логике скрипта не должен.

 

По какой логике?  saiberpro, по твоей? ;) Оба скрипта рабочие.

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

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

Спасибо большое, постоянно на такой мелочи валился и не знал в чем проблема

Привыкни - при создании скрипта, всегда новую метку (новое название) давать и не будет таких ошибок больше.

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

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

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

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