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

AssaultCube. Скрипт и структура игрока.


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

Доброго времени суток, вопрос таков: сначала я долго мучился со структурой искав значения игрока\ботов. Сегодня наконец то получилось, решил написать скрипт,но он не работает, почему? [ скриншот прилагается] , значение в структуре(которое я выбрал) верное, при перезагрузках не меняется. Ошибка в скрипте.

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

61fef10dab50.jpg

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

{ Game   : ac_client.exe
  Version: 
  Date   : 2016-06-16
  Author : ????

  This script does blah blah blah
}

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat

 
 
aobscanmodule(helth,ac_client.exe,29 7B 04 8B C7) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
cmp dword ptr [ebx+B3C],2
jne code
sub dword ptr [ebx+04],#999
code:
  sub [ebx+04],edi
  mov eax,edi
  jmp return

helth:
  jmp newmem
return:
registersymbol(helth)

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
helth:
  db 29 7B 04 8B C7

unregistersymbol(helth)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "ac_client.exe"+29D1F

"ac_client.exe"+29CFD: 2B F0                          -  sub esi,eax
"ac_client.exe"+29CFF: 0F BF 84 24 1E 01 00 00        -  movsx eax,word ptr [esp+0000011E]
"ac_client.exe"+29D07: 89 44 24 0C                    -  mov [esp+0C],eax
"ac_client.exe"+29D0B: 89 73 08                       -  mov [ebx+08],esi
"ac_client.exe"+29D0E: DB 44 24 0C                    -  fild dword ptr [esp+0C]
"ac_client.exe"+29D12: DE CA                          -  fmulp st(2),st(0)
"ac_client.exe"+29D14: DC C9                          -  fmul st(1),st(0)
"ac_client.exe"+29D16: DE E1                          -  fsubrp st(1),st(0)
"ac_client.exe"+29D18: E8 43 05 09 00                 -  call ac_client.exe+BA260
"ac_client.exe"+29D1D: 2B F8                          -  sub edi,eax
// ---------- INJECTING HERE ----------
"ac_client.exe"+29D1F: 29 7B 04                       -  sub [ebx+04],edi
"ac_client.exe"+29D22: 8B C7                          -  mov eax,edi
// ---------- DONE INJECTING  ----------
"ac_client.exe"+29D24: 5F                             -  pop edi
"ac_client.exe"+29D25: 5E                             -  pop esi
"ac_client.exe"+29D26: 8B E5                          -  mov esp,ebp
"ac_client.exe"+29D28: 5D                             -  pop ebp
"ac_client.exe"+29D29: C2 04 00                       -  ret 0004
"ac_client.exe"+29D2C: 9E                             -  sahf 
"ac_client.exe"+29D2D: 9C                             -  pushfd 
"ac_client.exe"+29D2E: 42                             -  inc edx
"ac_client.exe"+29D2F: 00 B1 9C 42 00 C5              -  add [ecx-3AFFBD64],dh
"ac_client.exe"+29D35: 9C                             -  pushfd 
}

 

 

 

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

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

Ошибка в скрипте.

krassdanek. действительно ошибка в скрипте. причём стандартная ошибка.

Если бы выложил и скрипт, то было бы проще ( с моим зрением плохо видно на скриншоте, даже увеличив масштаб  в браузере.)

Ошибка:

// ты вначале делаешь 
sub [ebx+04],#999
// a потом сразу же перезаписываешь значение.
mov [ebx+04],edi

// Выход:
sub edi,#999

ЗЫ: Кто-то выложил скрипт и теперь всё видно и видно, что предложенный мной вариант:

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

sub edi,#999

 

не выход.

А нужно скорее всего (просто пока не понятна логика твоего кода):

newmem:
cmp dword ptr [ebx+B3C],2
jne code
mov edi,#999

code:
sub [ebx+04],edi

 

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

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

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

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