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

Вопрос по AA-скрипту


Egorka

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

Можно ли объединить 2 скрипта в один, чтобы при его активации происходили 2 инъекции в разные участки кода игры?

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

[ENABLE]

aobscan(Ammo,8B 4E 2C 8B 04 81)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov ecx,[esi+2C]
  cmp eax,ebp
  jne code
  push 64
  pop [ecx+eax*4]
code:
  mov eax,[ecx+eax*4]
  jmp return

Ammo:
  jmp newmem
  nop
return:
registersymbol(Ammo)

[DISABLE]

Ammo:
  db 8B 4E 2C 8B 04 81

unregistersymbol(Ammo)
dealloc(newmem)

 

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

[ENABLE]

aobscan(NoReload,FF 8E 98 00 00 00)

NoReload:
  nop
  nop
  nop
  nop
  nop
  nop

registersymbol(NoReload)

[DISABLE]

NoReload:
  db FF 8E 98 00 00 00

unregistersymbol(NoReload)
dealloc(newmem)

 

Как их объединить корректно, а то, сколько бы я не экспериментировал, инъекции всегда были какие-то стрёмные, и игра крашилась? И вообще нет ли случаем какой-нибудь статьи или другой литературы, где будет основательно расписано про AA скрипты (про синтаксис, команды, инъекции и т.д.)?

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

Всё, я нашел, как это сделать:

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

[ENABLE]
//Infinity Ammo
alloc(newmem,$1000)
aobscan(Ammo,8B 4E 2C 8B 04 81)
registersymbol(Ammo)
label(code)
label(return_A)

//NoReload
aobscan(NoReload,FF 8E 98 00 00 00)
registersymbol(NoReload)

///////////////////////////////////
newmem:
  mov ecx,[esi+2C]
  cmp eax,ebp
  jne code
  push 64
  pop [ecx+eax*4]
code:
  mov eax,[ecx+eax*4]
  jmp return_A
///////////////////////////////////

Ammo:
  jmp newmem
  nop
return_A:

NoReload:
  nop
  nop
  nop
  nop
  nop
  nop

[DISABLE]

Ammo:
  db 8B 4E 2C 8B 04 81
unregistersymbol(Ammo)
dealloc(newmem)

NoReload:
  db FF 8E 98 00 00 00
unregistersymbol(NoReload)
dealloc(newmem)

 

 

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

  • 5 месяцев спустя...

Помогите соединить 2 скрипта. Не очень понятно как соединил Egorka.

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

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:

originalcode:
mov [ecx],#99
mov eax,edx
pop esi

exit:
jmp returnhere

"conviction_game.exe"+13E2B2:
jmp newmem
returnhere:

[DISABLE]
dealloc(newmem)
"conviction_game.exe"+13E2B2:
mov [ecx],eax
mov eax,edx
pop esi
//Alt: db 89 01 8B C2 5E

 

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

[ENABLE]
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem:

originalcode:
mov [esi+00000830],#99

exit:
jmp returnhere

"conviction_game.exe"+1430BE:
jmp newmem
nop
returnhere:

[DISABLE]
dealloc(newmem)
"conviction_game.exe"+1430BE:
mov [esi+00000830],edi
//Alt: db 89 BE 30 08 00 00

 

 

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

1 час назад, Alcorat сказал:

Помогите

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

[ENABLE]
alloc(newmem,2048)
label(newmem1)
label(returnhere)
label(returnhere1)

newmem:
mov [ecx],#99
mov eax,edx
pop esi
jmp returnhere

newmem1:
mov [esi+00000830],#99
jmp returnhere1

"conviction_game.exe"+13E2B2:
jmp newmem
returnhere:

"conviction_game.exe"+1430BE:
jmp newmem1
nop
returnhere1:

[DISABLE]
"conviction_game.exe"+13E2B2:
mov [ecx],eax
mov eax,edx
pop esi
"conviction_game.exe"+1430BE:
mov [esi+00000830],edi

dealloc(newmem)

 

 

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

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

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

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