Перейти к содержанию
Авторизация  
barsuuk

[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

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


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

спасибо огромное) оказалось все на столько изи))

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

×

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

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