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

[CS:GO] конвертация id скина в id оружия


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

Всем привет) Не могу получить id оружия в руках, если на нем лежит скин, если взять обычное оружие то все ок)) Например. беру в руки глок получаю число 4, меняю на тот же глок, но скином "гремучая смесь" и уже выдает 262148((( тоже самое абсолютно со всеми скинами и предметами ,вопрос, как быть? как-то конвертировать id скина в id оружия? мб это шифрация(типо умножить первоначальное значения на овер дохрена) или еще что, хелп??? PS чит экстернал, читаю так 

DWORD plr = _memory->read<DWORD>(_memory->ClientAddr + Offsets::dwLocalPlayer);
DWORD WI = _memory->read<DWORD>(plr + Offsets::m_hActiveWeapon);
DWORD WE = _memory->read<DWORD>(_memory->ClientAddr + Offsets::dwEntityList + ((WI&0xFFF) - 1) * 0x10);
int mwi = _memory->read<int>(WE+Offsets::m_AttributeManager+Offsets::m_Item+Offsets::m_iItemDefinitionIndex);    
printf("%D",mwi);

 

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

Но тут же все просто, надо только немного подумать.

Если переведешь 262148 в hex поймешь в чем дело, 262148 = 40004 т.е id глока(0x4) +0x40000

 

 

14 часов назад, barsuuk сказал:

тоже самое абсолютно со всеми скинами и предметами ,вопрос, как быть?

 

Просто избавиться от 0x40000? Например сделав так, перед выводом id:

int mwi = _memory->read<int>(WE+Offsets::m_AttributeManager+Offsets::m_Item+Offsets::m_iItemDefinitionIndex); 
mwi &= 0xFFFF;

Это валв с новым обновлением так борются с читами изменяющими скины мне кажется, либо готовят что-то новое. Скинов у меня не много, так что покажу на чем было.

 

 

Спойлер

image.thumb.png.9a4763a4f7ca926f8ec973f42cc136ed.pngimage.thumb.png.cff89cf3aae92032b0fa3372fbebd92a.pngimage.thumb.png.66b892853ee657868689dfc5db8f2682.pngimage.thumb.png.ff0695f53ef009ad0d8c2ecbaa44f908.png

 

А, и скрипт, только не уверен, что он вообще тут нужен и так все понятно.

 

Спойлер

{ Game   : csgo.exe
  Version: 
  Date   : 2018-08-23
  Author : Alexander

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(GetWeapon,client_panorama.dll,8B 8E E8 2E 00 00 5E) // should be unique
alloc(newmem,$1000)
alloc(hActiveWeapon,$4)
alloc(dwWeaponEntity, $4)
alloc(Weapon_ID, $4)
alloc(Weapon_ID_addr, $4)
alloc(Weapon_ID_real, $4)

label(code)
label(return)
newmem:

code:
    mov ecx,[esi+00002EE8]                // hActiveWeapon
  mov [hActiveWeapon], ecx
  mov eax, "client_panorama.dll"+04C3915C // Entitiy List
  and ecx, FFF
  dec ecx
  imul ecx, 10
  add eax, ecx
  mov eax, [eax]
  mov [dwWeaponEntity]. eax
  add eax, 2D70                           // m_AttributeManager
  add eax, 40                             // m_Item
  add eax, 1EA                            // m_iItemDefinitionIndex
  lea ecx, [eax]
  mov [Weapon_ID_addr], ecx
  mov eax, [eax]
  mov [Weapon_ID_real], eax
  and eax, FFFF
  mov [Weapon_ID], eax
  mov ecx, [hActiveWeapon]

  jmp return

GetWeapon:
  jmp newmem
  nop
return:
registersymbol(GetWeapon)
registersymbol(hActiveWeapon)
registersymbol(Weapon_ID_addr)
registersymbol(dwWeaponEntity)
registersymbol(Weapon_ID)
registersymbol(Weapon_ID_real)

[DISABLE]

GetWeapon:
  db 8B 8E E8 2E 00 00

unregistersymbol(GetWeapon)
unregistersymbol(hActiveWeapon)
unregistersymbol(Weapon_ID_addr)
unregistersymbol(dwWeaponEntity)
unregistersymbol(Weapon_ID)
unregistersymbol(Weapon_ID_real)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "client_panorama.dll"+1D80C3

"client_panorama.dll"+1D80AB: 84 C0                    -  test al,al
"client_panorama.dll"+1D80AD: 74 13                    -  je client_panorama.dll+1D80C2
"client_panorama.dll"+1D80AF: 8B 07                    -  mov eax,[edi]
"client_panorama.dll"+1D80B1: 8B CF                    -  mov ecx,edi
"client_panorama.dll"+1D80B3: 8B 80 60 02 00 00        -  mov eax,[eax+00000260]
"client_panorama.dll"+1D80B9: FF D0                    -  call eax
"client_panorama.dll"+1D80BB: 33 F6                    -  xor esi,esi
"client_panorama.dll"+1D80BD: 84 C0                    -  test al,al
"client_panorama.dll"+1D80BF: 0F 45 F7                 -  cmovne esi,edi
"client_panorama.dll"+1D80C2: 5F                       -  pop edi
// ---------- INJECTING HERE ----------
"client_panorama.dll"+1D80C3: 8B 8E E8 2E 00 00        -  mov ecx,[esi+00002EE8]
// ---------- DONE INJECTING  ----------
"client_panorama.dll"+1D80C9: 5E                       -  pop esi
"client_panorama.dll"+1D80CA: 83 F9 FF                 -  cmp ecx,-01
"client_panorama.dll"+1D80CD: 74 16                    -  je client_panorama.dll+1D80E5
"client_panorama.dll"+1D80CF: 0F B7 C1                 -  movzx eax,cx
"client_panorama.dll"+1D80D2: C1 E0 04                 -  shl eax,04
"client_panorama.dll"+1D80D5: 05 4C 91 D3 55           -  add eax,client_panorama.dll+4C3914C
"client_panorama.dll"+1D80DA: C1 E9 10                 -  shr ecx,10
"client_panorama.dll"+1D80DD: 39 48 04                 -  cmp [eax+04],ecx
"client_panorama.dll"+1D80E0: 75 03                    -  jne client_panorama.dll+1D80E5
"client_panorama.dll"+1D80E2: 8B 00                    -  mov eax,[eax]
}

 

 

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

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

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

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