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

Объединение двух скриптов в одном

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

Ребята, всем привет.

Есть у кого-то пример совмещения в одном скрипте двух, работающих с 2 различными ячейками памяти (сигнатурами)? Поясню для чего нужно: Хочу сделать бесконечное кол-во поинтов, но когда нажимаешь на + дергается одна инструкция, когда нажимаешь на - вторая. Но по факту все это одна сущность и разделять смысла не вижу. Вчера пропарился часа 3 пытаясь объединить. Но в итоге при активации скрипта происходила дичайшая дичь. Одни конструкции заменялись другими

Вот собственно сама болванка:

Спойлер

[ENABLE]
aobscanregion(INF_SKILLS,SkillValueHUD:Inc, SkillValueHUD:Inc+170, 89 48 5C 48 63 46 34)
aobscanregion(INF_SKILLS2,SkillValueHUD:Dec, SkillValueHUD:Dec+b1, 89 48 5C 48 8B CE)
alloc(newmem,$1000)

label(lbl_INF_SKILLS)
label(lbl_INF_SKILLSRet)
registersymbol(INF_SKILLS)

label(lbl_INF_SKILLS2)
label(lbl_INF_SKILLS2Ret)
registersymbol(INF_SKILLS2)

newmem:
lbl_INF_SKILLS:
  movsxd rax,dword ptr [rsi+34]
  jmp lbl_INF_SKILLSRet
lbl_INF_SKILLS2:
  mov rcx,rsi
  jmp lbl_INF_SKILLS2Ret

INF_SKILLS:
  jmp lbl_INF_SKILLS
  nop 2

INF_SKILLS2:
  jmp lbl_INF_SKILLS2
  nop

lbl_INF_SKILLSRet:
lbl_INF_SKILLS2Ret:

[DISABLE]

INF_SKILLS:
  db 89 48 5C 48 63 46 34
unregistersymbol(INF_SKILLS)

INF_SKILLS2:
  db 89 48 5C 48 8B CE
unregistersymbol(INF_SKILLS2)

dealloc(newmem)

 

 

Изменено пользователем Xipho
Правила невнимательно читал? Код длиной более 10 строк должен быть дополнительно убран под спойлер.

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


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

Так, разобрались с @TechnoBOY что можно изменить код, чтобы он выглядел так и все заработает:

Спойлер

[ENABLE]
aobscanregion(INF_SKILLS,SkillValueHUD:Inc, SkillValueHUD:Inc+170, 89 48 5C 48 63 46 34)
aobscanregion(INF_SKILLS2,SkillValueHUD:Dec, SkillValueHUD:Dec+b1, 89 48 5C 48 8B CE)
alloc(newmem,$1000)

label(lbl_INF_SKILLS)
label(lbl_INF_SKILLSRet)
registersymbol(INF_SKILLS)

label(lbl_INF_SKILLS2)
label(lbl_INF_SKILLS2Ret)
registersymbol(INF_SKILLS2)

newmem:
lbl_INF_SKILLS:
  movsxd rax,dword ptr [rsi+34]
  jmp lbl_INF_SKILLSRet

lbl_INF_SKILLS2:
  mov rcx,rsi
  jmp lbl_INF_SKILLS2Ret

INF_SKILLS:
  jmp lbl_INF_SKILLS
  nop 2
lbl_INF_SKILLSRet:

INF_SKILLS2:
  jmp lbl_INF_SKILLS2
  nop
lbl_INF_SKILLS2Ret:



[DISABLE]

INF_SKILLS:
  db 89 48 5C 48 63 46 34
unregistersymbol(INF_SKILLS)

INF_SKILLS2:
  db 89 48 5C 48 8B CE
unregistersymbol(INF_SKILLS2)

dealloc(newmem)

 

и теперь у меня след вопрос: Какого .... оно не ушло в цикличность? Разве код не интерпретируемый? Если да, то здесь явно должна быть цикличность так как lbl_INF_SKILLS джампится на lbl_INF_SKILLSRet а ниже там дергается INF_SKILLS2 и пошло поехало, там не только зависимость, но и кривые инжекты получаются. НО ОНО РАБОТАЕТ? КАК (ПОЧЕМУ)?

Изменено пользователем Xipho
То же замечание, что и выше

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


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

Тема по объединению скриптов же есть уже.

 

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


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

Вот собственно сама болванка:

и первый и второй скрипты не верны.

 

ЗЫ: а не - второй верный. 

Спойлер

image.thumb.png.4009ab5c88e21c12ec797caa7ff03621.png

 

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

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

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

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