Exemplo n.º 1
0
        public static void MainThread()
        {
            while (!Program.IsClosing)
            {
                if (!Enabled || !InGame) //Чит не включен или не в игре
                {
                    Thread.Sleep(500);
                    continue;
                }
                {
                    uint _localPlayerPtr = LocalPlayerPtr;
                    if (_localPlayerPtr != 0)
                    {
                        float _alpha = 255f - SuppressAmount;

                        //Чекаем лимиты
                        if (_alpha > 255f)
                        {
                            _alpha = 255f;
                        }
                        else if (_alpha < 0f)
                        {
                            _alpha = 0;
                        }

                        //Хакаем
                        KernelBlackMagic.Write(_localPlayerPtr + offsets["m_flFlashMaxAlpha"], _alpha);
                    }
                }
                Thread.Sleep(500);
            }
        }
Exemplo n.º 2
0
 public void Glow(uint GlowObjectPtr, uint GlowIndex)
 {
     if (IsValid)
     {
         KernelBlackMagic.WriteBytes(GlowObjectPtr + (GlowIndex * 0x38) + 0x4, ColorArray);
         KernelBlackMagic.WriteBytes(GlowObjectPtr + (GlowIndex * 0x38) + 0x24, RenderArray);
     }
 }
Exemplo n.º 3
0
 /// <summary>
 /// Update the internal player data
 /// </summary>
 public void Update(uint Pointer)
 {
     this.Pointer    = Pointer;
     this.GlowIndex  = KernelBlackMagic.Read <uint>(Pointer + offsets["m_iGlowIndex"]);
     this.IsUmmunity = (KernelBlackMagic.Read <byte>(Pointer + offsets["m_bGunGameImmunity"]) == 1);
     this.IsDefusing = KernelBlackMagic.Read <bool>(Pointer + offsets["m_bIsDefusing"]);
     this.TeamNum    = KernelBlackMagic.Read <uint>(Pointer + offsets["m_iTeamNum"]);
     this.Health     = KernelBlackMagic.Read <uint>(Pointer + offsets["m_iHealth"]);
 }
Exemplo n.º 4
0
        public static void Disable()
        {
            uint _localPlayerPtr = LocalPlayerPtr;

            if (InGame && _localPlayerPtr != 0)
            {
                KernelBlackMagic.Write(_localPlayerPtr + offsets["m_flFlashMaxAlpha"], 255f);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get MM wins
        /// </summary>
        public uint GetWins()
        {
            uint _playerResourcesPtr = PlayerResourcesPtr;

            if (_playerResourcesPtr != 0)
            {
                return(KernelBlackMagic.Read <uint>(_playerResourcesPtr + offsets["m_iCompetitiveWins"] + (Index + 1) * 0x4));
            }
            return(0);
        }
Exemplo n.º 6
0
        public static void PlayerEntitiesUpdater_Thread()
        {
            while (!Program.IsClosing)
            {
                Stopwatch timer = Stopwatch.StartNew();
                if (InGame)
                {
                    //Обновляем текущую тиму у локального игрока
                    uint _localPlayerPtr = LocalPlayerPtr;
                    if (_localPlayerPtr != 0)
                    {
                        LocalPlayer.TeamNum = KernelBlackMagic.Read <uint>(_localPlayerPtr + offsets["m_iTeamNum"]);
                    }

                    //Обновляем всех игроков
                    for (uint Index = 0; Index < 64; Index++)
                    {
                        uint pointer = KernelBlackMagic.Read <uint>(Modules.ClientDLL + offsets["dwEntityList"] + Index * 16);
                        if (pointer != 0)
                        {
                            //Если игрок уже есть в списке
                            if (_PlayersList.ContainsKey(Index))
                            {
                                _PlayersList[Index].Update(pointer); //Обновляем его
                            }
                            else
                            {
                                lock (_PlayersList) //Игрока нету в списке, добавляем!
                                    _PlayersList.Add(Index, new PlayerEntity(pointer, Index));
                            }
                        }
                        else
                        {
                            if (_PlayersList.ContainsKey(Index))
                            {
                                lock (_PlayersList) //Удаляем устаревшую информацию
                                    _PlayersList.Remove(Index);
                            }
                        }
                    }
                }
                else
                {
                    lock (_PlayersList) //Мы не в игре, поэтому очищаем оставшийся мусор
                        _PlayersList.Clear();
                }
                timer.Stop();
                PlayersListUpdateTakenMs = timer.Elapsed.TotalMilliseconds;

                //Спим примерно 1 тик игры
                Thread.Sleep(16);
            }
        }
Exemplo n.º 7
0
 public bool Fill(uint PlayerInfoStructPtr)
 {
     this.PlayerInfoStructPtr = PlayerInfoStructPtr;
     if (PlayerInfoStructPtr != 0)
     {
         Name       = KernelBlackMagic.ReadString(PlayerInfoStructPtr + 0x10, 128);
         UserId     = KernelBlackMagic.Read <byte>(PlayerInfoStructPtr + 0x93);
         SteamId    = KernelBlackMagic.ReadString(PlayerInfoStructPtr + 0x94, 36);
         FakePlayer = KernelBlackMagic.Read <bool>(PlayerInfoStructPtr + 0x139);
         IsHltv     = KernelBlackMagic.Read <bool>(PlayerInfoStructPtr + 0x13A);
         return(true);
     }
     return(false);
 }
Exemplo n.º 8
0
        /// <summary>
        /// Get PlayerInfo by Index from entities list
        /// </summary>
        public static PlayerInfo GetByIndex(uint Index)
        {
            uint _playerInfoPtr = ClientStatePlayerInfoPtr;

            if (_playerInfoPtr != 0)
            {
                uint someClassOne = KernelBlackMagic.Read <uint>(_playerInfoPtr + 0x40);
                if (someClassOne != 0)
                {
                    uint someClassTwo = KernelBlackMagic.Read <uint>(someClassOne + 0xC);
                    if (someClassTwo != 0)
                    {
                        uint       pInfo = KernelBlackMagic.Read <uint>(someClassTwo + 0x28 + (Index * 0x34));
                        PlayerInfo info  = new PlayerInfo();
                        info.Fill(pInfo);
                        return(info);
                    }
                }
            }
            return(null);
        }
Exemplo n.º 9
0
        public static void MainThread()
        {
            while (!Program.IsClosing)
            {
                if (!Enabled || !InGame)
                {
                    Thread.Sleep(500);
                    continue;
                }
                {
                    //Если нажали пробел
                    if (GetAsyncKeyState(Keys.Space))
                    {
                        //Получаем состояние игрока
                        uint fFlags = LocalPlayer.fFlags;

                        //Если клавиша нажата и игрок не в воздухе
                        if (fFlags % 2 == 0)
                        {
                            KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 4); //"Un"force jump
                            KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 5); //Force jump
                            KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 4); //"Un"force jump
                        }
                        else if (!(fFlags % 2 == 0))
                        {
                            KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 5); //Force jump
                        }
                        else
                        {
                            KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 4); //"Un"force jump
                        }
                    }
                }
                Thread.Sleep(Period);
            }
        }
Exemplo n.º 10
0
        public static void MainThread()
        {
            while (!Program.IsClosing)
            {
                if (!Enabled || !InGame)
                {
                    Thread.Sleep(500);
                    continue;
                }

                if (IsActivated()) //Можно триггерится?
                {
                    //Метод без задержки или с простой задержкой
                    if (DelayType == TriggerDelayType.NO_DELAY || DelayType == TriggerDelayType.DELAY)
                    {
                        uint localPlayerPtr = LocalPlayerPtr;
                        if (localPlayerPtr != 0)
                        {
                            int CrossHairID = (KernelBlackMagic.Read <int>(localPlayerPtr + offsets["m_iCrosshairId"]) - 1);
                            if (CrossHairID >= 0 && CrossHairID <= 63)
                            {
                                PlayerEntity player;
                                if (PlayersList.TryGetValue((uint)CrossHairID, out player))
                                {
                                    //Проверяем валидность тимы
                                    if (TeamActivate == TriggerTeamType.ENEMY && !player.IsEnemy)
                                    {
                                        goto Exit;
                                    }
                                    else if (TeamActivate == TriggerTeamType.TEAMMATES && player.IsEnemy)
                                    {
                                        goto Exit;
                                    }

                                    //Игрок не в неуязвимости
                                    if (!player.IsUmmunity)
                                    {
                                        //Если метод простой задержки перед выстрелом, то ждем необходимую задержку!
                                        if (DelayType == TriggerDelayType.DELAY)
                                        {
                                            Thread.Sleep(Delay + ((Delay * _Random.Next(-DelaySpreadProcents, DelaySpreadProcents)) / 100));
                                        }

                                        //Атакуем!
                                        LocalPlayer.Attack((byte)_Random.Next(8, 16));

                                        //После клика немного поспим
                                        Thread.Sleep(_Random.Next(22, 48));
                                    }
                                }
                            }
                        }
                    }

                    //МЕТОД УДЕРЖАНИЯ
                    else if (DelayType == TriggerDelayType.HOLDING)
                    {
                        MessageBox.Show("Сука, кулхацкер взломал)0");
                        Thread.Sleep(5000);
                    }
                }
Exit:
                Thread.Sleep(2); //2мс период
            }
        }
Exemplo n.º 11
0
 public static void Jump(byte pressTime)
 {
     KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 5);
     Thread.Sleep(pressTime);
     KernelBlackMagic.Write(Modules.ClientDLL + offsets["dwForceJump"], 4);
 }