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

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


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

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

Есть у кого-то пример совмещения в одном скрипте двух, работающих с 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
То же замечание, что и выше
Ссылка на комментарий
Поделиться на другие сайты

  • Xipho закрыл тема
11 часов назад, FENIX145 сказал:

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

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

 

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

Спойлер

image.thumb.png.4009ab5c88e21c12ec797caa7ff03621.png

 

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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

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

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