示例#1
0
        private void tmrProcess_Tick(object sender, EventArgs e)
        {
            if (gameFound && !SA[0].HasExited)
            {
                // Only the base address or multiLevel addresses need to be established first
                int playerBaseAddress = mem.ReadInt(offsets.baseAddr);
                // Stores an address which is the base address of the player struct.
                int XAddress = mem.ReadMultiLevelPointer(offsets.baseAddr, 4, offsets.xPos);
                // Multi level pointer with 2 offsets is needed to find the address of X position,
                // then this address can be read as a float.
                int ZAddress = mem.ReadMultiLevelPointer(offsets.baseAddr, 4, offsets.zPos);
                int YAddress = mem.ReadMultiLevelPointer(offsets.baseAddr, 4, offsets.yPos);


                lblX.Text = mem.ReadFloat(XAddress).ToString();
                lblZ.Text = mem.ReadFloat(ZAddress).ToString();
                lblY.Text = mem.ReadFloat(YAddress).ToString();

                lblHealth.Text = mem.ReadFloat(playerBaseAddress + offsets.health).ToString();

                int Hotkey = ProcessMemoryReaderApi.GetKeyState(0x74);//F5
                if ((Hotkey & 0x8000) != 0)
                {
                    // Teleport to Grove Street
                    mem.WriteFloat(XAddress, 2495);
                    mem.WriteFloat(ZAddress, -1668);
                    mem.WriteFloat(YAddress, 13);
                }

                int Hotkey2 = ProcessMemoryReaderApi.GetKeyState(0x75);//F6
                if ((Hotkey2 & 0x8000) != 0)
                {
                    // Teleport to Dome Stadium Roof
                    mem.WriteFloat(XAddress, 2737);
                    mem.WriteFloat(ZAddress, -1760);
                    mem.WriteFloat(YAddress, 44);
                }

                int Hotkey3 = ProcessMemoryReaderApi.GetKeyState(0x76);//F7
                if ((Hotkey3 & 0x8000) != 0)
                {
                    // Teleport to Skyscraper
                    mem.WriteFloat(XAddress, 1544);
                    mem.WriteFloat(ZAddress, -1353);
                    mem.WriteFloat(YAddress, 330);
                }
            }
            else
            {
                // Game has ended so stop performing readMemory etc
                gameFound           = false;
                btnAttach.BackColor = Color.Red;
                btnAttach.Enabled   = true;
            }
        }//tmrProcess
示例#2
0
        private void LoopTMR_Tick(object sender, EventArgs e)
        {
            if (attach)
            {
                try
                {
                    // Step2 Value를 찾아서 모니터링 (현재 값이 무엇인지 계속적으로 확인)
                    int step2SturctAddress = mem.ReadMultiLevelPointer(step2Data.baseAddress, 4, step2Data.multiLevel);
                    int step2value         = mem.ReadInt(step2SturctAddress + step2Data.offsets.health);
                    Step2ValueLBL.Text = "Step 2 Value: " + step2value;

                    // Step8 Value를 찾아서 모니터링
                    int step8SturctAddress = mem.ReadMultiLevelPointer(step8Data.baseAddress, 4, step8Data.multiLevel);
                    int step8value         = mem.ReadInt(step8SturctAddress + step8Data.offsets.health);
                    Step8ValueLBL.Text = "Step 8 Value: " + step8value;

                    // Step9의 플레이어 데이터를 모니터링
                    int p1Base = mem.ReadMultiLevelPointer(step9PlayerData.baseAddress, 4, step9PlayerData.step9P1multiLevel);
                    int p2Base = mem.ReadMultiLevelPointer(step9PlayerData.baseAddress, 4, step9PlayerData.step9P2multiLevel);
                    int p3Base = mem.ReadMultiLevelPointer(step9PlayerData.baseAddress, 4, step9PlayerData.step9P3multiLevel);
                    int p4Base = mem.ReadMultiLevelPointer(step9PlayerData.baseAddress, 4, step9PlayerData.step9P4multiLevel);

                    P1LBL.Text = "P1: [" + mem.ReadInt(p1Base + step9PlayerData.teamOffset) + " 팀]" + mem.ReadString(p1Base + step9PlayerData.nameOffset) + ": " + mem.ReadFloat(p1Base + step9PlayerData.healthOffset);
                    P2LBL.Text = "P2: [" + mem.ReadInt(p2Base + step9PlayerData.teamOffset) + " 팀]" + mem.ReadString(p2Base + step9PlayerData.nameOffset) + ": " + mem.ReadFloat(p2Base + step9PlayerData.healthOffset);
                    P3LBL.Text = "P3: [" + mem.ReadInt(p3Base + step9PlayerData.teamOffset) + " 팀]" + mem.ReadString(p3Base + step9PlayerData.nameOffset) + ": " + mem.ReadFloat(p3Base + step9PlayerData.healthOffset);
                    P4LBL.Text = "P4: [" + mem.ReadInt(p4Base + step9PlayerData.teamOffset) + " 팀]" + mem.ReadString(p4Base + step9PlayerData.nameOffset) + ": " + mem.ReadFloat(p4Base + step9PlayerData.healthOffset);

                    // 크랙을 동작시켰을때, 현재 크랙이 값을 수정하도록 만드는 작업
                    int hotkey = ProcessMemoryReaderApi.GetKeyState(0x02); // 마우스 오른쪽키에 대한 상태
                    if ((hotkey & 0x8000) != 0)                            // 키가 눌렸을 경우
                    {
                        if (crackState == false)                           // 크랙이 꺼져있는 경우에는 크랙 켜고 크랙 시도!
                        {
                            crackState          = true;
                            CrackStatusLBL.Text = "크랙 상태: On";
                        }
                        else // 크랙이 켜져있는 경우에는 크랙을 끕니다.
                        {
                            crackState          = false;
                            CrackStatusLBL.Text = "크랙 상태: Off";
                        }
                    }
                    if (crackState)
                    {
                        Step2Solve(step2SturctAddress); // step2 Value를 1000으로 수정
                        Step8Solve(step8SturctAddress); // step2 Value를 1000으로 수정
                    }
                }
                catch (Exception ex)
                {
                    crackState = false;
                    MessageBox.Show("읽기 쓰기 오류: " + ex.Message);
                }
            }
        }
示例#3
0
        private void TmrProcess_Tick(object sender, EventArgs e)
        {
            if (gameFound && !pro[0].HasExited)
            {
                GetCurrentData();

                // AIMBOT - right mouse click
                if ((ProcessMemoryReaderApi.GetKeyState(02) & 0x8000) != 0)
                {
                    Aimbot();
                }

                // Client sided Health hack - (F5 Key)
                if ((ProcessMemoryReaderApi.GetKeyState(0x74) & 0x8000) != 0)
                {
                    mem.WriteInt(player.pointerAddress + player.health, 999);
                }

                #region Teleporter

                // VK_F1 = 0x70, Save Current location as A
                if ((ProcessMemoryReaderApi.GetKeyState(0x70) & 0x8000) != 0)
                {
                    SaveCoords(0);
                }

                // VK_F2 = 0x71, Save Current location as B
                if ((ProcessMemoryReaderApi.GetKeyState(0x71) & 0x8000) != 0)
                {
                    SaveCoords(1);
                }

                // VK_F3 = 0x72, Load location A
                if ((ProcessMemoryReaderApi.GetKeyState(0x72) & 0x8000) != 0)
                {
                    LoadCoords(0);
                }

                // VK_F4 = 0x73, Load location B
                if ((ProcessMemoryReaderApi.GetKeyState(0x73) & 0x8000) != 0)
                {
                    LoadCoords(1);
                }

                #endregion
            }//if gamefound
            else
            {
                gameFound           = false;
                btnAttach.BackColor = Color.FromArgb(220, 61, 65); // Red
                btnAttach.Enabled   = true;
            }
        }
示例#4
0
        private void ProcessTMR_Tick(object sender, EventArgs e)
        {
            if (GameFound)
            {
                mouseXValueLBL.Text = Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.yaw).ToString();
                mouseYValueLBL.Text = Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.pitch).ToString();
                //DISPLAY OUR XYZ MAIN PLAYER'S POS
                xPosValueLBL.Text = Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.xPos).ToString();
                yPosValueLBL.Text = Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.yPos).ToString();
                zPosValueLBL.Text = Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.zPos).ToString();

                //SHOW OUR ENEMY VARIABLES

                HealthMineLBL.Text = Mem.ReadInt(MainPlayer.baseAddress + MainPlayer.offsets.health).ToString();

                EnHealthValueLBL.Text = Mem.ReadInt(EnemyAddresses[2].baseAddress + MainPlayer.offsets.health).ToString();
                xPosEnValueLBL.Text   = Mem.ReadFloat(EnemyAddresses[2].baseAddress + MainPlayer.offsets.xPos).ToString();
                yPosEnValueLBL.Text   = Mem.ReadFloat(EnemyAddresses[2].baseAddress + MainPlayer.offsets.yPos).ToString();
                zPosEnValueLBL.Text   = Mem.ReadFloat(EnemyAddresses[2].baseAddress + MainPlayer.offsets.zPos).ToString();

                //RIGHT MOUSE
                int res = ProcessMemoryReaderApi.GetKeyState(02);
                if ((res & 0x8000) != 0)
                {
                    //if enemy is holding AIMBOT btn or key we focus on that person until they are dead
                    FocusingOnEnemy = true;
                    AimBot();
                }
                else
                {
                    //otherwise we stop staring at them and change targets
                    FocusingOnEnemy = false;
                    FocusTarget     = -1;
                }
            }

            try
            {
                if (MyProcess != null)
                {
                    if (MyProcess[0].HasExited)
                    {
                        GameFound = false;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("There was an error " + ex.Message);
            }
        }
示例#5
0
        private void ProcessTMR_Tick(object sender, EventArgs e)
        {
            if (GameFound)
            {
                xMouse.Text = "xMouse: " + Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.yaw).ToString();
                yMouse.Text = "yMouse: " + Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.pitch).ToString();
           
                xPosLabel.Text = "xPos: " + Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.xPos).ToString();
                yPosLabel.Text = "yPos: " + Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.yPos).ToString();
                zPosLabel.Text = "zPos: " + Mem.ReadFloat(MainPlayer.baseAddress + MainPlayer.offsets.zPos).ToString();

              

                playerHealth.Text = "Health: " + Mem.ReadInt(MainPlayer.baseAddress + MainPlayer.offsets.health).ToString();


                //RIGHT MOUSE
                int res = ProcessMemoryReaderApi.GetKeyState(02);
                if ((res & 0x8000) != 0)
                {
       
                    FocusingOnEnemy = true;
                    AimBot();
                }
                else
                {
                   
                    FocusingOnEnemy = false;
                    FocusTarget = -1;
                }
            }

            try
            {
                if (MyProcess != null)
                {
                    if (MyProcess[0].HasExited)
                    {
                        GameFound = false;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Der opstod en fejl, prøv igen:\n " + ex.Message);
            }
        }
示例#6
0
        private void LoopTMR_Tick(object sender, EventArgs e)
        {
            if (attach)
            {
                try
                {
                    // step2 value를 찿아서 모니터링
                    int structAddr = mem.ReadMultiLevelPointer(
                        step2Data.baseAdress, 4, step2Data.multiLevel);
                    ValueLBL.Text = "Step2Value : " + mem.ReadInt(structAddr +
                                                                  step2Data.offsets.step2_health);

                    // 크랙이 값을 수정하는 코드
                    int hotkey = ProcessMemoryReaderApi.GetKeyState(0x02); // mouse_R button- 0x02
                    if ((hotkey & 0x8000) != 0)                            //키가눌렸을 경우
                    {
                        if (crackState == false)
                        {
                            crackState          = true;
                            CrackStatusLBL.Text = "크랙 상태 : ON";
                        }
                        else
                        {
                            crackState          = false;
                            CrackStatusLBL.Text = "크랙 상태 : OFF";
                        }
                    }
                    if (crackState)
                    {
                        Step2Solve(structAddr);          //value 를 1000으로 고정해주는 함수
                    }
                }
                catch (Exception ex)
                {
                    crackState = false;
                    MessageBox.Show("읽기 쓰기 에러 !!!" + ex.Message);
                    throw;
                }
            }//크랙을 동작시켰을때, 현재크랙의 값을 수정
        }
示例#7
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            if (ProcessFound)
            {
                // Store entities memory addresses
                int LocalPlayerAddress = Mem.ReadMultiLevelPointer(LocalPlayerBase, 4, LocalPlayerOff);
                int Enemy1Address      = Mem.ReadMultiLevelPointer(Enemy1Base, 4, Enemy1Off);

                // Read Local PLayer Values
                int HealthValue     = Mem.ReadInt(LocalPlayerAddress + off_health);
                int RiffleAmmoValue = Mem.ReadInt(LocalPlayerAddress + off_rifle_ammo);

                // Read Enemy 1 Values
                int   Enemy1HealthValue = Mem.ReadInt(Enemy1Address);
                float Enemy1XPosValue   = Mem.ReadFloat(Enemy1Address - Enemy1XPos);
                float Enemy1YPosValue   = Mem.ReadFloat(Enemy1Address - Enemy1YPos);
                float Enemy1ZPosValue   = Mem.ReadFloat(Enemy1Address - Enemy1ZPos);

                // Local Player Lables
                Health.Text     = "Health: " + HealthValue.ToString();
                RiffleAmmo.Text = "Riffle Ammo: " + RiffleAmmoValue.ToString();

                // Enemy 1 Lables
                enemy1_hp_lable.Text   = "Enemy 1 HP: " + Enemy1HealthValue.ToString();
                enemy1_xpos_lable.Text = "X-Pos: " + Enemy1XPosValue.ToString();
                enemy1_ypos_lable.Text = "Y-Pos: " + Enemy1YPosValue.ToString();
                enemy1_zpos_lable.Text = "Z-Pos: " + Enemy1ZPosValue.ToString();


                if (RiffleAmmoValue < 5)
                {
                    // Set Local Player Riffle Ammo to 20 if it less than 5
                    Mem.WriteInt(LocalPlayerAddress + off_rifle_ammo, 20);
                    // Set Local Player HP to 1000 when ammo is less han 5
                    Mem.WriteInt(LocalPlayerAddress + off_health, 1000);
                }

                // Left mouse button pressed
                int pressedLeftMouse = ProcessMemoryReaderApi.GetKeyState(01);
                if ((pressedLeftMouse & 0x8000) != 0)
                {
                    Mem.WriteInt(LocalPlayerAddress + off_fire, 1);

                    // Remove Y-axin recoil when shooting
                    float Ymouse_pos = Mem.ReadFloat(LocalPlayerAddress + off_Ymouse);
                    Ymouse_pos -= 0.38f;
                    Mem.WriteFloat(LocalPlayerAddress + off_Ymouse, Ymouse_pos);
                }
                else
                {
                    Mem.WriteInt(LocalPlayerAddress + off_fire, 0);
                }

                // F1 button pressed
                int pressedF1 = ProcessMemoryReaderApi.GetKeyState(0x70);
                if ((pressedF1 & 0x8000) != 0)
                {
                    Mem.WriteFloat(LocalPlayerAddress + off_XPos, Enemy1XPosValue);
                    Mem.WriteFloat(LocalPlayerAddress + off_YPos, Enemy1YPosValue);
                    Mem.WriteFloat(LocalPlayerAddress + off_ZPos, Enemy1ZPosValue);
                }
            }
        }
示例#8
0
        private void Timer1_Tick(object sender, EventArgs e) // 0.1초마다 동작
        {
            if (attach)
            {
                try
                {
                    mainPlayer.SetPlayerData(mem); // 데이터 모니터링
                    if (healthHack)
                    {
                        mainPlayer.hackHealth(mem);
                    }
                    if (ammoHack)
                    {
                        mainPlayer.hackAmmo(mem);
                    }

                    int hotkey = ProcessMemoryReaderApi.GetKeyState(0x02);

                    if (wallHack || (hotkey & 0x8000) != 0)
                    {
                        GetEnemyState(mem);
                        // 원래 에임핵을 쏠 때 쓰려고 하는건데 월핵에서 이걸 받아야하기 때문에 에임핵에 있던 걸 바깥으로 빼준다, 위에 핫키도 마찬가지
                    }

                    if (wallHack)
                    {
                        overlayForm.hackWall(mainPlayer, enemyPlayer);
                    }

                    // 마우스 오른쪽키에 대한 상태를 확인
                    // int hotkey = ProcessMemoryReaderApi.GetKeyState(0x02);
                    if ((hotkey & 0x8000) != 0) // 키가 눌려있다면
                    {
                        // GetEnemyState(mem);  적들에 대한 정보 습득

                        float  min_err     = 100000; // 에러를 큰 값으로 초기화 시켜준다
                        float  err         = 0;
                        double min_x_angle = 0;
                        double min_y_angle = 0;


                        for (int i = 0; i < 30; i++)
                        {
                            // aim hack algorithm

                            err = mainPlayer.getAimErr(mem, enemyPlayer[i].head_x_angle, enemyPlayer[i].head_y_angle);
                            if (min_err > err)
                            {
                                min_err     = err;
                                min_x_angle = enemyPlayer[i].head_x_angle;
                                min_y_angle = enemyPlayer[i].head_y_angle;
                            }
                        }

                        mainPlayer.hackAim(mem, min_x_angle, min_y_angle);
                    }

                    HealthLBL.Text      = "Health : " + mainPlayer.health;
                    AmmoLBL.Text        = "Ammo : " + mainPlayer.ammo;
                    BulletProofLBL.Text = "BulletProof : " + mainPlayer.bullet_proof;
                    AngleLBL.Text       = "Angle : " + mainPlayer.x_angle + " | " + mainPlayer.y_angle;
                    PosLBL.Text         = "Position : " + mainPlayer.x_pos + " | " + mainPlayer.y_pos + " | " + mainPlayer.z_pos;
                }
                catch { }
            }
        }
示例#9
0
        private void timer1_Tick(object sender, EventArgs e) // 0.001초마다 동작
        {
            if (attach)
            {
                try
                {
                    mainPlayer.SetPlayerData(mem); // 데이터 모니터링
                    if (healthHack)
                    {
                        mainPlayer.hackHealth(mem);
                    }

                    if (ammoHack)
                    {
                        mainPlayer.hackAmmo(mem);
                    }

                    // 마우스 오른쪽 키에 대한 상태를 확인
                    int hotkey = ProcessMemoryReaderApi.GetKeyState(0x02);

                    if (wallHack || (hotkey & 0x8000) != 0)
                    {
                        GetEnemyState(mem); // 적들에 대한 정보 습득
                    }

                    if (wallHack)
                    {
                        overlayForm.hackWall(mainPlayer, enemyPlayer);
                    }


                    if ((hotkey & 0x8000) != 0)      // 키가 눌려있다면...
                    {
                        float  min_err     = 100000; // 에러를 굉장히 큰 값으로 초기화
                        float  err         = 0;
                        double min_x_angle = 0;
                        double min_y_angle = 0;


                        for (int i = 0; i < 30; i++)
                        {
                            // aim hack algorithm

                            err = mainPlayer.getAimErr(mem, enemyPlayer[i].head_x_angle, enemyPlayer[i].head_y_angle);
                            if (min_err > err)
                            {
                                min_err     = err;
                                min_x_angle = enemyPlayer[i].head_x_angle;
                                min_y_angle = enemyPlayer[i].head_y_angle;
                            }
                        }

                        mainPlayer.hackAim(mem, min_x_angle, min_y_angle);
                    }



                    HealthLBL.Text      = "Health: " + mainPlayer.health; // Health: 100
                    AmmoLBL.Text        = "Ammo: " + mainPlayer.ammo;
                    BulletProofLBL.Text = "BulletProof: " + mainPlayer.bullet_proof;
                    AngleLBL.Text       = "Angle: " + mainPlayer.x_angle.ToString("#.##") + " | " + mainPlayer.y_angle.ToString("#.##");
                    PositionLBL.Text    = "Pos: " + mainPlayer.x_pos.ToString("#.##") + ", " + mainPlayer.y_pos.ToString("#.##") + "," + mainPlayer.z_pos.ToString("#.##");
                }
                catch { }
            }
        }