Full C# Base

Posts 1–15 of 47 · Page 1 of 4
Full C# Base
I totally stopped coding crossfire hacks, so i release my entire base, with all classes, and tricks i developed throught my way...
Also i added the CLR Injector i use, which is @Jason 's project...

I added some description what is what (not so much..)
 
Codes

First of all the Program.cs (that contains our DllMain)
 
Program.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System****; [System.[I][O]; Without the "[]"
using System.Reflection;
using System.Diagnostics;

namespace RabirDimensionalBeast
{
    class Main
    {
        [DllImport("Kernel32.dll")]
        public static extern IntPtr GetModuleHandle(string ModuleName);

        [DllImport("user32.dll")]
        public static extern int GetAsyncKeyState(Keys Key);

        public static bool HackMode = true;
		
        static int DllMain(String arg)
        {
            OpenMenu();
            StartHacking();
            return 0;
        }
        public static bool OneRun = false;
        public static uint CShell = 0;
        //############################################ Thread Startings ###################
        public static void StartHacking()
        {
            new Thread(new ThreadStart(Hackin)).Start();
        }
        public static void OpenMenu()
        {
            new Thread(new ThreadStart(MenuHelper)).Start();
        }
        public static void MenuHelper()
        {
            Application.Run(new MenuForm());
        }
        //############################################ Hack Thread ########################
        public static unsafe void Hackin()
        {
            //Get CShell
            while (CShell == 0)
            {
                CShell = (uint)GetModuleHandle("CShell.dll");
                Thread.Sleep(10);
            }

            //Offset Searching
            PatternScanner.LogAddresses(CShell);

            //**********************Set Up Variables
            Console.WriteLine(">>>>Dynamic Variables<<<<");
            //WeaponMgr
            Storage.SetFloatValue(2, "Level2Scope");

            //BasicPlayerInfo
            Storage.SetFloatValue(0.235f, "MovementDuckWalkRate");
            Storage.SetFloatValue(0.5f, "MovementWalkRate");

            //PlayerPointer
            Storage.SetFloatValue(1, "DefuseTime");
            Storage.SetFloatValue(1, "DefuseDistance");

            //Others
            Storage.SetByteValue(8, "Wallhack");
            Storage.SetIntValue(14, "SeeGhost");

            Storage.SetIntValue(0, "SpyMode");

            Thread.Sleep(2000);

            //Define Pointers
            //*******************************Define Pointers
            Console.WriteLine("Start Searching For Pointers");

            uint WeapMgr = PatternScanner.FindWeaponMgr(CShell);
            Storage.SetPointer(WeapMgr, "WeaponMgr");

            uint CShPtr = PatternScanner.FindCShellPointer(CShell);
            Storage.SetPointer(CShPtr, "CShellPointer");

            uint BscPly = PatternScanner.FindBasicPlayerInfo(CShell);
            Storage.SetPointer(BscPly, "BasicPlayerInfo");

            uint PtcPtr = PatternScanner.FindPushToConsole(CShell);
            Storage.SetPointer(PtcPtr, "PushToConsole");

            uint ByPassPtr = PatternScanner.FindBypass(CShell);
            Storage.SetPointer(ByPassPtr, "ByPass");

            uint ByPassPtr2 = PatternScanner.FindSecondBypass(CShell);
            Storage.SetPointer(ByPassPtr2, "ByPass2");

            uint WH = PatternScanner.FindWallHack(CShell);
            Storage.SetPointer(WH, "WallHack");

            uint SG = PatternScanner.FindMemorySeeGhost(CShell);
            Storage.SetPointer(SG, "SeeGhost");

            //#################### ByPass
            //ByPass.CreateBypass(Main.CShell, Storage.GetPointer("WeaponMgr"), Storage.GetPointer("ByPass"));

            //####################################################################### Hacking
            //PatternScanner.BetaOffsetSearch(CShell);

            while (true)
            {
                //Set Up Process Pointers
                uint pWeaponMgr = *(uint*)(CShell + Storage.GetPointer("WeaponMgr"));
                uint pBasicPlayerInfo = *(uint*)(CShell + Storage.GetPointer("BasicPlayerInfo"));
                uint pPlayerPointer = *(uint*)(CShell + Storage.GetPointer("CShellPointer") + 0x54);
                
                //Memory Wallhack
                *(byte*)(Storage.GetPointer("WallHack") + 0x68) = Storage.GetByteValue("Wallhack");

                //MemorySeeGhost
                *(int*)(Storage.GetPointer("SeeGhost")) = Storage.GetIntValue("SeeGhost");

                if (Storage.GetIntValue("SpyMode") == 1)
                    CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "LatencySim 99999999");
                else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "LatencySim 0");
                //############################

                //WeaponMgr Hacks
                if (pWeaponMgr != 0)
                {
                    for (int i = 0; i < 999; i++)
                    {
                        Weapon CurrentWeapon = new Weapon(*(uint*)(pWeaponMgr + (4 * i)));

                        if (CurrentWeapon.RealWeapon)
                        {
                            //********************* BETA *****************
                            //No Reload
                            //CurrentWeapon.ReloadAnimRatio = 30;

                            //No Change Delay
                            //CurrentWeapon.ChangeWeaponAnimRatio = 30;

                            /*
                            //No Recoil
                            for (int y = 0; y < 9; y++)
                            {
                                *(float*)(CurrentWeapon + (Storage.GetOffset("DetailPerturbShot") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("DatailReactYawShot") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("DatailReactPitchShot") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("ShotReactPitch") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("ShotReactYaw") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("BulletPosOffset") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("PerturbMin") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("PerturbMax") + (4 * y))) = 0;
                            }
                            */

                            //*******************************************
                            //1 Hit (Only ZM)
                            if (!OneRun) Storage.DamageVariantFactor[i] = CurrentWeapon.DamageVariantionFactor;

                            if (Storage.GetByteValue("OneHit") == 1)
                                CurrentWeapon.DamageVariantionFactor = -99;
                            else CurrentWeapon.DamageVariantionFactor = Storage.DamageVariantFactor[i];

                            //Repeat Fire
                            if (Storage.GetWeaponType(i) != Storage.WeaponType.Hypomed)
                                CurrentWeapon.LeftClickAttributes = 2;

                            //Zoom Hack
                            if ((i != 390 || i != 391) && (Storage.GetWeaponType(i) == Storage.WeaponType.Rifle || Storage.GetWeaponType(i) == Storage.WeaponType.MG || Storage.GetWeaponType(i) == Storage.WeaponType.Pistol || Storage.GetWeaponType(i) == Storage.WeaponType.Shotgun || Storage.GetWeaponType(i) == Storage.WeaponType.SMG) || (Storage.GetWeaponType(i) == Storage.WeaponType.Sniper && (Storage.GetByteValue("SniperNoZoom") == 1)))
                            {
                                CurrentWeapon.RightClickAttributes = 2;
                                CurrentWeapon.ZoomAttributes = 8;

                                CurrentWeapon.ZoomAction = new float[] { 1, Storage.GetFloatValue("Level2Scope"), 0, 0, 0, 0, 0, 0, 0, 0, 2, 500, 500 };
                            }

                            //No-Flash
                            if (i == 7) CurrentWeapon.Range = 0;

                            //Anti Assassin Nade
                            if (i == 423) CurrentWeapon.Range = 0;

                            //No Nade Damage
                            if (Storage.GetWeaponType(i) == Storage.WeaponType.Grenade)
                                CurrentWeapon.AmmoDamage = 0;

                            //Shotgun Spread
                            //*(int*)(CurrentWeapon + Storage.GetOffset("ShotsPerAmmo")) = 5; //Can't cause damage

                        } //End if(CurrentWeapon)
                    } //End for(999)
                    //WriteFile.Close();
                } //End if (pWeaponMgr)

                //BasicPlayerInfo
                if (pBasicPlayerInfo != 0)
                {
                    BasicPlayerInfo PlayerInfo = new BasicPlayerInfo(pBasicPlayerInfo);
                    *(float*)(pBasicPlayerInfo + Storage.GetOffset("MovementDuckWalkRate")) = Storage.GetFloatValue("MovementDuckWalkRate");
                    
                    PlayerInfo.MovementWalkRate = Storage.GetFloatValue("MovementWalkRate");
                    PlayerInfo.C4DefuseTime = Storage.GetFloatValue("DefuseTime");
                }
                /*
                if (pPlayerPointer != 0)
                {
                    if (GetAsyncKeyState(Keys.E) < 0) *(float*)(pPlayerPointer + Storage.GetOffset("FlyOffset")) = Storage.GetFloatValue("Gravity");
                    else *(float*)(pPlayerPointer + Storage.GetOffset("FlyOffset")) = 1;
                }
                */
                Thread.Sleep(10);
                OneRun = true;
            }//End While(true)
        }
    }
}


And then We have a Classes.cs which contains the Weapon Class and BasicPlayerInfoClass
 
Classes.cs

Code:
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RabirDimensionalBeast
{
    unsafe class Weapon
    {
        private uint Pointer;
        public bool RealWeapon;
        public Weapon(uint Pointer)
        {
            RealWeapon = (Pointer != 0);
            this.Pointer = Pointer;
        }

        public string WeaponName
        {
            get 
            {
                string Name = "";
                for (int i = 0; i < 30; i++)
                    Name += (char)(*(byte*)(Pointer + 0x9 + i));
                return Name;
            }
        }
        public float ReloadAnimRatio
        {
            get { return *(float*)(Pointer + Storage.GetOffset("ReloadAnimRatio")); }
            set { *(float*)(Pointer + Storage.GetOffset("ReloadAnimRatio")) = value; }
        }

        public float ChangeWeaponAnimRatio
        {
            get { return *(float*)(Pointer + Storage.GetOffset("ChangeWeaponAnimRatio")); }
            set { *(float*)(Pointer + Storage.GetOffset("ChangeWeaponAnimRatio")) = value; }
        }

        public int LeftClickAttributes
        {
            get { return *(int*)(Pointer + Storage.GetOffset("LeftClickAttributes")); }
            set { *(int*)(Pointer + Storage.GetOffset("LeftClickAttributes")) = value; }
        }

        public int RightClickAttributes
        {
            get { return *(int*)(Pointer + Storage.GetOffset("RightClickAttributes")); }
            set { *(int*)(Pointer + Storage.GetOffset("RightClickAttributes")) = value; }
        }

        public int ZoomAttributes
        {
            get { return *(int*)(Pointer + Storage.GetOffset("ZoomAttributes")); }
            set { *(int*)(Pointer + Storage.GetOffset("ZoomAttributes")) = value; }
        }

        public float[] ZoomAction
        {
            get 
            {
                //"ZoomAction"
                float[] Array = new float[13];
                for (int i = 0; i < 13; i++)
                {
                    if (i == 10)
                        Array[i] = (float)*(int*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i));
                    else
                        Array[i] = *(float*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i));
                }
                return Array;
            }
            set
            {
                for (int i = 0; i < 13; i++)
                    if (i == 10)
                        *(int*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i)) = (int)value[i];
                    else *(float*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i)) = value[i];
            }
        }

        public float Range
        {
            get { return *(float*)(Pointer + Storage.GetOffset("Range")); }
            set { *(float*)(Pointer + Storage.GetOffset("Range")) = value; }
        }

        public float AiModeRange
        {
            get { return *(float*)(Pointer + Storage.GetOffset("AiModeRange")); }
            set { *(float*)(Pointer + Storage.GetOffset("AiModeRange")) = value; }
        }

        public float AmmoDamage
        {
            get { return *(float*)(Pointer + Storage.GetOffset("AmmoDamage")); }
            set { *(float*)(Pointer + Storage.GetOffset("AmmoDamage")) = value; }
        }

        public float DamageVariantionFactor
        {
            get { return *(float*)(Pointer + Storage.GetOffset("DamageVariantionFactor")); }
            set { *(float*)(Pointer + Storage.GetOffset("DamageVariantionFactor")) = value; }
        }
    }

    //###################################################################################################################
    unsafe class BasicPlayerInfo
    {
        private uint Pointer;
        public BasicPlayerInfo(uint Pointer)
        {
            this.Pointer = Pointer;
        }


        public float C4DefuseTime
        {
            get { return *(float*)(Pointer + Storage.GetOffset("C4DefuseTime")); }
            set { *(float*)(Pointer + Storage.GetOffset("C4DefuseTime")) = value; }
        }

        public float CharacterHiddenWalkAlpha
        {
            get { return *(float*)(Pointer + Storage.GetOffset("CharacterHiddenWalkAlpha")); }
            set { *(float*)(Pointer + Storage.GetOffset("CharacterHiddenWalkAlpha")) = value; }
        }

        public float CharacterRunAlpha
        {
            get { return *(float*)(Pointer + Storage.GetOffset("CharacterRunAlpha")); }
            set { *(float*)(Pointer + Storage.GetOffset("CharacterRunAlpha")) = value; }
        }

        public float MovementWalkRate
        {
            get { return *(float*)(Pointer + Storage.GetOffset("MovementWalkRate")); }
            set { *(float*)(Pointer + Storage.GetOffset("MovementWalkRate")) = value; }
        }
    }
}


You can see some "Console.WriteLine" command, i made my custom Console output on the form, so here is my Console Class:
 
Console.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RabirDimensionalBeast
{
    class Console
    {
        public static bool UpDated = false;
        public static string ConsoleBuffer = "";

        public static void WriteLine(string Text)
        {
            ConsoleBuffer += Text + "\r\n";
            UpDated = true;
        }

        public static void WriteLine()
        {
            ConsoleBuffer += "\r\n";
            UpDated = true;
        }

        public static void Write(string Text)
        {
            ConsoleBuffer += Text ;
            UpDated = true;
        }

        public static void Write(char Chr)
        {
            ConsoleBuffer += Chr;
            UpDated = true;
        }

        public static void Clear()
        {
            ConsoleBuffer = "";
            UpDated = true;
        }
    }
}


I have PTC in my hack, so here is the CShellFunctions.cs
 
CShellFunctions.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace RabirDimensionalBeast
{
    class CShellFunctions
    {
        // Function delegate..
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate void _PushToConsole([MarshalAs(UnmanagedType.LPStr)] string Text);

        //**************************************************
        public static unsafe void PushToConsole(uint CShell, uint PTCPointer, int PTCOffset, string Command)
        {
        
            uint LTClient = *(uint*)((CShell + PTCPointer));
            uint PTCAddy = *(uint*)(LTClient + PTCOffset);

            var PTC = (_PushToConsole)Marshal.GetDelegateForFunctionPointer(new IntPtr(PTCAddy), typeof(_PushToConsole));
            PTC(Command);
        }
    }
}


This is an Auto-Update hack, that means it search (almost) all of the Offsets and Addresses automatically at each start, there you go:
 
PatternScanner.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace RabirDimensionalBeast
{
    class PatternScanner
    {
        private static unsafe uint FindPattern(int StartAddress, int Length, string bMask, string szMask)
        {
            byte[] ByteMask = new byte[szMask.Length];

            //Creating Byte Array
            int State = 0;
            for (int i = 0; i < bMask.Length; i++)
            {
                if (bMask[i] == 'x')
                {
                    ByteMask[State] = byte.Parse(bMask.Substring(i + 1, 2), System.Globalization.NumberStyles.HexNumber);
                    State++;
                }

            }

            //Searching Byte Pattern
            for (int i = 0; i < Length; i++)
            {
                bool Found = true;
                for (int j = 0; j < ByteMask.Length; j++)
                {
                    Found = Found && ((ByteMask[j] == *(byte*)(StartAddress + i + j)) || szMask[j] == '?');
                }
                if (Found) return (uint)(StartAddress + i); //Found it
            }
            return 0; //Didn't found it
        }

        public static unsafe int[] SequentedOffsetScanner(int StartAddress, int Length, string bMask, string szMask, int OffsetPos)
        {
            List<int> FoundOffsets = new List<int>();

            //Creating Byte Array
            byte[] ByteMask = new byte[szMask.Length];
            int State = 0;
            for (int i = 0; i < bMask.Length; i++)
            {
                if (bMask[i] == 'x')
                {
                    ByteMask[State] = byte.Parse(bMask.Substring(i + 1, 2), System.Globalization.NumberStyles.HexNumber);
                    State++;
                }

            }

            //Searching Byte Pattern
            for (int i = 0; i < Length; i++)
            {
                bool Found = true;
                for (int j = 0; j < ByteMask.Length; j++)
                {
                    Found = Found && ((ByteMask[j] == *(byte*)(StartAddress + i + j)) || szMask[j] == '?');
                }
                if (Found)
                {
                    if (!FoundOffsets.Contains(*(int*)(StartAddress + i + OffsetPos)))
                        FoundOffsets.Add(*(int*)(StartAddress + i + OffsetPos));
                }
            }
            return FoundOffsets.ToArray();
        }

        public static unsafe int[] SequentedByteOffsetScanner(int StartAddress, int Length, string bMask, string szMask, int OffsetPos)
        {
            List<int> FoundOffsets = new List<int>();

            //Creating Byte Array
            byte[] ByteMask = new byte[szMask.Length];
            int State = 0;
            for (int i = 0; i < bMask.Length; i++)
            {
                if (bMask[i] == 'x')
                {
                    ByteMask[State] = byte.Parse(bMask.Substring(i + 1, 2), System.Globalization.NumberStyles.HexNumber);
                    State++;
                }

            }

            //Searching Byte Pattern
            for (int i = 0; i < Length; i++)
            {
                bool Found = true;
                for (int j = 0; j < ByteMask.Length; j++)
                {
                    Found = Found && ((ByteMask[j] == *(byte*)(StartAddress + i + j)) || szMask[j] == '?');
                }
                if (Found)
                {
                    if (!FoundOffsets.Contains((int)(*(byte*)(StartAddress + i + OffsetPos))))
                        FoundOffsets.Add((int)(*(byte*)(StartAddress + i + OffsetPos)));
                }
            }
            return FoundOffsets.ToArray();
        }

        //######################### Find Addys #####################
        //******************Pointers
        public static unsafe uint FindWeaponMgr(uint CShell)
        {
            uint WeaponMgr = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x4F\x04\xA1\x00\x00\x00\x00\x85\xC0\x8B\x51\x04\x8B\x6A\x04", "xxxx????xxxxxxxx");
            WeaponMgr = (*(uint*)(WeaponMgr + 4)) - CShell;
            return WeaponMgr;
        }

        public static unsafe uint FindCShellPointer(uint CShell)
        {
            uint CShell_Pointer = FindPattern((int)CShell, 0xFFFFFF, @"\xc6\x01\x01\x8b\x15\x00\x00\x00\x00\x8b\x82\x00\x00\x00\x00\x8B", "xxxxx????xx????x");
            CShell_Pointer = (*(uint*)(CShell_Pointer + 5)) - CShell;
            return CShell_Pointer;
        }

        public static unsafe uint FindBasicPlayerInfo(uint CShell)
        {
            uint BasicPlayerInfo = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\xD8\x52\xF6\x10\x83\xC4\x04\x69\xC0\xA8\x00\x00\x00\xD9\x9C\x08\x88\x00\x00\x00\x8B\x4C\x24\x30\x3B\xCB", "xx????xxxxx????xxx????xxx?xx");
            BasicPlayerInfo = (*(uint*)(BasicPlayerInfo + 2)) - CShell;
            return BasicPlayerInfo;
        }
        public static unsafe uint FindPushToConsole(uint CShell)
        {
            uint PTC = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\x44\xA2\x59\x10\x8B\x91\x04\x02\x00\x00\x68\xB8\x55\x4C\x10\xFF\xD2\x83\xC4\x04\x53\xE8\x46\xF3\xFD\xFF\x8B\xC8\xE8\xBF\x5F\x2F\x00", "xx????xx????x????xxxxxxx????xxx????");
            PTC = (*(uint*)(PTC + 2)) - CShell;
            return PTC;
        }

        public static unsafe uint FindBypass(uint CShell)
        {
            uint ByPass = FindPattern((int)CShell, 0xFFFFFF, @"\xE8\xF6\x06\xE9\xFF\x8B\xF0\x83\xC4\x04\x85\xF6\x0F\x84\xE2\x01\x00\x00\xD9\x86\x3C\x0C\x00\x00\x0F\xB6\x86\x6C\x08\x00\x00\xD9\x5C\x24\x08\x89\x44\x24\x04\xD9\x86\x40\x0C\x00\x00\x57", "x????xxxx?xxxx????xx????xxx????xxx?xxx?xx????x");
            return ByPass - CShell;
        }

        public static unsafe uint FindSecondBypass(uint CShell)
        {
            uint ByPass = FindPattern((int)CShell, 0xFFFFFF, @"\x66\x8B\x54\x24\x04\x33\xC0\x66\x85\xD2\x7C\x26\x56\x8B\x35\x50\xAA\xFD\x10", "xxxx?xxxxxx?xxx????");
            return ByPass - CShell;
        }

        public static unsafe uint FindWallHack(uint CShell)
        {
            uint WallHack = FindPattern((int)Main.GetModuleHandle("crossfire.exe"), 0x2D7000, @"\xB8\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x06\x8B\x50\x18", "x????x????xxxxx");
            WallHack = *(uint*)(WallHack + 1);
            WallHack += 0xA4;
            return WallHack;
        }

        public static unsafe uint FindMemorySeeGhost(uint CShell)
        {
            uint WallHack = FindPattern((int)Main.GetModuleHandle("crossfire.exe"), 0x2D7000, @"\xB8\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x06\x8B\x50\x18", "x????x????xxxxx");
            WallHack = *(uint*)(WallHack + 1);
            WallHack += 0xB8;
            return WallHack;
        }

        public static unsafe uint FindDamageZone(uint CShell)
        {
            uint DamageZoneMgr = FindPattern((int)CShell, 0xFFFFFF, "\x68\x00\x00\x00\x00\x8D\x4C\x24\x24\x51\x8D\x54\x24\x34", "x????xxxxxxxxx");
            DamageZoneMgr = *(uint*)(DamageZoneMgr + 0x01);
            return DamageZoneMgr;
        }


        //*****************Offsets
        public static unsafe void BetaOffsetSearch(uint CShell)
        {
            int[] Offsets = SequentedByteOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x5C\x24\x24\x8B\x0D\xD4\x52\xF6\x10\xD9\x44\x24\x24\x8B\x15\xD8\x52\xF6\x10\x83\xC4\x04\x69\xC9\xA8\x00\x00\x00\xD9\x5C\x11\x08", "xxx?xx????xxx?xx????xx?xx????xxx?", 32);
            for (int i = 0; i < Offsets.Length; i++)
                Console.WriteLine("Found Offset(C4DefuTimePattern): 0x" + Storage.DecToHex(Offsets[i]));
        }


        //WeaponMgr
        public static unsafe uint FindReloadAnimRatio(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x0D\xA4\xC5\xFC\x10\x53\x8D\x3C\xB1\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x07\xD9\x98\x3C\x0C\x00\x00\x83\xC4\x04", "xx????xxxxxx????xxx?xxx?xxxx????xx?", 28);
            return (uint)Offsets[1];
        }

        public static unsafe uint FindChangeWeaponAnimRatio(uint CShell)
        {
            uint Value = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\xA4\xC5\xFC\x10\x53\x8D\x3C\xB1\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\x8B\x17\xD9\x44\x24\x14\x8B\x3D\xE0\xC4\x4D\x10\xD9\x9A\x40\x0C\x00\x00\x83\xC4\x04", "xx????xxxxxx????xxx?xxxxx?xx????xx????xx?");
            return (*(uint*)(Value + 34));
        }

        public static unsafe uint FindLeftClickAttributes(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x2B\xC1\xC1\xF8\x02\x3B\xF0\x72\x0C\xFF\x15\xE0\xC4\x4D\x10\x8B\x0D\xA4\xC5\xFC\x10\x8B\x04\xB1\x83\x88\xEC\x0A\x00\x00\x01", "xxxx?xxxxxx????xx????xxxxx?????", 26);
            return (uint)Offsets[0];
        }

        public static unsafe uint FindRightClickAttributes(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x2B\xC1\xC1\xF8\x02\x3B\xF0\x72\x0C\xFF\x15\xE0\xC4\x4D\x10\x8B\x0D\xA4\xC5\xFC\x10\x8B\x04\xB1\x83\x88\xEC\x0A\x00\x00\x01", "xxxx?xxxxxx????xx????xxxxx?????", 26);
            return (uint)Offsets[1];
        }

        public static unsafe uint FindZoomAttributes(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x2B\xC1\xC1\xF8\x02\x3B\xF0\x72\x0C\xFF\x15\xE0\xC4\x4D\x10\x8B\x0D\xA4\xC5\xFC\x10\x8B\x04\xB1\x83\x88\xEC\x0A\x00\x00\x01", "xxxx?xxxxxx????xx????xxxxx?????", 26);
            return (uint)Offsets[2];
        }
        public static unsafe uint FindZoomAction(uint CShell)
        {
            uint Value = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\xA4\xC5\xFC\x10\x55\x8D\x1C\xB1\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x0B\xD9\x9C\xB9\x20\x39\x00\x00", "xx????xxxxxx????xxx?xxx?xxxxx????");
            return (*(uint*)(Value + 29));
        }
        public static unsafe uint FindRange(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x44\x24\x14\x8B\x06\xDC\x0D\x50\xFC\x54\x10\x83\xC4\x04\xD9\x5C\x24\x10\xD9\x44\x24\x10\xD9\x98\x0C\x08\x00\x00", "xxx?xxxx????xx?xxx?xxx?xx????", 25);
            return (uint)Offsets[0];
        }
        public static unsafe uint FindAiModeRange(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x44\x24\x14\x8B\x06\xDC\x0D\x50\xFC\x54\x10\x83\xC4\x04\xD9\x5C\x24\x10\xD9\x44\x24\x10\xD9\x98\x0C\x08\x00\x00", "xxx?xxxx????xx?xxx?xxx?xx????", 25);
            return (uint)Offsets[1];
        }
        public static unsafe uint FindDamageVariantionFactor(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8D\x34\xA9\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x16\xD9\x9A\x38\x08\x00\x00", "xxxxx????xxx?xxx?xxxx????", 21);
            return (uint)Offsets[2];
        }
        public static unsafe uint FindAmmoDamage(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8D\x34\xA9\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x06\xD9\x98\x1C\x08\x00\x00", "xxxxx????xxx?xxx?xxxx????", 21);
            return (uint)Offsets[0];
        }


        //BasicPlayerInfo
        public static unsafe uint FindC4DefuseTime(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x15\xD4\x52\xF6\x10\xD9\x44\x24\x24\xA1\xD8\x52\xF6\x10\x83\xC4\x04\x69\xD2\xA8\x00\x00\x00\xD9\x9C\x02\x80\x00\x00\x00", "xx????xxx?x????xx?xx????xxx????", 27);
            return (uint)Offsets[0];
        }
        public static unsafe uint FindCharacterHiddenWalkAlpha(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x15\xD4\x52\xF6\x10\xD9\x44\x24\x24\xA1\xD8\x52\xF6\x10\x83\xC4\x04\x69\xD2\xA8\x00\x00\x00\xD9\x9C\x02\x80\x00\x00\x00", "xx????xxx?x????xx?xx????xxx????", 27);
            return (uint)Offsets[1];
        }
        public static unsafe uint FindCharacterHiddenRunAlpha(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x15\xD4\x52\xF6\x10\xD9\x44\x24\x24\xA1\xD8\x52\xF6\x10\x83\xC4\x04\x69\xD2\xA8\x00\x00\x00\xD9\x9C\x02\x80\x00\x00\x00", "xx????xxx?x????xx?xx????xxx????", 27);
            return (uint)Offsets[1] + 4;
        }
        public static unsafe uint FindMovementWalkRate(uint CShell)
        {
            int[] Offsets = SequentedByteOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x5C\x24\x24\x8B\x0D\xD4\x52\xF6\x10\xD9\x44\x24\x24\x8B\x15\xD8\x52\xF6\x10\x83\xC4\x04\x69\xC9\xA8\x00\x00\x00\xD9\x5C\x11\x08", "xxx?xx????xxx?xx????xx?xx????xxx?", 32);
            return (uint)Offsets[0];
        }

        //PTC
        public static unsafe uint FindPushToConsoleOffset(uint CShell)
        {
            uint PTC = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\x44\xA2\x59\x10\x8B\x91\x04\x02\x00\x00\x68\xB8\x55\x4C\x10\xFF\xD2\x83\xC4\x04\x53\xE8\x46\xF3\xFD\xFF\x8B\xC8\xE8\xBF\x5F\x2F\x00", "xx????xx????x????xxxxxxx????xxx????");
            PTC = (*(uint*)(PTC + 8));
            return PTC;
        }


        //###################################################################################################
        public static void LogAddresses(uint CShell)
        {
            //*******************************Define Offsets

            //WeaponMgr
            Console.WriteLine("Start Searching For Offsets");
            Console.WriteLine(">>>>WeaponMgr<<<<");
            Storage.SetOffset((int)FindReloadAnimRatio(CShell), "ReloadAnimRatio"); //float
            Storage.SetOffset((int)FindChangeWeaponAnimRatio(CShell), "ChangeWeaponAnimRatio"); //float

            Storage.SetOffset((int)FindLeftClickAttributes(CShell), "LeftClickAttributes"); //int
            Storage.SetOffset((int)FindRightClickAttributes(CShell), "RightClickAttributes"); //int
            Storage.SetOffset((int)FindZoomAttributes(CShell), "ZoomAttributes"); //int
            Storage.SetOffset((int)FindZoomAction(CShell), "ZoomAction"); //float[13] Index[10] = Int

            /*
            Storage.SetOffset(0x3B20, "ThrowVelocity"); //float
            Storage.SetOffset(0x3B24, "ThrowAngle"); //float
            Storage.SetOffset(0x3B28, "ThrowAirRes"); //float
            Storage.SetOffset(0x3B2C, "ThrowTime"); //float (Grenade Delay)
             */

            Storage.SetOffset((int)PatternScanner.FindRange(CShell), "Range"); //float
            Storage.SetOffset((int)PatternScanner.FindAiModeRange(CShell), "AiModeRange"); //float
            Storage.SetOffset((int)PatternScanner.FindAmmoDamage(CShell), "AmmoDamage"); //float
            Storage.SetOffset(0x820, "AiModeAmmoDamage"); //float
            Storage.SetOffset((int)PatternScanner.FindDamageVariantionFactor(CShell), "DamageVariantionFactor"); //float

            /*
            Storage.SetOffset(0xA5C, "KnifeNormalRange"); //float[3]
            Storage.SetOffset(0xA80, "KnifeBigshotRange"); //float[3]
            Storage.SetOffset(0xA9C, "KnifeNormalRange2"); //float[3]
            Storage.SetOffset(0xAC0, "KnifeBigshotRange2"); //float[3]
            Storage.SetOffset(0xA70, "KnifeNormalAniRate"); //float[3]
            Storage.SetOffset(0xA98, "KnifeBigshotAniRate"); //float[3]
            Storage.SetOffset(0xAB8, "KnifeNormalAniRate2"); //float[3]
            Storage.SetOffset(0xADC, "KnifeBigshotAniRate2"); //float[3]
            Storage.SetOffset(0xA68, "KnifeNormalAngle"); //float[3]
            Storage.SetOffset(0xA8C, "KnifeBigshotAngle"); //float[3]
            Storage.SetOffset(0xAA8, "KnifeNormalAngle2"); //float[3]
            Storage.SetOffset(0xACC, "KnifeBigshotAngle2"); //float[3]
            */

            /*
            Storage.SetOffset(0xC04, "KnifeNormalAmmoDamage"); //float[3]
            Storage.SetOffset(0xC10, "KnifeBigshotAmmoDamage"); //float[3]
            Storage.SetOffset(0xC1C, "KnifeNormalAmmoDamage2"); //float[3]
            Storage.SetOffset(0xC28, "KnifeBigshotAmmoDamage2"); //float[3]
            */

            /*
            Storage.SetOffset(0x352C, "BulletPosOffset"); //float[4]
            Storage.SetOffset(0x353C, "ShotReactYaw"); //float[9]
            Storage.SetOffset(0x370C, "ShotReactPitch"); //float[9]
            Storage.SetOffset(0x11CC, "DatailReactYawShot"); //float[9]
            Storage.SetOffset(0x1064, "DatailReactPitchShot"); //float[9]
            Storage.SetOffset(0xEFC, "DetailPerturbShot"); //float[9]
            Storage.SetOffset(0x540, "PerturbMin"); //float[9]
            Storage.SetOffset(0x6A8, "PerturbMax"); //float[9]
            */

            Console.WriteLine(">>>>Basic Player Info<<<<");
            //BasicPlayerInfo
            Storage.SetOffset((int)FindC4DefuseTime(CShell), "C4DefuseTime"); //float
            Storage.SetOffset(0x88, "CharacterHiddenAlpha"); //float
            Storage.SetOffset((int)FindCharacterHiddenWalkAlpha(CShell), "CharacterHiddenWalkAlpha"); //float
            Storage.SetOffset((int)FindCharacterHiddenRunAlpha(CShell), "CharacterRunAlpha"); //float
            Storage.SetOffset(0xC, "MovementDuckWalkRate"); //float
            Storage.SetOffset((int)FindMovementWalkRate(CShell), "MovementWalkRate"); //float
            Storage.SetOffset(0x84, "MaxCanDefuseDistance"); //float

            //PlayerPointer
            //Storage.SetOffset(0x64C, "FlyOffset"); //float

            //PTC
            Console.WriteLine(">>>>PushToConsole<<<<");
            Storage.SetOffset((int)FindPushToConsoleOffset(CShell), "PTCOffset");

        }
    }
}


I store everything Dynamically, here is the needed class:
 
Storage.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
 * Rabir Dimensional Beast Storage Class
 */
namespace RabirDimensionalBeast
{
    //####################### Data Types #################################
    class Pointer
    {
        public uint Address;
        public string Name;
        public Pointer(uint Address, string Name)
        {
            this.Address = Address;
            this.Name = Name;
        }
    }
    class Offset
    {
        public int Addy;
        public string Name;
        public Offset(int Addy, string Name)
        {
            this.Addy = Addy;
            this.Name = Name;
        }
    }

    class ByteValue
    {
        public byte Value;
        public string Name;
        public ByteValue(byte Value, string Name)
        {
            this.Value = Value;
            this.Name = Name;
        }
    }
    class IntValue
    {
        public int Value;
        public string Name;
        public IntValue(int Value, string Name)
        {
            this.Value = Value;
            this.Name = Name;
        }
    }
    class FloatValue
    {
        public float Value;
        public string Name;
        public FloatValue(float Value, string Name)
        {
            this.Value = Value;
            this.Name = Name;
        }
    }
    //####################### Actual Storage Handling ####################
    class Storage
    {
        //*********************** OTher
        public static float[] DamageVariantFactor = new float[999];
        //*********************** Pointers & Offsets & Values
        private static List<Pointer> PointerList = new List<Pointer>();
        private static List<Offset> OffsetList = new List<Offset>();

        private static List<ByteValue> ByteValueList = new List<ByteValue>();
        private static List<IntValue> IntValueList = new List<IntValue>();
        private static List<FloatValue> FloatValueList = new List<FloatValue>();

        //***************************************************************** Pointers
        public static void SetPointer(uint Address, string Name)
        {
            foreach (Pointer Ptr in PointerList)
            {
                if (Ptr.Name.ToUpper() == Name.ToUpper())
                {
                    Ptr.Address = Address;
                    Console.WriteLine("Pointer updated \"" + Ptr.Name + "\" = [0x" + Storage.DecToHex((int)Ptr.Address).ToString() + "]");
                    return;
                }
            }
            PointerList.Add(new Pointer(Address, Name));
            Console.WriteLine("Pointer created \"" + Name + "\" = [0x" + Storage.DecToHex((int)Address).ToString() + "]");
        }

        public static uint GetPointer(string Name)
        {
            foreach (Pointer Ptr in PointerList)
            {
                if (Ptr.Name.ToUpper() == Name.ToUpper())
                {
                    return Ptr.Address;
                }
            }
            return 0;
        }

        //******************************************************************* Offsets

        public static void SetOffset(int Addy, string Name)
        {
            foreach (Offset Off in OffsetList)
            {
                if (Off.Name.ToUpper() == Name.ToUpper())
                {
                    Off.Addy = Addy;
                    Console.WriteLine("Offset updated \"" + Off.Name + "\" = [0x" + Storage.DecToHex(Off.Addy).ToString() + "]");
                    return;
                }
            }
            OffsetList.Add(new Offset(Addy, Name));
            Console.WriteLine("Offset created \"" + Name + "\" = [0x" + Storage.DecToHex(Addy).ToString() + "]");
        }

        public static int GetOffset(string Name)
        {
            foreach (Offset Off in OffsetList)
            {
                if (Off.Name.ToUpper() == Name.ToUpper())
                {
                    return Off.Addy;
                }
            }
            return 0;
        }

        //********************************************************************* Values
        //Byte
        public static void SetByteValue(byte Value, string Name)
        {
            foreach (ByteValue Val in ByteValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    Val.Value = Value;
                    Console.WriteLine("Byte value updated \"" + Val.Name + "\" = [" + Val.Value.ToString() + "]");
                    return;
                }
            }
            ByteValueList.Add(new ByteValue(Value, Name));
            Console.WriteLine("Byte value created \"" + Name + "\" = [" + Value.ToString() + "]");
        }
        public static byte GetByteValue(string Name)
        {
            foreach (ByteValue Val in ByteValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    return Val.Value;
                }
            }
            return 0;
        }

        //Int
        public static void SetIntValue(int Value, string Name)
        {
            foreach (IntValue Val in IntValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    Val.Value = Value;
                    Console.WriteLine("Int value updated \"" + Val.Name + "\" = [" + Val.Value.ToString() + "]");
                    return;
                }
            }
            IntValueList.Add(new IntValue(Value, Name));
            Console.WriteLine("Int value created \"" + Name + "\" = [" + Value.ToString() + "]");
        }
        public static int GetIntValue(string Name)
        {
            foreach (IntValue Val in IntValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    return Val.Value;
                }
            }
            return 0;
        }

        //Float
        public static void SetFloatValue(float Value, string Name)
        {
            foreach (FloatValue Val in FloatValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    Val.Value = Value;
                    Console.WriteLine("Float value updated \"" + Val.Name + "\" = [" + Val.Value.ToString() + "]");
                    return;
                }
            }
            FloatValueList.Add(new FloatValue(Value, Name));
            Console.WriteLine("Float value created \"" + Name + "\" = [" + Value.ToString() + "]");
        }
        public static float GetFloatValue(string Name)
        {
            foreach (FloatValue Val in FloatValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    return Val.Value;
                }
            }
            return 0;
        }

        //############################# Other Tools ###################

        public static string DecToHex(int Dec)
        {
            return Dec.ToString("X");
        }

        //############################# Weapon Handling ###############
        public enum WeaponType
        {
            Rifle,
            Pistol,
            Grenade,
            Meele,
            Sniper,
            Shotgun,
            SMG,
            MG,
            Smoke,
            Flash,
            Hypomed,
            UnKnown
        }

        public static WeaponType GetWeaponType(int i)
        {
            if (i == 6 || i == 126 || i == 200 || i == 209 || i == 210 || i == 240 || i == 313 || i == 338 || i == 357 || i == 416 || i == 423 || i == 438 || i == 473 || i == 481 || i == 519 || i == 654 || i == 696 || i == 720 || i == 729)
                return WeaponType.Grenade;
            if (i == 5 || i == 35 || i == 74 || i == 120 || i == 132 || i == 176 || i == 177 || i == 178 || i == 182 || i == 195 || i == 196 || i == 197 || i == 198 || i == 199 || i == 223 || i == 224 || i == 225 || i == 226 || i == 227 || i == 228 || i == 244 || i == 302 || i == 303 || i == 304 || i == 305 || i == 306 || i == 307 || i == 318 || i == 345 || i == 346 || i == 376 || i == 404 || i == 405 || i == 406 || i == 407 || i == 408 || i == 409 || i == 437 || i == 455 || i == 456 || i == 457 || i == 517 || i == 518 || i == 548 || i == 576 || i == 541 || i == 587 || i == 693 || i == 718 || i == 719 || i == 728)
                return WeaponType.Meele;
            if (i == 714 || i == 14 || i == 15 || i == 16 || i == 23 || i == 43 || i == 46 || i == 91 || i == 110 || i == 111 || i == 122 || i == 136 || i == 150 || i == 152 || i == 163 || i == 185 || i == 186 || i == 194 || i == 232 || i == 249 || i == 268 || i == 279 || i == 294 || i == 323 || i == 368 || i == 378 || i == 500 || i == 513 || i == 525 || i == 554 || i == 602 || i == 632 || i == 657 || i == 714 || i == 724)
                return WeaponType.Sniper;
            if (i == 1 || i == 4 || i == 18 || i == 19 || i == 20 || i == 26 || i == 33 || i == 37 || i == 44 || i == 60 || i == 75 || i == 78 || i == 92 || i == 105 || i == 115 || i == 116 || i == 153 || i == 155 || i == 156 || i == 217 || i == 235 || i == 241 || i == 247 || i == 328 || i == 348 || i == 350 || i == 370 || i == 371 || i == 439 || i == 470 || i == 497 || i == 515 || i == 516 || i == 528 || i == 589 || i == 600 || i == 644 || i == 670 || i == 694 || i == 716 || i == 717 || i == 725)
                return WeaponType.Pistol;
            if (i == 8 || i == 64 || i == 65 || i == 384 || i == 521 || i == 722)
                return WeaponType.Smoke;
            if (i == 7 || i == 383 || i == 520 || i == 721)
                return WeaponType.Flash;
            if (i == 0 || i == 36 || i == 68 || i == 171 || i == 243 || i == 286 || i == 329 || i == 331 || i == 336 || i == 342 || i == 369 || i == 388 || i == 432 || i == 498 || i == 514 || i == 555 || i == 590 || i == 641 || i == 663 || i == 689 || i == 715)
                return WeaponType.Shotgun;
            if (i == 2 || i == 3 || i == 10 || i == 21 || i == 28 || i == 32 || i == 39 || i == 55 || i == 67 || i == 112 || i == 128 || i == 145 || i == 147 || i == 148 || i == 149 || i == 157 || i == 183 || i == 211 || i == 213 || i == 216 || i == 229 || i == 245 || i == 276 || i == 293 || i == 362 || i == 363 || i == 422 || i == 463 || i == 476 || i == 487 || i == 507 || i == 508 || i == 527 || i == 529 || i == 550 || i == 604 || i == 614 || i == 651 || i == 680 || i == 711)
                return WeaponType.SMG;
            if (i == 716 || i == 715 || i == 713 || i == 712 || i == 711 || i == 11 || i == 12 || i == 13 || i == 22 || i == 24 || i == 25 || i == 27 || i == 29 || i == 30 || i == 31 || i == 34 || i == 38 || i == 40 || i == 41 || i == 42 || i == 45 || i == 47 || i == 49 || i == 50 || i == 56 || i == 72 || i == 73 || i == 76 || i == 77 || i == 85 || i == 87 || i == 90 || i == 94 || i == 95 || i == 96 || i == 97 || i == 98 || i == 103 || i == 104 || i == 106 || i == 113 || i == 121 || i == 127 || i == 133 || i == 140 || i == 141 || i == 160 || i == 161 || i == 164 || i == 167 || i == 174 || i == 175 || i == 179 || i == 187 || i == 190 || i == 201 || i == 203 || i == 206 || i == 208 || i == 212 || i == 222 || i == 230 || i == 233 || i == 234 || i == 236 || i == 237 || i == 291 || i == 333 || i == 340 || i == 349 || i == 351 || i == 364 || i == 365 || i == 366 || i == 367 || i == 374 || i == 377 || i == 390 || i == 391 || i == 403 || i == 415 || i == 418 || i == 421 || i == 429 || i == 431 || i == 436 || i == 440 || i == 471 || i == 479 || i == 484 || i == 486 || i == 499 || i == 502 || i == 509 || i == 510 || i == 511 || i == 512 || i == 526 || i == 532 || i == 536 || i == 538 || i == 539 || i == 542 || i == 559 || i == 573 || i == 591 || i == 597 || i == 598 || i == 619 || i == 630 || i == 636 || i == 676 || i == 678 || i == 679 || i == 691 || i == 712 || i == 713 || i == 723 || i == 726 || i == 727)
                return WeaponType.Rifle;
            if (i == 710 || i == 17 || i == 61 || i == 124 || i == 158 || i == 159 || i == 166 || i == 188 || i == 257 || i == 300 || i == 315 || i == 316 || i == 352 || i == 361 || i == 441 || i == 506 || i == 524 || i == 556 || i == 558 || i == 564 || i == 565 || i == 575 || i == 588 || i == 653 || i == 710)
                return WeaponType.MG;
            if (i == 328 || i == 348)
                return WeaponType.Hypomed;
            return WeaponType.UnKnown;
        }
    }
}


OOokay, and there you go, the actual menu, which is a special Window Form:
 
Menu Form


 
MenuForm.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System****;
using System.Net;

namespace RabirDimensionalBeast
{
public partial class MenuForm : Form
{
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetWindowRect(IntPtr Handle, out Rectangle Rect);

[DllImport("user32.dll")]
static extern short GetAsyncKeyState(Keys Key);

protected override CreateParams CreateParams
{
get
{
CreateParams param = base.CreateParams;
param.ExStyle |= 0x08000000;
return param;
}

}

public MenuForm()
{
InitializeComponent();
}

private void MenuForm_Load(object sender, EventArgs e)
{
this.TopMost = true;
this.TopLevel = true;
this.Opacity = 0.5f;
}
private void Position_Tick(object sender, EventArgs e)
{
Rectangle CrosRect = new Rectangle();
GetWindowRect(Process.GetCurrentProcess().MainWind owHandle, out CrosRect);
this.Location = CrosRect.Location;
if (GetAsyncKeyState(Keys.Insert) < 0)
{
this.Visible = !this.Visible;
while (GetAsyncKeyState(Keys.Insert) < 0) { }
}
if (Console.UpDated)
{
this.ConsoleDisplay.Text = Console.ConsoleBuffer;
Console.UpDated = false;
this.ConsoleDisplay.SelectionStart = this.ConsoleDisplay.TextLength;
this.ConsoleDisplay.ScrollToCaret();
}
Rectangle FormRect = new Rectangle(this.Location, this.Size);
if (FormRect.Contains(Cursor.Position)) this.Opacity = 1;
else this.Opacity = 0.5f;

//Hotkey SpyMode
if (GetAsyncKeyState(Keys.F5) < 0)
{
if (Storage.GetIntValue("SpyMode") == 0) Storage.SetIntValue(1, "SpyMode");
else Storage.SetIntValue(0, "SpyMode");
while (GetAsyncKeyState(Keys.F5) < 0) { }
}
}

private void ClearConsoleButton_Click(object sender, EventArgs e)
{
Console.Clear();
}

private void CrounchSpeedSwitch_CheckedChanged(object sender, EventArgs e)
{
if (CrounchSpeedSwitch.Checked) Storage.SetFloatValue(1, "MovementDuckWalkRate");
else Storage.SetFloatValue(0.235f, "MovementDuckWalkRate");
}

private void WireFrameSwitch_CheckedChanged(object sender, EventArgs e)
{
if (WireFrameSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "WireframeModels 1");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "WireframeModels 0");
}

private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (NoWallSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "DrawWorld 0");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "DrawWorld 1");
}

private void WhitePlayerSwitch_CheckedChanged(object sender, EventArgs e)
{
if (WhitePlayerSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "TextureModels 0");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "TextureModels 1");
}

private void FastWalkSwitch_CheckedChanged(object sender, EventArgs e)
{
if (FastWalkSwitch.Checked) Storage.SetFloatValue(1, "MovementWalkRate");
else Storage.SetFloatValue(0.5f, "MovementWalkRate");
}

private void FastDefuseSwitch_CheckedChanged(object sender, EventArgs e)
{
if (FastDefuseSwitch.Checked) Storage.SetFloatValue(4, "DefuseTime");
else Storage.SetFloatValue(7, "DefuseTime");
}

private void numericUpDown2_ValueChanged(object sender, EventArgs e)
{
Storage.SetFloatValue((float)Level2ZoomNum.Value, "Level2Scope");
}

private void OneHitSwitch_CheckedChanged(object sender, EventArgs e)
{
if (OneHitSwitch.Checked) Storage.SetByteValue(1, "OneHit");
else Storage.SetByteValue(0, "OneHit");
}

private void ZoomHackForSnipers_CheckedChanged(object sender, EventArgs e)
{
Storage.SetByteValue(1, "SniperNoZoom");
ZoomHackForSnipers.Enabled = false;
}

private void NoSmokeSwitch_CheckedChanged(object sender, EventArgs e)
{
if (NoSmokeSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "FogEnable 0");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "FogEnable 1");
}

private void ConsoleDisplay_TextChanged(object sender, EventArgs e)
{

}

private void WallHackSwitch_CheckedChanged(object sender, EventArgs e)
{
if (WallHackSwitch.Checked) Storage.SetByteValue(8, "Wallhack");
else Storage.SetByteValue(4, "Wallhack");
}

private void SeeGhostSwitch_CheckedChanged(object sender, EventArgs e)
{
if (SeeGhostSwitch.Checked) Storage.SetIntValue(14, "SeeGhost");
else Storage.SetIntValue(5, "SeeGhost");
}
}
}

 
MenuForm.Designer.cs

namespace RabirDimensionalBeast
{
partial class MenuForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows Form Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.UpDater = new System.Windows.Forms.Timer(this.components);
this.Sablon = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.RapidFireSwitch = new System.Windows.Forms.CheckBox();
this.ZoomHackSwitch = new System.Windows.Forms.CheckBox();
this.CrounchSpeedSwitch = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
this.NoFlashSwitch = new System.Windows.Forms.CheckBox();
this.AntiAssassinSwitch = new System.Windows.Forms.CheckBox();
this.NoNadeSwitch = new System.Windows.Forms.CheckBox();
this.ClearConsoleButton = new System.Windows.Forms.Button();
this.ConsoleDisplay = new System.Windows.Forms.TextBox();
this.WireFrameSwitch = new System.Windows.Forms.CheckBox();
this.NoWallSwitch = new System.Windows.Forms.CheckBox();
this.WhitePlayerSwitch = new System.Windows.Forms.CheckBox();
this.FastWalkSwitch = new System.Windows.Forms.CheckBox();
this.FastDefuseSwitch = new System.Windows.Forms.CheckBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.Level2ZoomNum = new System.Windows.Forms.NumericUpDown();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.OneHitSwitch = new System.Windows.Forms.CheckBox();
this.ZoomHackForSnipers = new System.Windows.Forms.CheckBox();
this.NoSmokeSwitch = new System.Windows.Forms.CheckBox();
this.WallHackSwitch = new System.Windows.Forms.CheckBox();
this.SeeGhostSwitch = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.L evel2ZoomNum)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.n umericUpDown1)).BeginInit();
this.SuspendLayout();
//
// UpDater
//
this.UpDater.Enabled = true;
this.UpDater.Interval = 50;
this.UpDater.Tick += new System.EventHandler(this.Position_Tick);
//
// Sablon
//
this.Sablon.AutoSize = true;
this.Sablon.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.Sablon.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.Sablon.ForeColor = System.Drawing.Color.Lime;
this.Sablon.Location = new System.Drawing.Point(500, 385);
this.Sablon.Name = "Sablon";
this.Sablon.Size = new System.Drawing.Size(76, 20);
this.Sablon.TabIndex = 0;
this.Sablon.Text = "Sablon";
this.Sablon.UseVisualStyleBackColor = false;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Enabled = false;
this.checkBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.checkBox1.ForeColor = System.Drawing.Color.Green;
this.checkBox1.Location = new System.Drawing.Point(591, 385);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(76, 20);
this.checkBox1.TabIndex = 0;
this.checkBox1.Text = "Sablon";
this.checkBox1.UseVisualStyleBackColor = false;
//
// RapidFireSwitch
//
this.RapidFireSwitch.AutoSize = true;
this.RapidFireSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.RapidFireSwitch.Checked = true;
this.RapidFireSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.RapidFireSwitch.Enabled = false;
this.RapidFireSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.RapidFireSwitch.ForeColor = System.Drawing.Color.Green;
this.RapidFireSwitch.Location = new System.Drawing.Point(151, 35);
this.RapidFireSwitch.Name = "RapidFireSwitch";
this.RapidFireSwitch.Size = new System.Drawing.Size(100, 20);
this.RapidFireSwitch.TabIndex = 0;
this.RapidFireSwitch.Text = "Rapid Fire";
this.RapidFireSwitch.UseVisualStyleBackColor = false;
//
// ZoomHackSwitch
//
this.ZoomHackSwitch.AutoSize = true;
this.ZoomHackSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ZoomHackSwitch.Checked = true;
this.ZoomHackSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.ZoomHackSwitch.Enabled = false;
this.ZoomHackSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ZoomHackSwitch.ForeColor = System.Drawing.Color.Green;
this.ZoomHackSwitch.Location = new System.Drawing.Point(151, 61);
this.ZoomHackSwitch.Name = "ZoomHackSwitch";
this.ZoomHackSwitch.Size = new System.Drawing.Size(106, 20);
this.ZoomHackSwitch.TabIndex = 0;
this.ZoomHackSwitch.Text = "Zoom Hack";
this.ZoomHackSwitch.UseVisualStyleBackColor = false;
//
// CrounchSpeedSwitch
//
this.CrounchSpeedSwitch.AutoSize = true;
this.CrounchSpeedSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.CrounchSpeedSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.CrounchSpeedSwitch.ForeColor = System.Drawing.Color.Lime;
this.CrounchSpeedSwitch.Location = new System.Drawing.Point(12, 35);
this.CrounchSpeedSwitch.Name = "CrounchSpeedSwitch";
this.CrounchSpeedSwitch.Size = new System.Drawing.Size(133, 20);
this.CrounchSpeedSwitch.TabIndex = 0;
this.CrounchSpeedSwitch.Text = "Crounch Speed";
this.CrounchSpeedSwitch.UseVisualStyleBackColor = false;
this.CrounchSpeedSwitch.CheckedChanged += new System.EventHandler(this.CrounchSpeedSwitch_Checke dChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label1.ForeColor = System.Drawing.Color.Lime;
this.label1.Location = new System.Drawing.Point(32, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(207, 20);
this.label1.TabIndex = 1;
this.label1.Text = "Rabir Dimensional Beast";
//
// NoFlashSwitch
//
this.NoFlashSwitch.AutoSize = true;
this.NoFlashSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoFlashSwitch.Checked = true;
this.NoFlashSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.NoFlashSwitch.Enabled = false;
this.NoFlashSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoFlashSwitch.ForeColor = System.Drawing.Color.Green;
this.NoFlashSwitch.Location = new System.Drawing.Point(151, 87);
this.NoFlashSwitch.Name = "NoFlashSwitch";
this.NoFlashSwitch.Size = new System.Drawing.Size(89, 20);
this.NoFlashSwitch.TabIndex = 0;
this.NoFlashSwitch.Text = "No Flash";
this.NoFlashSwitch.UseVisualStyleBackColor = false;
//
// AntiAssassinSwitch
//
this.AntiAssassinSwitch.AutoSize = true;
this.AntiAssassinSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.AntiAssassinSwitch.Checked = true;
this.AntiAssassinSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.AntiAssassinSwitch.Enabled = false;
this.AntiAssassinSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.AntiAssassinSwitch.ForeColor = System.Drawing.Color.Green;
this.AntiAssassinSwitch.Location = new System.Drawing.Point(151, 113);
this.AntiAssassinSwitch.Name = "AntiAssassinSwitch";
this.AntiAssassinSwitch.Size = new System.Drawing.Size(109, 20);
this.AntiAssassinSwitch.TabIndex = 0;
this.AntiAssassinSwitch.Text = "No Repulse";
this.AntiAssassinSwitch.UseVisualStyleBackColor = false;
//
// NoNadeSwitch
//
this.NoNadeSwitch.AutoSize = true;
this.NoNadeSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoNadeSwitch.Checked = true;
this.NoNadeSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.NoNadeSwitch.Enabled = false;
this.NoNadeSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoNadeSwitch.ForeColor = System.Drawing.Color.Green;
this.NoNadeSwitch.Location = new System.Drawing.Point(151, 139);
this.NoNadeSwitch.Name = "NoNadeSwitch";
this.NoNadeSwitch.Size = new System.Drawing.Size(89, 20);
this.NoNadeSwitch.TabIndex = 0;
this.NoNadeSwitch.Text = "No Nade";
this.NoNadeSwitch.UseVisualStyleBackColor = false;
//
// ClearConsoleButton
//
this.ClearConsoleButton.BackColor = System.Drawing.SystemColors.Control;
this.ClearConsoleButton.Location = new System.Drawing.Point(266, 337);
this.ClearConsoleButton.Name = "ClearConsoleButton";
this.ClearConsoleButton.Size = new System.Drawing.Size(399, 23);
this.ClearConsoleButton.TabIndex = 3;
this.ClearConsoleButton.Text = "Clear Console";
this.ClearConsoleButton.UseVisualStyleBackColor = false;
this.ClearConsoleButton.Click += new System.EventHandler(this.ClearConsoleButton_Click) ;
//
// ConsoleDisplay
//
this.ConsoleDisplay.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ConsoleDisplay.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ConsoleDisplay.ForeColor = System.Drawing.Color.Lime;
this.ConsoleDisplay.Location = new System.Drawing.Point(266, 12);
this.ConsoleDisplay.Multiline = true;
this.ConsoleDisplay.Name = "ConsoleDisplay";
this.ConsoleDisplay.ReadOnly = true;
this.ConsoleDisplay.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.ConsoleDisplay.Size = new System.Drawing.Size(399, 319);
this.ConsoleDisplay.TabIndex = 4;
this.ConsoleDisplay.WordWrap = false;
this.ConsoleDisplay.TextChanged += new System.EventHandler(this.ConsoleDisplay_TextChange d);
//
// WireFrameSwitch
//
this.WireFrameSwitch.AutoSize = true;
this.WireFrameSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.WireFrameSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.WireFrameSwitch.ForeColor = System.Drawing.Color.Lime;
this.WireFrameSwitch.Location = new System.Drawing.Point(10, 217);
this.WireFrameSwitch.Name = "WireFrameSwitch";
this.WireFrameSwitch.Size = new System.Drawing.Size(103, 20);
this.WireFrameSwitch.TabIndex = 0;
this.WireFrameSwitch.Text = "WireFrame";
this.WireFrameSwitch.UseVisualStyleBackColor = false;
this.WireFrameSwitch.CheckedChanged += new System.EventHandler(this.WireFrameSwitch_CheckedCh anged);
//
// NoWallSwitch
//
this.NoWallSwitch.AutoSize = true;
this.NoWallSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoWallSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoWallSwitch.ForeColor = System.Drawing.Color.Lime;
this.NoWallSwitch.Location = new System.Drawing.Point(10, 243);
this.NoWallSwitch.Name = "NoWallSwitch";
this.NoWallSwitch.Size = new System.Drawing.Size(82, 20);
this.NoWallSwitch.TabIndex = 0;
this.NoWallSwitch.Text = "No Wall";
this.NoWallSwitch.UseVisualStyleBackColor = false;
this.NoWallSwitch.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged) ;
//
// WhitePlayerSwitch
//
this.WhitePlayerSwitch.AutoSize = true;
this.WhitePlayerSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.WhitePlayerSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.WhitePlayerSwitch.ForeColor = System.Drawing.Color.Lime;
this.WhitePlayerSwitch.Location = new System.Drawing.Point(10, 269);
this.WhitePlayerSwitch.Name = "WhitePlayerSwitch";
this.WhitePlayerSwitch.Size = new System.Drawing.Size(115, 20);
this.WhitePlayerSwitch.TabIndex = 0;
this.WhitePlayerSwitch.Text = "White Player";
this.WhitePlayerSwitch.UseVisualStyleBackColor = false;
this.WhitePlayerSwitch.CheckedChanged += new System.EventHandler(this.WhitePlayerSwitch_Checked Changed);
//
// FastWalkSwitch
//
this.FastWalkSwitch.AutoSize = true;
this.FastWalkSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.FastWalkSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.FastWalkSwitch.ForeColor = System.Drawing.Color.Lime;
this.FastWalkSwitch.Location = new System.Drawing.Point(12, 61);
this.FastWalkSwitch.Name = "FastWalkSwitch";
this.FastWalkSwitch.Size = new System.Drawing.Size(96, 20);
this.FastWalkSwitch.TabIndex = 0;
this.FastWalkSwitch.Text = "Fast Walk";
this.FastWalkSwitch.UseVisualStyleBackColor = false;
this.FastWalkSwitch.CheckedChanged += new System.EventHandler(this.FastWalkSwitch_CheckedCha nged);
//
// FastDefuseSwitch
//
this.FastDefuseSwitch.AutoSize = true;
this.FastDefuseSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.FastDefuseSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.FastDefuseSwitch.ForeColor = System.Drawing.Color.Lime;
this.FastDefuseSwitch.Location = new System.Drawing.Point(12, 87);
this.FastDefuseSwitch.Name = "FastDefuseSwitch";
this.FastDefuseSwitch.Size = new System.Drawing.Size(110, 20);
this.FastDefuseSwitch.TabIndex = 0;
this.FastDefuseSwitch.Text = "Fast Defuse";
this.FastDefuseSwitch.UseVisualStyleBackColor = false;
this.FastDefuseSwitch.CheckedChanged += new System.EventHandler(this.FastDefuseSwitch_CheckedC hanged);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.Level2ZoomNum);
this.groupBox1.Controls.Add(this.numericUpDown1);
this.groupBox1.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.groupBox1.Location = new System.Drawing.Point(131, 279);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(124, 72);
this.groupBox1.TabIndex = 5;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Scope Settings";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(22, 48);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(45, 13);
this.label3.TabIndex = 2;
this.label3.Text = "Level 2:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(21, 21);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(45, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Level 1:";
//
// Level2ZoomNum
//
this.Level2ZoomNum.Increment = new decimal(new int[] {
1,
0,
0,
65536});
this.Level2ZoomNum.Location = new System.Drawing.Point(72, 46);
this.Level2ZoomNum.Maximum = new decimal(new int[] {
5,
0,
0,
0});
this.Level2ZoomNum.Minimum = new decimal(new int[] {
5,
0,
0,
-2147483648});
this.Level2ZoomNum.Name = "Level2ZoomNum";
this.Level2ZoomNum.Size = new System.Drawing.Size(41, 20);
this.Level2ZoomNum.TabIndex = 1;
this.Level2ZoomNum.Value = new decimal(new int[] {
2,
0,
0,
0});
this.Level2ZoomNum.ValueChanged += new System.EventHandler(this.numericUpDown2_ValueChang ed);
//
// numericUpDown1
//
this.numericUpDown1.Enabled = false;
this.numericUpDown1.Location = new System.Drawing.Point(72, 19);
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(41, 20);
this.numericUpDown1.TabIndex = 0;
this.numericUpDown1.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// OneHitSwitch
//
this.OneHitSwitch.AutoSize = true;
this.OneHitSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.OneHitSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.OneHitSwitch.ForeColor = System.Drawing.Color.Lime;
this.OneHitSwitch.Location = new System.Drawing.Point(10, 113);
this.OneHitSwitch.Name = "OneHitSwitch";
this.OneHitSwitch.Size = new System.Drawing.Size(58, 20);
this.OneHitSwitch.TabIndex = 0;
this.OneHitSwitch.Text = "OHK";
this.OneHitSwitch.UseVisualStyleBackColor = false;
this.OneHitSwitch.CheckedChanged += new System.EventHandler(this.OneHitSwitch_CheckedChang ed);
//
// ZoomHackForSnipers
//
this.ZoomHackForSnipers.AutoSize = true;
this.ZoomHackForSnipers.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ZoomHackForSnipers.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ZoomHackForSnipers.ForeColor = System.Drawing.Color.Lime;
this.ZoomHackForSnipers.Location = new System.Drawing.Point(10, 139);
this.ZoomHackForSnipers.Name = "ZoomHackForSnipers";
this.ZoomHackForSnipers.Size = new System.Drawing.Size(135, 20);
this.ZoomHackForSnipers.TabIndex = 0;
this.ZoomHackForSnipers.Text = "Sniper NoZoom";
this.ZoomHackForSnipers.UseVisualStyleBackColor = false;
this.ZoomHackForSnipers.CheckedChanged += new System.EventHandler(this.ZoomHackForSnipers_Checke dChanged);
//
// NoSmokeSwitch
//
this.NoSmokeSwitch.AutoSize = true;
this.NoSmokeSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoSmokeSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoSmokeSwitch.ForeColor = System.Drawing.Color.Lime;
this.NoSmokeSwitch.Location = new System.Drawing.Point(10, 295);
this.NoSmokeSwitch.Name = "NoSmokeSwitch";
this.NoSmokeSwitch.Size = new System.Drawing.Size(99, 20);
this.NoSmokeSwitch.TabIndex = 0;
this.NoSmokeSwitch.Text = "No Smoke";
this.NoSmokeSwitch.UseVisualStyleBackColor = false;
this.NoSmokeSwitch.CheckedChanged += new System.EventHandler(this.NoSmokeSwitch_CheckedChan ged);
//
// WallHackSwitch
//
this.WallHackSwitch.AutoSize = true;
this.WallHackSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.WallHackSwitch.Checked = true;
this.WallHackSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.WallHackSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.WallHackSwitch.ForeColor = System.Drawing.Color.Lime;
this.WallHackSwitch.Location = new System.Drawing.Point(10, 165);
this.WallHackSwitch.Name = "WallHackSwitch";
this.WallHackSwitch.Size = new System.Drawing.Size(94, 20);
this.WallHackSwitch.TabIndex = 0;
this.WallHackSwitch.Text = "WallHack";
this.WallHackSwitch.UseVisualStyleBackColor = false;
this.WallHackSwitch.CheckedChanged += new System.EventHandler(this.WallHackSwitch_CheckedCha nged);
//
// SeeGhostSwitch
//
this.SeeGhostSwitch.AutoSize = true;
this.SeeGhostSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.SeeGhostSwitch.Checked = true;
this.SeeGhostSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.SeeGhostSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.SeeGhostSwitch.ForeColor = System.Drawing.Color.Lime;
this.SeeGhostSwitch.Location = new System.Drawing.Point(10, 191);
this.SeeGhostSwitch.Name = "SeeGhostSwitch";
this.SeeGhostSwitch.Size = new System.Drawing.Size(99, 20);
this.SeeGhostSwitch.TabIndex = 0;
this.SeeGhostSwitch.Text = "See Ghost";
this.SeeGhostSwitch.UseVisualStyleBackColor = false;
this.SeeGhostSwitch.CheckedChanged += new System.EventHandler(this.SeeGhostSwitch_CheckedCha nged);
//
// MenuForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ClientSize = new System.Drawing.Size(679, 417);
this.ControlBox = false;
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.ConsoleDisplay);
this.Controls.Add(this.ClearConsoleButton);
this.Controls.Add(this.label1);
this.Controls.Add(this.RapidFireSwitch);
this.Controls.Add(this.ZoomHackSwitch);
this.Controls.Add(this.NoFlashSwitch);
this.Controls.Add(this.AntiAssassinSwitch);
this.Controls.Add(this.NoNadeSwitch);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.CrounchSpeedSwitch);
this.Controls.Add(this.WireFrameSwitch);
this.Controls.Add(this.NoWallSwitch);
this.Controls.Add(this.WhitePlayerSwitch);
this.Controls.Add(this.FastWalkSwitch);
this.Controls.Add(this.FastDefuseSwitch);
this.Controls.Add(this.OneHitSwitch);
this.Controls.Add(this.ZoomHackForSnipers);
this.Controls.Add(this.NoSmokeSwitch);
this.Controls.Add(this.WallHackSwitch);
this.Controls.Add(this.SeeGhostSwitch);
this.Controls.Add(this.Sablon);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "MenuForm";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.Text = "MenuForm";
this.TopMost = true;
this.Load += new System.EventHandler(this.MenuForm_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.L evel2ZoomNum)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.n umericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();

}

#endregion

private System.Windows.Forms.Timer UpDater;
private System.Windows.Forms.CheckBox Sablon;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.CheckBox RapidFireSwitch;
private System.Windows.Forms.CheckBox ZoomHackSwitch;
private System.Windows.Forms.CheckBox CrounchSpeedSwitch;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckBox NoFlashSwitch;
private System.Windows.Forms.CheckBox AntiAssassinSwitch;
private System.Windows.Forms.CheckBox NoNadeSwitch;
private System.Windows.Forms.Button ClearConsoleButton;
private System.Windows.Forms.TextBox ConsoleDisplay;
private System.Windows.Forms.CheckBox WireFrameSwitch;
private System.Windows.Forms.CheckBox NoWallSwitch;
private System.Windows.Forms.CheckBox WhitePlayerSwitch;
private System.Windows.Forms.CheckBox FastWalkSwitch;
private System.Windows.Forms.CheckBox FastDefuseSwitch;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.NumericUpDown Level2ZoomNum;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.CheckBox OneHitSwitch;
private System.Windows.Forms.CheckBox ZoomHackForSnipers;
private System.Windows.Forms.CheckBox NoSmokeSwitch;
private System.Windows.Forms.CheckBox WallHackSwitch;
private System.Windows.Forms.CheckBox SeeGhostSwitch;
}
}



And yes, i converted the ByPass to C#, but its detected on Cf Eu, so actually, i only could partially test it, cuz Xtrap gave me a sexy kiss...
 
ByPass.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Threading;

namespace RabirDimensionalBeast
{
    unsafe class ByPass
    {
        [DllImport("kernel32.dll")]
        static extern bool VirtualProtect(IntPtr lpAddress, uint dwSize, uint flNewProtect, out uint lpflOldProtect);

        //ByPass Delegates
        [UnmanagedFunctionPointer(CallingConvention.StdCall, CharSet = CharSet.Auto, SetLastError = true)]
        public delegate uint GetWeaponPointerDelegate(int WeaponIndex);
        public static GetWeaponPointerDelegate ByPassDelegate = new GetWeaponPointerDelegate(Bypass);


        public static unsafe void CreateBypass(uint CShell, uint WeaponMgr, uint ByPassPointer)
        {
            Console.WriteLine(">>>>>>>>>>>> 28_3 Sharp Bypass Start <<<<<<<<<<<<<<");
            uint Ptr = (uint)Marshal.GetFunctionPointerForDelegate(ByPassDelegate);
            Console.WriteLine("Bypass function pointer: 0x" + Storage.DecToHex((int)Ptr));


            if (*(byte*)(CShell + ByPassPointer) != 0)
            {
                MakeCall((byte*)(CShell + ByPassPointer), Ptr, 5);
                backup(CShell, WeaponMgr);
            }

            Console.WriteLine(">>>>>>>>>>>> 28_3 Sharp Bypass Done <<<<<<<<<<<<<<");
        }

        //***********************************************************************************
        public static uint Bypass(int GunIndex)
        {
            Console.WriteLine("Access: " + GunIndex.ToString());

            fixed (byte* WeaponPtr = WeaponMgrCopy[GunIndex])
                return (uint)WeaponPtr;
        }

        public static byte[][] WeaponMgrCopy = new byte[999][];
        public static uint pWeap = 0;
        public static void backup(uint CShell, uint weaponMgr)
        {
            uint pWeaponMgr = *(uint*)(CShell + weaponMgr);
            pWeap = pWeaponMgr;
            Console.WriteLine("Creating Fake WeaponMgr Copy");
            for (int i = 0; i < 999; i++)
            {
                uint Weapon = *(uint*)(pWeaponMgr + (4 * i));
                if (Weapon != 0)
                {
                    WeaponMgrCopy[i] = new byte[0x3000];

                    //memcpy(Weapons[i], (void*)(Weapon), 0x1400);
                    for (int k = 0; k < 0x1400; k++)
                    {
                        fixed (byte* wPtr = WeaponMgrCopy[i])
                            *(byte*)(wPtr + k) = *(byte*)(Weapon + k);
                    }
                }
            }
            Console.WriteLine("Done");
        }

        public static void MakeCall(byte* paddress, uint yourfunction, uint dwLen)
        {
            Console.WriteLine("OverWrite Function");
            uint dwOldProtect, dwBkup, dwRelAddr;
            VirtualProtect((IntPtr)paddress, dwLen, 0x40, out dwOldProtect);
            dwRelAddr = (uint)(yourfunction - (uint)paddress) - 5; //Count Call Address
            *paddress = 0xE8;
            *((uint*)(paddress + 0x1)) = dwRelAddr;
            for (uint x = 0x5; x < dwLen; x++) *(paddress + x) = 0x90;
            VirtualProtect((IntPtr)paddress, dwLen, dwOldProtect, out dwBkup);
        }
        //################################################################################################
    }
}



Credits goes to:
@rabir007 --Coding, algorythms...
@kmanev073 --Helping, some trick...
@[Almost Every Coder Here On MPGH]
@Pingo --Helping with C# things...
@atom0s --Helping with Sharp PTC...


CLRInjector_mpgh.net.rar13 KB · 228 downloads Scanning…
Quote Originally Posted by rabir007 View Post
I totally stopped coding crossfire hacks, so i release my entire base, with all classes, and tricks i developed throught my way...
Also i added the CLR Injector i use, which is @Jason 's project...

I added some description what is what (not so much..)
 
Codes

First of all the Program.cs (that contains our DllMain)
 
Program.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System****; [System.[I][O]; Without the "[]"
using System.Reflection;
using System.Diagnostics;

namespace RabirDimensionalBeast
{
    class Main
    {
        [DllImport("Kernel32.dll")]
        public static extern IntPtr GetModuleHandle(string ModuleName);

        [DllImport("user32.dll")]
        public static extern int GetAsyncKeyState(Keys Key);

        public static bool HackMode = true;
		
        static int DllMain(String arg)
        {
            OpenMenu();
            StartHacking();
            return 0;
        }
        public static bool OneRun = false;
        public static uint CShell = 0;
        //############################################ Thread Startings ###################
        public static void StartHacking()
        {
            new Thread(new ThreadStart(Hackin)).Start();
        }
        public static void OpenMenu()
        {
            new Thread(new ThreadStart(MenuHelper)).Start();
        }
        public static void MenuHelper()
        {
            Application.Run(new MenuForm());
        }
        //############################################ Hack Thread ########################
        public static unsafe void Hackin()
        {
            //Get CShell
            while (CShell == 0)
            {
                CShell = (uint)GetModuleHandle("CShell.dll");
                Thread.Sleep(10);
            }

            //Offset Searching
            PatternScanner.LogAddresses(CShell);

            //**********************Set Up Variables
            Console.WriteLine(">>>>Dynamic Variables<<<<");
            //WeaponMgr
            Storage.SetFloatValue(2, "Level2Scope");

            //BasicPlayerInfo
            Storage.SetFloatValue(0.235f, "MovementDuckWalkRate");
            Storage.SetFloatValue(0.5f, "MovementWalkRate");

            //PlayerPointer
            Storage.SetFloatValue(1, "DefuseTime");
            Storage.SetFloatValue(1, "DefuseDistance");

            //Others
            Storage.SetByteValue(8, "Wallhack");
            Storage.SetIntValue(14, "SeeGhost");

            Storage.SetIntValue(0, "SpyMode");

            Thread.Sleep(2000);

            //Define Pointers
            //*******************************Define Pointers
            Console.WriteLine("Start Searching For Pointers");

            uint WeapMgr = PatternScanner.FindWeaponMgr(CShell);
            Storage.SetPointer(WeapMgr, "WeaponMgr");

            uint CShPtr = PatternScanner.FindCShellPointer(CShell);
            Storage.SetPointer(CShPtr, "CShellPointer");

            uint BscPly = PatternScanner.FindBasicPlayerInfo(CShell);
            Storage.SetPointer(BscPly, "BasicPlayerInfo");

            uint PtcPtr = PatternScanner.FindPushToConsole(CShell);
            Storage.SetPointer(PtcPtr, "PushToConsole");

            uint ByPassPtr = PatternScanner.FindBypass(CShell);
            Storage.SetPointer(ByPassPtr, "ByPass");

            uint ByPassPtr2 = PatternScanner.FindSecondBypass(CShell);
            Storage.SetPointer(ByPassPtr2, "ByPass2");

            uint WH = PatternScanner.FindWallHack(CShell);
            Storage.SetPointer(WH, "WallHack");

            uint SG = PatternScanner.FindMemorySeeGhost(CShell);
            Storage.SetPointer(SG, "SeeGhost");

            //#################### ByPass
            //ByPass.CreateBypass(Main.CShell, Storage.GetPointer("WeaponMgr"), Storage.GetPointer("ByPass"));

            //####################################################################### Hacking
            //PatternScanner.BetaOffsetSearch(CShell);

            while (true)
            {
                //Set Up Process Pointers
                uint pWeaponMgr = *(uint*)(CShell + Storage.GetPointer("WeaponMgr"));
                uint pBasicPlayerInfo = *(uint*)(CShell + Storage.GetPointer("BasicPlayerInfo"));
                uint pPlayerPointer = *(uint*)(CShell + Storage.GetPointer("CShellPointer") + 0x54);
                
                //Memory Wallhack
                *(byte*)(Storage.GetPointer("WallHack") + 0x68) = Storage.GetByteValue("Wallhack");

                //MemorySeeGhost
                *(int*)(Storage.GetPointer("SeeGhost")) = Storage.GetIntValue("SeeGhost");

                if (Storage.GetIntValue("SpyMode") == 1)
                    CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "LatencySim 99999999");
                else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "LatencySim 0");
                //############################

                //WeaponMgr Hacks
                if (pWeaponMgr != 0)
                {
                    for (int i = 0; i < 999; i++)
                    {
                        Weapon CurrentWeapon = new Weapon(*(uint*)(pWeaponMgr + (4 * i)));

                        if (CurrentWeapon.RealWeapon)
                        {
                            //********************* BETA *****************
                            //No Reload
                            //CurrentWeapon.ReloadAnimRatio = 30;

                            //No Change Delay
                            //CurrentWeapon.ChangeWeaponAnimRatio = 30;

                            /*
                            //No Recoil
                            for (int y = 0; y < 9; y++)
                            {
                                *(float*)(CurrentWeapon + (Storage.GetOffset("DetailPerturbShot") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("DatailReactYawShot") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("DatailReactPitchShot") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("ShotReactPitch") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("ShotReactYaw") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("BulletPosOffset") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("PerturbMin") + (4 * y))) = 0;
                                *(float*)(CurrentWeapon + (Storage.GetOffset("PerturbMax") + (4 * y))) = 0;
                            }
                            */

                            //*******************************************
                            //1 Hit (Only ZM)
                            if (!OneRun) Storage.DamageVariantFactor[i] = CurrentWeapon.DamageVariantionFactor;

                            if (Storage.GetByteValue("OneHit") == 1)
                                CurrentWeapon.DamageVariantionFactor = -99;
                            else CurrentWeapon.DamageVariantionFactor = Storage.DamageVariantFactor[i];

                            //Repeat Fire
                            if (Storage.GetWeaponType(i) != Storage.WeaponType.Hypomed)
                                CurrentWeapon.LeftClickAttributes = 2;

                            //Zoom Hack
                            if ((i != 390 || i != 391) && (Storage.GetWeaponType(i) == Storage.WeaponType.Rifle || Storage.GetWeaponType(i) == Storage.WeaponType.MG || Storage.GetWeaponType(i) == Storage.WeaponType.Pistol || Storage.GetWeaponType(i) == Storage.WeaponType.Shotgun || Storage.GetWeaponType(i) == Storage.WeaponType.SMG) || (Storage.GetWeaponType(i) == Storage.WeaponType.Sniper && (Storage.GetByteValue("SniperNoZoom") == 1)))
                            {
                                CurrentWeapon.RightClickAttributes = 2;
                                CurrentWeapon.ZoomAttributes = 8;

                                CurrentWeapon.ZoomAction = new float[] { 1, Storage.GetFloatValue("Level2Scope"), 0, 0, 0, 0, 0, 0, 0, 0, 2, 500, 500 };
                            }

                            //No-Flash
                            if (i == 7) CurrentWeapon.Range = 0;

                            //Anti Assassin Nade
                            if (i == 423) CurrentWeapon.Range = 0;

                            //No Nade Damage
                            if (Storage.GetWeaponType(i) == Storage.WeaponType.Grenade)
                                CurrentWeapon.AmmoDamage = 0;

                            //Shotgun Spread
                            //*(int*)(CurrentWeapon + Storage.GetOffset("ShotsPerAmmo")) = 5; //Can't cause damage

                        } //End if(CurrentWeapon)
                    } //End for(999)
                    //WriteFile.Close();
                } //End if (pWeaponMgr)

                //BasicPlayerInfo
                if (pBasicPlayerInfo != 0)
                {
                    BasicPlayerInfo PlayerInfo = new BasicPlayerInfo(pBasicPlayerInfo);
                    *(float*)(pBasicPlayerInfo + Storage.GetOffset("MovementDuckWalkRate")) = Storage.GetFloatValue("MovementDuckWalkRate");
                    
                    PlayerInfo.MovementWalkRate = Storage.GetFloatValue("MovementWalkRate");
                    PlayerInfo.C4DefuseTime = Storage.GetFloatValue("DefuseTime");
                }
                /*
                if (pPlayerPointer != 0)
                {
                    if (GetAsyncKeyState(Keys.E) < 0) *(float*)(pPlayerPointer + Storage.GetOffset("FlyOffset")) = Storage.GetFloatValue("Gravity");
                    else *(float*)(pPlayerPointer + Storage.GetOffset("FlyOffset")) = 1;
                }
                */
                Thread.Sleep(10);
                OneRun = true;
            }//End While(true)
        }
    }
}


And then We have a Classes.cs which contains the Weapon Class and BasicPlayerInfoClass
 
Classes.cs

Code:
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RabirDimensionalBeast
{
    unsafe class Weapon
    {
        private uint Pointer;
        public bool RealWeapon;
        public Weapon(uint Pointer)
        {
            RealWeapon = (Pointer != 0);
            this.Pointer = Pointer;
        }

        public string WeaponName
        {
            get 
            {
                string Name = "";
                for (int i = 0; i < 30; i++)
                    Name += (char)(*(byte*)(Pointer + 0x9 + i));
                return Name;
            }
        }
        public float ReloadAnimRatio
        {
            get { return *(float*)(Pointer + Storage.GetOffset("ReloadAnimRatio")); }
            set { *(float*)(Pointer + Storage.GetOffset("ReloadAnimRatio")) = value; }
        }

        public float ChangeWeaponAnimRatio
        {
            get { return *(float*)(Pointer + Storage.GetOffset("ChangeWeaponAnimRatio")); }
            set { *(float*)(Pointer + Storage.GetOffset("ChangeWeaponAnimRatio")) = value; }
        }

        public int LeftClickAttributes
        {
            get { return *(int*)(Pointer + Storage.GetOffset("LeftClickAttributes")); }
            set { *(int*)(Pointer + Storage.GetOffset("LeftClickAttributes")) = value; }
        }

        public int RightClickAttributes
        {
            get { return *(int*)(Pointer + Storage.GetOffset("RightClickAttributes")); }
            set { *(int*)(Pointer + Storage.GetOffset("RightClickAttributes")) = value; }
        }

        public int ZoomAttributes
        {
            get { return *(int*)(Pointer + Storage.GetOffset("ZoomAttributes")); }
            set { *(int*)(Pointer + Storage.GetOffset("ZoomAttributes")) = value; }
        }

        public float[] ZoomAction
        {
            get 
            {
                //"ZoomAction"
                float[] Array = new float[13];
                for (int i = 0; i < 13; i++)
                {
                    if (i == 10)
                        Array[i] = (float)*(int*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i));
                    else
                        Array[i] = *(float*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i));
                }
                return Array;
            }
            set
            {
                for (int i = 0; i < 13; i++)
                    if (i == 10)
                        *(int*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i)) = (int)value[i];
                    else *(float*)(Pointer + Storage.GetOffset("ZoomAction") + (4 * i)) = value[i];
            }
        }

        public float Range
        {
            get { return *(float*)(Pointer + Storage.GetOffset("Range")); }
            set { *(float*)(Pointer + Storage.GetOffset("Range")) = value; }
        }

        public float AiModeRange
        {
            get { return *(float*)(Pointer + Storage.GetOffset("AiModeRange")); }
            set { *(float*)(Pointer + Storage.GetOffset("AiModeRange")) = value; }
        }

        public float AmmoDamage
        {
            get { return *(float*)(Pointer + Storage.GetOffset("AmmoDamage")); }
            set { *(float*)(Pointer + Storage.GetOffset("AmmoDamage")) = value; }
        }

        public float DamageVariantionFactor
        {
            get { return *(float*)(Pointer + Storage.GetOffset("DamageVariantionFactor")); }
            set { *(float*)(Pointer + Storage.GetOffset("DamageVariantionFactor")) = value; }
        }
    }

    //###################################################################################################################
    unsafe class BasicPlayerInfo
    {
        private uint Pointer;
        public BasicPlayerInfo(uint Pointer)
        {
            this.Pointer = Pointer;
        }


        public float C4DefuseTime
        {
            get { return *(float*)(Pointer + Storage.GetOffset("C4DefuseTime")); }
            set { *(float*)(Pointer + Storage.GetOffset("C4DefuseTime")) = value; }
        }

        public float CharacterHiddenWalkAlpha
        {
            get { return *(float*)(Pointer + Storage.GetOffset("CharacterHiddenWalkAlpha")); }
            set { *(float*)(Pointer + Storage.GetOffset("CharacterHiddenWalkAlpha")) = value; }
        }

        public float CharacterRunAlpha
        {
            get { return *(float*)(Pointer + Storage.GetOffset("CharacterRunAlpha")); }
            set { *(float*)(Pointer + Storage.GetOffset("CharacterRunAlpha")) = value; }
        }

        public float MovementWalkRate
        {
            get { return *(float*)(Pointer + Storage.GetOffset("MovementWalkRate")); }
            set { *(float*)(Pointer + Storage.GetOffset("MovementWalkRate")) = value; }
        }
    }
}


You can see some "Console.WriteLine" command, i made my custom Console output on the form, so here is my Console Class:
 
Console.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RabirDimensionalBeast
{
    class Console
    {
        public static bool UpDated = false;
        public static string ConsoleBuffer = "";

        public static void WriteLine(string Text)
        {
            ConsoleBuffer += Text + "\r\n";
            UpDated = true;
        }

        public static void WriteLine()
        {
            ConsoleBuffer += "\r\n";
            UpDated = true;
        }

        public static void Write(string Text)
        {
            ConsoleBuffer += Text ;
            UpDated = true;
        }

        public static void Write(char Chr)
        {
            ConsoleBuffer += Chr;
            UpDated = true;
        }

        public static void Clear()
        {
            ConsoleBuffer = "";
            UpDated = true;
        }
    }
}


I have PTC in my hack, so here is the CShellFunctions.cs
 
CShellFunctions.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace RabirDimensionalBeast
{
    class CShellFunctions
    {
        // Function delegate..
        [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
        private delegate void _PushToConsole([MarshalAs(UnmanagedType.LPStr)] string Text);

        //**************************************************
        public static unsafe void PushToConsole(uint CShell, uint PTCPointer, int PTCOffset, string Command)
        {
        
            uint LTClient = *(uint*)((CShell + PTCPointer));
            uint PTCAddy = *(uint*)(LTClient + PTCOffset);

            var PTC = (_PushToConsole)Marshal.GetDelegateForFunctionPointer(new IntPtr(PTCAddy), typeof(_PushToConsole));
            PTC(Command);
        }
    }
}


This is an Auto-Update hack, that means it search (almost) all of the Offsets and Addresses automatically at each start, there you go:
 
PatternScanner.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace RabirDimensionalBeast
{
    class PatternScanner
    {
        private static unsafe uint FindPattern(int StartAddress, int Length, string bMask, string szMask)
        {
            byte[] ByteMask = new byte[szMask.Length];

            //Creating Byte Array
            int State = 0;
            for (int i = 0; i < bMask.Length; i++)
            {
                if (bMask[i] == 'x')
                {
                    ByteMask[State] = byte.Parse(bMask.Substring(i + 1, 2), System.Globalization.NumberStyles.HexNumber);
                    State++;
                }

            }

            //Searching Byte Pattern
            for (int i = 0; i < Length; i++)
            {
                bool Found = true;
                for (int j = 0; j < ByteMask.Length; j++)
                {
                    Found = Found && ((ByteMask[j] == *(byte*)(StartAddress + i + j)) || szMask[j] == '?');
                }
                if (Found) return (uint)(StartAddress + i); //Found it
            }
            return 0; //Didn't found it
        }

        public static unsafe int[] SequentedOffsetScanner(int StartAddress, int Length, string bMask, string szMask, int OffsetPos)
        {
            List<int> FoundOffsets = new List<int>();

            //Creating Byte Array
            byte[] ByteMask = new byte[szMask.Length];
            int State = 0;
            for (int i = 0; i < bMask.Length; i++)
            {
                if (bMask[i] == 'x')
                {
                    ByteMask[State] = byte.Parse(bMask.Substring(i + 1, 2), System.Globalization.NumberStyles.HexNumber);
                    State++;
                }

            }

            //Searching Byte Pattern
            for (int i = 0; i < Length; i++)
            {
                bool Found = true;
                for (int j = 0; j < ByteMask.Length; j++)
                {
                    Found = Found && ((ByteMask[j] == *(byte*)(StartAddress + i + j)) || szMask[j] == '?');
                }
                if (Found)
                {
                    if (!FoundOffsets.Contains(*(int*)(StartAddress + i + OffsetPos)))
                        FoundOffsets.Add(*(int*)(StartAddress + i + OffsetPos));
                }
            }
            return FoundOffsets.ToArray();
        }

        public static unsafe int[] SequentedByteOffsetScanner(int StartAddress, int Length, string bMask, string szMask, int OffsetPos)
        {
            List<int> FoundOffsets = new List<int>();

            //Creating Byte Array
            byte[] ByteMask = new byte[szMask.Length];
            int State = 0;
            for (int i = 0; i < bMask.Length; i++)
            {
                if (bMask[i] == 'x')
                {
                    ByteMask[State] = byte.Parse(bMask.Substring(i + 1, 2), System.Globalization.NumberStyles.HexNumber);
                    State++;
                }

            }

            //Searching Byte Pattern
            for (int i = 0; i < Length; i++)
            {
                bool Found = true;
                for (int j = 0; j < ByteMask.Length; j++)
                {
                    Found = Found && ((ByteMask[j] == *(byte*)(StartAddress + i + j)) || szMask[j] == '?');
                }
                if (Found)
                {
                    if (!FoundOffsets.Contains((int)(*(byte*)(StartAddress + i + OffsetPos))))
                        FoundOffsets.Add((int)(*(byte*)(StartAddress + i + OffsetPos)));
                }
            }
            return FoundOffsets.ToArray();
        }

        //######################### Find Addys #####################
        //******************Pointers
        public static unsafe uint FindWeaponMgr(uint CShell)
        {
            uint WeaponMgr = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x4F\x04\xA1\x00\x00\x00\x00\x85\xC0\x8B\x51\x04\x8B\x6A\x04", "xxxx????xxxxxxxx");
            WeaponMgr = (*(uint*)(WeaponMgr + 4)) - CShell;
            return WeaponMgr;
        }

        public static unsafe uint FindCShellPointer(uint CShell)
        {
            uint CShell_Pointer = FindPattern((int)CShell, 0xFFFFFF, @"\xc6\x01\x01\x8b\x15\x00\x00\x00\x00\x8b\x82\x00\x00\x00\x00\x8B", "xxxxx????xx????x");
            CShell_Pointer = (*(uint*)(CShell_Pointer + 5)) - CShell;
            return CShell_Pointer;
        }

        public static unsafe uint FindBasicPlayerInfo(uint CShell)
        {
            uint BasicPlayerInfo = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\xD8\x52\xF6\x10\x83\xC4\x04\x69\xC0\xA8\x00\x00\x00\xD9\x9C\x08\x88\x00\x00\x00\x8B\x4C\x24\x30\x3B\xCB", "xx????xxxxx????xxx????xxx?xx");
            BasicPlayerInfo = (*(uint*)(BasicPlayerInfo + 2)) - CShell;
            return BasicPlayerInfo;
        }
        public static unsafe uint FindPushToConsole(uint CShell)
        {
            uint PTC = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\x44\xA2\x59\x10\x8B\x91\x04\x02\x00\x00\x68\xB8\x55\x4C\x10\xFF\xD2\x83\xC4\x04\x53\xE8\x46\xF3\xFD\xFF\x8B\xC8\xE8\xBF\x5F\x2F\x00", "xx????xx????x????xxxxxxx????xxx????");
            PTC = (*(uint*)(PTC + 2)) - CShell;
            return PTC;
        }

        public static unsafe uint FindBypass(uint CShell)
        {
            uint ByPass = FindPattern((int)CShell, 0xFFFFFF, @"\xE8\xF6\x06\xE9\xFF\x8B\xF0\x83\xC4\x04\x85\xF6\x0F\x84\xE2\x01\x00\x00\xD9\x86\x3C\x0C\x00\x00\x0F\xB6\x86\x6C\x08\x00\x00\xD9\x5C\x24\x08\x89\x44\x24\x04\xD9\x86\x40\x0C\x00\x00\x57", "x????xxxx?xxxx????xx????xxx????xxx?xxx?xx????x");
            return ByPass - CShell;
        }

        public static unsafe uint FindSecondBypass(uint CShell)
        {
            uint ByPass = FindPattern((int)CShell, 0xFFFFFF, @"\x66\x8B\x54\x24\x04\x33\xC0\x66\x85\xD2\x7C\x26\x56\x8B\x35\x50\xAA\xFD\x10", "xxxx?xxxxxx?xxx????");
            return ByPass - CShell;
        }

        public static unsafe uint FindWallHack(uint CShell)
        {
            uint WallHack = FindPattern((int)Main.GetModuleHandle("crossfire.exe"), 0x2D7000, @"\xB8\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x06\x8B\x50\x18", "x????x????xxxxx");
            WallHack = *(uint*)(WallHack + 1);
            WallHack += 0xA4;
            return WallHack;
        }

        public static unsafe uint FindMemorySeeGhost(uint CShell)
        {
            uint WallHack = FindPattern((int)Main.GetModuleHandle("crossfire.exe"), 0x2D7000, @"\xB8\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x8B\x06\x8B\x50\x18", "x????x????xxxxx");
            WallHack = *(uint*)(WallHack + 1);
            WallHack += 0xB8;
            return WallHack;
        }

        public static unsafe uint FindDamageZone(uint CShell)
        {
            uint DamageZoneMgr = FindPattern((int)CShell, 0xFFFFFF, "\x68\x00\x00\x00\x00\x8D\x4C\x24\x24\x51\x8D\x54\x24\x34", "x????xxxxxxxxx");
            DamageZoneMgr = *(uint*)(DamageZoneMgr + 0x01);
            return DamageZoneMgr;
        }


        //*****************Offsets
        public static unsafe void BetaOffsetSearch(uint CShell)
        {
            int[] Offsets = SequentedByteOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x5C\x24\x24\x8B\x0D\xD4\x52\xF6\x10\xD9\x44\x24\x24\x8B\x15\xD8\x52\xF6\x10\x83\xC4\x04\x69\xC9\xA8\x00\x00\x00\xD9\x5C\x11\x08", "xxx?xx????xxx?xx????xx?xx????xxx?", 32);
            for (int i = 0; i < Offsets.Length; i++)
                Console.WriteLine("Found Offset(C4DefuTimePattern): 0x" + Storage.DecToHex(Offsets[i]));
        }


        //WeaponMgr
        public static unsafe uint FindReloadAnimRatio(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x0D\xA4\xC5\xFC\x10\x53\x8D\x3C\xB1\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x07\xD9\x98\x3C\x0C\x00\x00\x83\xC4\x04", "xx????xxxxxx????xxx?xxx?xxxx????xx?", 28);
            return (uint)Offsets[1];
        }

        public static unsafe uint FindChangeWeaponAnimRatio(uint CShell)
        {
            uint Value = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\xA4\xC5\xFC\x10\x53\x8D\x3C\xB1\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\x8B\x17\xD9\x44\x24\x14\x8B\x3D\xE0\xC4\x4D\x10\xD9\x9A\x40\x0C\x00\x00\x83\xC4\x04", "xx????xxxxxx????xxx?xxxxx?xx????xx????xx?");
            return (*(uint*)(Value + 34));
        }

        public static unsafe uint FindLeftClickAttributes(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x2B\xC1\xC1\xF8\x02\x3B\xF0\x72\x0C\xFF\x15\xE0\xC4\x4D\x10\x8B\x0D\xA4\xC5\xFC\x10\x8B\x04\xB1\x83\x88\xEC\x0A\x00\x00\x01", "xxxx?xxxxxx????xx????xxxxx?????", 26);
            return (uint)Offsets[0];
        }

        public static unsafe uint FindRightClickAttributes(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x2B\xC1\xC1\xF8\x02\x3B\xF0\x72\x0C\xFF\x15\xE0\xC4\x4D\x10\x8B\x0D\xA4\xC5\xFC\x10\x8B\x04\xB1\x83\x88\xEC\x0A\x00\x00\x01", "xxxx?xxxxxx????xx????xxxxx?????", 26);
            return (uint)Offsets[1];
        }

        public static unsafe uint FindZoomAttributes(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x2B\xC1\xC1\xF8\x02\x3B\xF0\x72\x0C\xFF\x15\xE0\xC4\x4D\x10\x8B\x0D\xA4\xC5\xFC\x10\x8B\x04\xB1\x83\x88\xEC\x0A\x00\x00\x01", "xxxx?xxxxxx????xx????xxxxx?????", 26);
            return (uint)Offsets[2];
        }
        public static unsafe uint FindZoomAction(uint CShell)
        {
            uint Value = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\xA4\xC5\xFC\x10\x55\x8D\x1C\xB1\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x0B\xD9\x9C\xB9\x20\x39\x00\x00", "xx????xxxxxx????xxx?xxx?xxxxx????");
            return (*(uint*)(Value + 29));
        }
        public static unsafe uint FindRange(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x44\x24\x14\x8B\x06\xDC\x0D\x50\xFC\x54\x10\x83\xC4\x04\xD9\x5C\x24\x10\xD9\x44\x24\x10\xD9\x98\x0C\x08\x00\x00", "xxx?xxxx????xx?xxx?xxx?xx????", 25);
            return (uint)Offsets[0];
        }
        public static unsafe uint FindAiModeRange(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x44\x24\x14\x8B\x06\xDC\x0D\x50\xFC\x54\x10\x83\xC4\x04\xD9\x5C\x24\x10\xD9\x44\x24\x10\xD9\x98\x0C\x08\x00\x00", "xxx?xxxx????xx?xxx?xxx?xx????", 25);
            return (uint)Offsets[1];
        }
        public static unsafe uint FindDamageVariantionFactor(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8D\x34\xA9\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x16\xD9\x9A\x38\x08\x00\x00", "xxxxx????xxx?xxx?xxxx????", 21);
            return (uint)Offsets[2];
        }
        public static unsafe uint FindAmmoDamage(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8D\x34\xA9\xFF\x15\x54\xC4\x4D\x10\xD9\x5C\x24\x14\xD9\x44\x24\x14\x8B\x06\xD9\x98\x1C\x08\x00\x00", "xxxxx????xxx?xxx?xxxx????", 21);
            return (uint)Offsets[0];
        }


        //BasicPlayerInfo
        public static unsafe uint FindC4DefuseTime(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x15\xD4\x52\xF6\x10\xD9\x44\x24\x24\xA1\xD8\x52\xF6\x10\x83\xC4\x04\x69\xD2\xA8\x00\x00\x00\xD9\x9C\x02\x80\x00\x00\x00", "xx????xxx?x????xx?xx????xxx????", 27);
            return (uint)Offsets[0];
        }
        public static unsafe uint FindCharacterHiddenWalkAlpha(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x15\xD4\x52\xF6\x10\xD9\x44\x24\x24\xA1\xD8\x52\xF6\x10\x83\xC4\x04\x69\xD2\xA8\x00\x00\x00\xD9\x9C\x02\x80\x00\x00\x00", "xx????xxx?x????xx?xx????xxx????", 27);
            return (uint)Offsets[1];
        }
        public static unsafe uint FindCharacterHiddenRunAlpha(uint CShell)
        {
            int[] Offsets = SequentedOffsetScanner((int)CShell, 0xFFFFFF, @"\x8B\x15\xD4\x52\xF6\x10\xD9\x44\x24\x24\xA1\xD8\x52\xF6\x10\x83\xC4\x04\x69\xD2\xA8\x00\x00\x00\xD9\x9C\x02\x80\x00\x00\x00", "xx????xxx?x????xx?xx????xxx????", 27);
            return (uint)Offsets[1] + 4;
        }
        public static unsafe uint FindMovementWalkRate(uint CShell)
        {
            int[] Offsets = SequentedByteOffsetScanner((int)CShell, 0xFFFFFF, @"\xD9\x5C\x24\x24\x8B\x0D\xD4\x52\xF6\x10\xD9\x44\x24\x24\x8B\x15\xD8\x52\xF6\x10\x83\xC4\x04\x69\xC9\xA8\x00\x00\x00\xD9\x5C\x11\x08", "xxx?xx????xxx?xx????xx?xx????xxx?", 32);
            return (uint)Offsets[0];
        }

        //PTC
        public static unsafe uint FindPushToConsoleOffset(uint CShell)
        {
            uint PTC = FindPattern((int)CShell, 0xFFFFFF, @"\x8B\x0D\x44\xA2\x59\x10\x8B\x91\x04\x02\x00\x00\x68\xB8\x55\x4C\x10\xFF\xD2\x83\xC4\x04\x53\xE8\x46\xF3\xFD\xFF\x8B\xC8\xE8\xBF\x5F\x2F\x00", "xx????xx????x????xxxxxxx????xxx????");
            PTC = (*(uint*)(PTC + 8));
            return PTC;
        }


        //###################################################################################################
        public static void LogAddresses(uint CShell)
        {
            //*******************************Define Offsets

            //WeaponMgr
            Console.WriteLine("Start Searching For Offsets");
            Console.WriteLine(">>>>WeaponMgr<<<<");
            Storage.SetOffset((int)FindReloadAnimRatio(CShell), "ReloadAnimRatio"); //float
            Storage.SetOffset((int)FindChangeWeaponAnimRatio(CShell), "ChangeWeaponAnimRatio"); //float

            Storage.SetOffset((int)FindLeftClickAttributes(CShell), "LeftClickAttributes"); //int
            Storage.SetOffset((int)FindRightClickAttributes(CShell), "RightClickAttributes"); //int
            Storage.SetOffset((int)FindZoomAttributes(CShell), "ZoomAttributes"); //int
            Storage.SetOffset((int)FindZoomAction(CShell), "ZoomAction"); //float[13] Index[10] = Int

            /*
            Storage.SetOffset(0x3B20, "ThrowVelocity"); //float
            Storage.SetOffset(0x3B24, "ThrowAngle"); //float
            Storage.SetOffset(0x3B28, "ThrowAirRes"); //float
            Storage.SetOffset(0x3B2C, "ThrowTime"); //float (Grenade Delay)
             */

            Storage.SetOffset((int)PatternScanner.FindRange(CShell), "Range"); //float
            Storage.SetOffset((int)PatternScanner.FindAiModeRange(CShell), "AiModeRange"); //float
            Storage.SetOffset((int)PatternScanner.FindAmmoDamage(CShell), "AmmoDamage"); //float
            Storage.SetOffset(0x820, "AiModeAmmoDamage"); //float
            Storage.SetOffset((int)PatternScanner.FindDamageVariantionFactor(CShell), "DamageVariantionFactor"); //float

            /*
            Storage.SetOffset(0xA5C, "KnifeNormalRange"); //float[3]
            Storage.SetOffset(0xA80, "KnifeBigshotRange"); //float[3]
            Storage.SetOffset(0xA9C, "KnifeNormalRange2"); //float[3]
            Storage.SetOffset(0xAC0, "KnifeBigshotRange2"); //float[3]
            Storage.SetOffset(0xA70, "KnifeNormalAniRate"); //float[3]
            Storage.SetOffset(0xA98, "KnifeBigshotAniRate"); //float[3]
            Storage.SetOffset(0xAB8, "KnifeNormalAniRate2"); //float[3]
            Storage.SetOffset(0xADC, "KnifeBigshotAniRate2"); //float[3]
            Storage.SetOffset(0xA68, "KnifeNormalAngle"); //float[3]
            Storage.SetOffset(0xA8C, "KnifeBigshotAngle"); //float[3]
            Storage.SetOffset(0xAA8, "KnifeNormalAngle2"); //float[3]
            Storage.SetOffset(0xACC, "KnifeBigshotAngle2"); //float[3]
            */

            /*
            Storage.SetOffset(0xC04, "KnifeNormalAmmoDamage"); //float[3]
            Storage.SetOffset(0xC10, "KnifeBigshotAmmoDamage"); //float[3]
            Storage.SetOffset(0xC1C, "KnifeNormalAmmoDamage2"); //float[3]
            Storage.SetOffset(0xC28, "KnifeBigshotAmmoDamage2"); //float[3]
            */

            /*
            Storage.SetOffset(0x352C, "BulletPosOffset"); //float[4]
            Storage.SetOffset(0x353C, "ShotReactYaw"); //float[9]
            Storage.SetOffset(0x370C, "ShotReactPitch"); //float[9]
            Storage.SetOffset(0x11CC, "DatailReactYawShot"); //float[9]
            Storage.SetOffset(0x1064, "DatailReactPitchShot"); //float[9]
            Storage.SetOffset(0xEFC, "DetailPerturbShot"); //float[9]
            Storage.SetOffset(0x540, "PerturbMin"); //float[9]
            Storage.SetOffset(0x6A8, "PerturbMax"); //float[9]
            */

            Console.WriteLine(">>>>Basic Player Info<<<<");
            //BasicPlayerInfo
            Storage.SetOffset((int)FindC4DefuseTime(CShell), "C4DefuseTime"); //float
            Storage.SetOffset(0x88, "CharacterHiddenAlpha"); //float
            Storage.SetOffset((int)FindCharacterHiddenWalkAlpha(CShell), "CharacterHiddenWalkAlpha"); //float
            Storage.SetOffset((int)FindCharacterHiddenRunAlpha(CShell), "CharacterRunAlpha"); //float
            Storage.SetOffset(0xC, "MovementDuckWalkRate"); //float
            Storage.SetOffset((int)FindMovementWalkRate(CShell), "MovementWalkRate"); //float
            Storage.SetOffset(0x84, "MaxCanDefuseDistance"); //float

            //PlayerPointer
            //Storage.SetOffset(0x64C, "FlyOffset"); //float

            //PTC
            Console.WriteLine(">>>>PushToConsole<<<<");
            Storage.SetOffset((int)FindPushToConsoleOffset(CShell), "PTCOffset");

        }
    }
}


I store everything Dynamically, here is the needed class:
 
Storage.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
 * Rabir Dimensional Beast Storage Class
 */
namespace RabirDimensionalBeast
{
    //####################### Data Types #################################
    class Pointer
    {
        public uint Address;
        public string Name;
        public Pointer(uint Address, string Name)
        {
            this.Address = Address;
            this.Name = Name;
        }
    }
    class Offset
    {
        public int Addy;
        public string Name;
        public Offset(int Addy, string Name)
        {
            this.Addy = Addy;
            this.Name = Name;
        }
    }

    class ByteValue
    {
        public byte Value;
        public string Name;
        public ByteValue(byte Value, string Name)
        {
            this.Value = Value;
            this.Name = Name;
        }
    }
    class IntValue
    {
        public int Value;
        public string Name;
        public IntValue(int Value, string Name)
        {
            this.Value = Value;
            this.Name = Name;
        }
    }
    class FloatValue
    {
        public float Value;
        public string Name;
        public FloatValue(float Value, string Name)
        {
            this.Value = Value;
            this.Name = Name;
        }
    }
    //####################### Actual Storage Handling ####################
    class Storage
    {
        //*********************** OTher
        public static float[] DamageVariantFactor = new float[999];
        //*********************** Pointers & Offsets & Values
        private static List<Pointer> PointerList = new List<Pointer>();
        private static List<Offset> OffsetList = new List<Offset>();

        private static List<ByteValue> ByteValueList = new List<ByteValue>();
        private static List<IntValue> IntValueList = new List<IntValue>();
        private static List<FloatValue> FloatValueList = new List<FloatValue>();

        //***************************************************************** Pointers
        public static void SetPointer(uint Address, string Name)
        {
            foreach (Pointer Ptr in PointerList)
            {
                if (Ptr.Name.ToUpper() == Name.ToUpper())
                {
                    Ptr.Address = Address;
                    Console.WriteLine("Pointer updated \"" + Ptr.Name + "\" = [0x" + Storage.DecToHex((int)Ptr.Address).ToString() + "]");
                    return;
                }
            }
            PointerList.Add(new Pointer(Address, Name));
            Console.WriteLine("Pointer created \"" + Name + "\" = [0x" + Storage.DecToHex((int)Address).ToString() + "]");
        }

        public static uint GetPointer(string Name)
        {
            foreach (Pointer Ptr in PointerList)
            {
                if (Ptr.Name.ToUpper() == Name.ToUpper())
                {
                    return Ptr.Address;
                }
            }
            return 0;
        }

        //******************************************************************* Offsets

        public static void SetOffset(int Addy, string Name)
        {
            foreach (Offset Off in OffsetList)
            {
                if (Off.Name.ToUpper() == Name.ToUpper())
                {
                    Off.Addy = Addy;
                    Console.WriteLine("Offset updated \"" + Off.Name + "\" = [0x" + Storage.DecToHex(Off.Addy).ToString() + "]");
                    return;
                }
            }
            OffsetList.Add(new Offset(Addy, Name));
            Console.WriteLine("Offset created \"" + Name + "\" = [0x" + Storage.DecToHex(Addy).ToString() + "]");
        }

        public static int GetOffset(string Name)
        {
            foreach (Offset Off in OffsetList)
            {
                if (Off.Name.ToUpper() == Name.ToUpper())
                {
                    return Off.Addy;
                }
            }
            return 0;
        }

        //********************************************************************* Values
        //Byte
        public static void SetByteValue(byte Value, string Name)
        {
            foreach (ByteValue Val in ByteValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    Val.Value = Value;
                    Console.WriteLine("Byte value updated \"" + Val.Name + "\" = [" + Val.Value.ToString() + "]");
                    return;
                }
            }
            ByteValueList.Add(new ByteValue(Value, Name));
            Console.WriteLine("Byte value created \"" + Name + "\" = [" + Value.ToString() + "]");
        }
        public static byte GetByteValue(string Name)
        {
            foreach (ByteValue Val in ByteValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    return Val.Value;
                }
            }
            return 0;
        }

        //Int
        public static void SetIntValue(int Value, string Name)
        {
            foreach (IntValue Val in IntValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    Val.Value = Value;
                    Console.WriteLine("Int value updated \"" + Val.Name + "\" = [" + Val.Value.ToString() + "]");
                    return;
                }
            }
            IntValueList.Add(new IntValue(Value, Name));
            Console.WriteLine("Int value created \"" + Name + "\" = [" + Value.ToString() + "]");
        }
        public static int GetIntValue(string Name)
        {
            foreach (IntValue Val in IntValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    return Val.Value;
                }
            }
            return 0;
        }

        //Float
        public static void SetFloatValue(float Value, string Name)
        {
            foreach (FloatValue Val in FloatValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    Val.Value = Value;
                    Console.WriteLine("Float value updated \"" + Val.Name + "\" = [" + Val.Value.ToString() + "]");
                    return;
                }
            }
            FloatValueList.Add(new FloatValue(Value, Name));
            Console.WriteLine("Float value created \"" + Name + "\" = [" + Value.ToString() + "]");
        }
        public static float GetFloatValue(string Name)
        {
            foreach (FloatValue Val in FloatValueList)
            {
                if (Val.Name.ToUpper() == Name.ToUpper())
                {
                    return Val.Value;
                }
            }
            return 0;
        }

        //############################# Other Tools ###################

        public static string DecToHex(int Dec)
        {
            return Dec.ToString("X");
        }

        //############################# Weapon Handling ###############
        public enum WeaponType
        {
            Rifle,
            Pistol,
            Grenade,
            Meele,
            Sniper,
            Shotgun,
            SMG,
            MG,
            Smoke,
            Flash,
            Hypomed,
            UnKnown
        }

        public static WeaponType GetWeaponType(int i)
        {
            if (i == 6 || i == 126 || i == 200 || i == 209 || i == 210 || i == 240 || i == 313 || i == 338 || i == 357 || i == 416 || i == 423 || i == 438 || i == 473 || i == 481 || i == 519 || i == 654 || i == 696 || i == 720 || i == 729)
                return WeaponType.Grenade;
            if (i == 5 || i == 35 || i == 74 || i == 120 || i == 132 || i == 176 || i == 177 || i == 178 || i == 182 || i == 195 || i == 196 || i == 197 || i == 198 || i == 199 || i == 223 || i == 224 || i == 225 || i == 226 || i == 227 || i == 228 || i == 244 || i == 302 || i == 303 || i == 304 || i == 305 || i == 306 || i == 307 || i == 318 || i == 345 || i == 346 || i == 376 || i == 404 || i == 405 || i == 406 || i == 407 || i == 408 || i == 409 || i == 437 || i == 455 || i == 456 || i == 457 || i == 517 || i == 518 || i == 548 || i == 576 || i == 541 || i == 587 || i == 693 || i == 718 || i == 719 || i == 728)
                return WeaponType.Meele;
            if (i == 714 || i == 14 || i == 15 || i == 16 || i == 23 || i == 43 || i == 46 || i == 91 || i == 110 || i == 111 || i == 122 || i == 136 || i == 150 || i == 152 || i == 163 || i == 185 || i == 186 || i == 194 || i == 232 || i == 249 || i == 268 || i == 279 || i == 294 || i == 323 || i == 368 || i == 378 || i == 500 || i == 513 || i == 525 || i == 554 || i == 602 || i == 632 || i == 657 || i == 714 || i == 724)
                return WeaponType.Sniper;
            if (i == 1 || i == 4 || i == 18 || i == 19 || i == 20 || i == 26 || i == 33 || i == 37 || i == 44 || i == 60 || i == 75 || i == 78 || i == 92 || i == 105 || i == 115 || i == 116 || i == 153 || i == 155 || i == 156 || i == 217 || i == 235 || i == 241 || i == 247 || i == 328 || i == 348 || i == 350 || i == 370 || i == 371 || i == 439 || i == 470 || i == 497 || i == 515 || i == 516 || i == 528 || i == 589 || i == 600 || i == 644 || i == 670 || i == 694 || i == 716 || i == 717 || i == 725)
                return WeaponType.Pistol;
            if (i == 8 || i == 64 || i == 65 || i == 384 || i == 521 || i == 722)
                return WeaponType.Smoke;
            if (i == 7 || i == 383 || i == 520 || i == 721)
                return WeaponType.Flash;
            if (i == 0 || i == 36 || i == 68 || i == 171 || i == 243 || i == 286 || i == 329 || i == 331 || i == 336 || i == 342 || i == 369 || i == 388 || i == 432 || i == 498 || i == 514 || i == 555 || i == 590 || i == 641 || i == 663 || i == 689 || i == 715)
                return WeaponType.Shotgun;
            if (i == 2 || i == 3 || i == 10 || i == 21 || i == 28 || i == 32 || i == 39 || i == 55 || i == 67 || i == 112 || i == 128 || i == 145 || i == 147 || i == 148 || i == 149 || i == 157 || i == 183 || i == 211 || i == 213 || i == 216 || i == 229 || i == 245 || i == 276 || i == 293 || i == 362 || i == 363 || i == 422 || i == 463 || i == 476 || i == 487 || i == 507 || i == 508 || i == 527 || i == 529 || i == 550 || i == 604 || i == 614 || i == 651 || i == 680 || i == 711)
                return WeaponType.SMG;
            if (i == 716 || i == 715 || i == 713 || i == 712 || i == 711 || i == 11 || i == 12 || i == 13 || i == 22 || i == 24 || i == 25 || i == 27 || i == 29 || i == 30 || i == 31 || i == 34 || i == 38 || i == 40 || i == 41 || i == 42 || i == 45 || i == 47 || i == 49 || i == 50 || i == 56 || i == 72 || i == 73 || i == 76 || i == 77 || i == 85 || i == 87 || i == 90 || i == 94 || i == 95 || i == 96 || i == 97 || i == 98 || i == 103 || i == 104 || i == 106 || i == 113 || i == 121 || i == 127 || i == 133 || i == 140 || i == 141 || i == 160 || i == 161 || i == 164 || i == 167 || i == 174 || i == 175 || i == 179 || i == 187 || i == 190 || i == 201 || i == 203 || i == 206 || i == 208 || i == 212 || i == 222 || i == 230 || i == 233 || i == 234 || i == 236 || i == 237 || i == 291 || i == 333 || i == 340 || i == 349 || i == 351 || i == 364 || i == 365 || i == 366 || i == 367 || i == 374 || i == 377 || i == 390 || i == 391 || i == 403 || i == 415 || i == 418 || i == 421 || i == 429 || i == 431 || i == 436 || i == 440 || i == 471 || i == 479 || i == 484 || i == 486 || i == 499 || i == 502 || i == 509 || i == 510 || i == 511 || i == 512 || i == 526 || i == 532 || i == 536 || i == 538 || i == 539 || i == 542 || i == 559 || i == 573 || i == 591 || i == 597 || i == 598 || i == 619 || i == 630 || i == 636 || i == 676 || i == 678 || i == 679 || i == 691 || i == 712 || i == 713 || i == 723 || i == 726 || i == 727)
                return WeaponType.Rifle;
            if (i == 710 || i == 17 || i == 61 || i == 124 || i == 158 || i == 159 || i == 166 || i == 188 || i == 257 || i == 300 || i == 315 || i == 316 || i == 352 || i == 361 || i == 441 || i == 506 || i == 524 || i == 556 || i == 558 || i == 564 || i == 565 || i == 575 || i == 588 || i == 653 || i == 710)
                return WeaponType.MG;
            if (i == 328 || i == 348)
                return WeaponType.Hypomed;
            return WeaponType.UnKnown;
        }
    }
}


OOokay, and there you go, the actual menu, which is a special Window Form:
 
Menu Form


 
MenuForm.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System****;
using System.Net;

namespace RabirDimensionalBeast
{
public partial class MenuForm : Form
{
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool GetWindowRect(IntPtr Handle, out Rectangle Rect);

[DllImport("user32.dll")]
static extern short GetAsyncKeyState(Keys Key);

protected override CreateParams CreateParams
{
get
{
CreateParams param = base.CreateParams;
param.ExStyle |= 0x08000000;
return param;
}

}

public MenuForm()
{
InitializeComponent();
}

private void MenuForm_Load(object sender, EventArgs e)
{
this.TopMost = true;
this.TopLevel = true;
this.Opacity = 0.5f;
}
private void Position_Tick(object sender, EventArgs e)
{
Rectangle CrosRect = new Rectangle();
GetWindowRect(Process.GetCurrentProcess().MainWind owHandle, out CrosRect);
this.Location = CrosRect.Location;
if (GetAsyncKeyState(Keys.Insert) < 0)
{
this.Visible = !this.Visible;
while (GetAsyncKeyState(Keys.Insert) < 0) { }
}
if (Console.UpDated)
{
this.ConsoleDisplay.Text = Console.ConsoleBuffer;
Console.UpDated = false;
this.ConsoleDisplay.SelectionStart = this.ConsoleDisplay.TextLength;
this.ConsoleDisplay.ScrollToCaret();
}
Rectangle FormRect = new Rectangle(this.Location, this.Size);
if (FormRect.Contains(Cursor.Position)) this.Opacity = 1;
else this.Opacity = 0.5f;

//Hotkey SpyMode
if (GetAsyncKeyState(Keys.F5) < 0)
{
if (Storage.GetIntValue("SpyMode") == 0) Storage.SetIntValue(1, "SpyMode");
else Storage.SetIntValue(0, "SpyMode");
while (GetAsyncKeyState(Keys.F5) < 0) { }
}
}

private void ClearConsoleButton_Click(object sender, EventArgs e)
{
Console.Clear();
}

private void CrounchSpeedSwitch_CheckedChanged(object sender, EventArgs e)
{
if (CrounchSpeedSwitch.Checked) Storage.SetFloatValue(1, "MovementDuckWalkRate");
else Storage.SetFloatValue(0.235f, "MovementDuckWalkRate");
}

private void WireFrameSwitch_CheckedChanged(object sender, EventArgs e)
{
if (WireFrameSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "WireframeModels 1");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "WireframeModels 0");
}

private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (NoWallSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "DrawWorld 0");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "DrawWorld 1");
}

private void WhitePlayerSwitch_CheckedChanged(object sender, EventArgs e)
{
if (WhitePlayerSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "TextureModels 0");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "TextureModels 1");
}

private void FastWalkSwitch_CheckedChanged(object sender, EventArgs e)
{
if (FastWalkSwitch.Checked) Storage.SetFloatValue(1, "MovementWalkRate");
else Storage.SetFloatValue(0.5f, "MovementWalkRate");
}

private void FastDefuseSwitch_CheckedChanged(object sender, EventArgs e)
{
if (FastDefuseSwitch.Checked) Storage.SetFloatValue(4, "DefuseTime");
else Storage.SetFloatValue(7, "DefuseTime");
}

private void numericUpDown2_ValueChanged(object sender, EventArgs e)
{
Storage.SetFloatValue((float)Level2ZoomNum.Value, "Level2Scope");
}

private void OneHitSwitch_CheckedChanged(object sender, EventArgs e)
{
if (OneHitSwitch.Checked) Storage.SetByteValue(1, "OneHit");
else Storage.SetByteValue(0, "OneHit");
}

private void ZoomHackForSnipers_CheckedChanged(object sender, EventArgs e)
{
Storage.SetByteValue(1, "SniperNoZoom");
ZoomHackForSnipers.Enabled = false;
}

private void NoSmokeSwitch_CheckedChanged(object sender, EventArgs e)
{
if (NoSmokeSwitch.Checked) CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "FogEnable 0");
else CShellFunctions.PushToConsole(Main.CShell, Storage.GetPointer("PushToConsole"), Storage.GetOffset("PTCOffset"), "FogEnable 1");
}

private void ConsoleDisplay_TextChanged(object sender, EventArgs e)
{

}

private void WallHackSwitch_CheckedChanged(object sender, EventArgs e)
{
if (WallHackSwitch.Checked) Storage.SetByteValue(8, "Wallhack");
else Storage.SetByteValue(4, "Wallhack");
}

private void SeeGhostSwitch_CheckedChanged(object sender, EventArgs e)
{
if (SeeGhostSwitch.Checked) Storage.SetIntValue(14, "SeeGhost");
else Storage.SetIntValue(5, "SeeGhost");
}
}
}

 
MenuForm.Designer.cs

namespace RabirDimensionalBeast
{
partial class MenuForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows Form Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.UpDater = new System.Windows.Forms.Timer(this.components);
this.Sablon = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.RapidFireSwitch = new System.Windows.Forms.CheckBox();
this.ZoomHackSwitch = new System.Windows.Forms.CheckBox();
this.CrounchSpeedSwitch = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
this.NoFlashSwitch = new System.Windows.Forms.CheckBox();
this.AntiAssassinSwitch = new System.Windows.Forms.CheckBox();
this.NoNadeSwitch = new System.Windows.Forms.CheckBox();
this.ClearConsoleButton = new System.Windows.Forms.Button();
this.ConsoleDisplay = new System.Windows.Forms.TextBox();
this.WireFrameSwitch = new System.Windows.Forms.CheckBox();
this.NoWallSwitch = new System.Windows.Forms.CheckBox();
this.WhitePlayerSwitch = new System.Windows.Forms.CheckBox();
this.FastWalkSwitch = new System.Windows.Forms.CheckBox();
this.FastDefuseSwitch = new System.Windows.Forms.CheckBox();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.Level2ZoomNum = new System.Windows.Forms.NumericUpDown();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.OneHitSwitch = new System.Windows.Forms.CheckBox();
this.ZoomHackForSnipers = new System.Windows.Forms.CheckBox();
this.NoSmokeSwitch = new System.Windows.Forms.CheckBox();
this.WallHackSwitch = new System.Windows.Forms.CheckBox();
this.SeeGhostSwitch = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.L evel2ZoomNum)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.n umericUpDown1)).BeginInit();
this.SuspendLayout();
//
// UpDater
//
this.UpDater.Enabled = true;
this.UpDater.Interval = 50;
this.UpDater.Tick += new System.EventHandler(this.Position_Tick);
//
// Sablon
//
this.Sablon.AutoSize = true;
this.Sablon.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.Sablon.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.Sablon.ForeColor = System.Drawing.Color.Lime;
this.Sablon.Location = new System.Drawing.Point(500, 385);
this.Sablon.Name = "Sablon";
this.Sablon.Size = new System.Drawing.Size(76, 20);
this.Sablon.TabIndex = 0;
this.Sablon.Text = "Sablon";
this.Sablon.UseVisualStyleBackColor = false;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.checkBox1.Enabled = false;
this.checkBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.checkBox1.ForeColor = System.Drawing.Color.Green;
this.checkBox1.Location = new System.Drawing.Point(591, 385);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(76, 20);
this.checkBox1.TabIndex = 0;
this.checkBox1.Text = "Sablon";
this.checkBox1.UseVisualStyleBackColor = false;
//
// RapidFireSwitch
//
this.RapidFireSwitch.AutoSize = true;
this.RapidFireSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.RapidFireSwitch.Checked = true;
this.RapidFireSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.RapidFireSwitch.Enabled = false;
this.RapidFireSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.RapidFireSwitch.ForeColor = System.Drawing.Color.Green;
this.RapidFireSwitch.Location = new System.Drawing.Point(151, 35);
this.RapidFireSwitch.Name = "RapidFireSwitch";
this.RapidFireSwitch.Size = new System.Drawing.Size(100, 20);
this.RapidFireSwitch.TabIndex = 0;
this.RapidFireSwitch.Text = "Rapid Fire";
this.RapidFireSwitch.UseVisualStyleBackColor = false;
//
// ZoomHackSwitch
//
this.ZoomHackSwitch.AutoSize = true;
this.ZoomHackSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ZoomHackSwitch.Checked = true;
this.ZoomHackSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.ZoomHackSwitch.Enabled = false;
this.ZoomHackSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ZoomHackSwitch.ForeColor = System.Drawing.Color.Green;
this.ZoomHackSwitch.Location = new System.Drawing.Point(151, 61);
this.ZoomHackSwitch.Name = "ZoomHackSwitch";
this.ZoomHackSwitch.Size = new System.Drawing.Size(106, 20);
this.ZoomHackSwitch.TabIndex = 0;
this.ZoomHackSwitch.Text = "Zoom Hack";
this.ZoomHackSwitch.UseVisualStyleBackColor = false;
//
// CrounchSpeedSwitch
//
this.CrounchSpeedSwitch.AutoSize = true;
this.CrounchSpeedSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.CrounchSpeedSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.CrounchSpeedSwitch.ForeColor = System.Drawing.Color.Lime;
this.CrounchSpeedSwitch.Location = new System.Drawing.Point(12, 35);
this.CrounchSpeedSwitch.Name = "CrounchSpeedSwitch";
this.CrounchSpeedSwitch.Size = new System.Drawing.Size(133, 20);
this.CrounchSpeedSwitch.TabIndex = 0;
this.CrounchSpeedSwitch.Text = "Crounch Speed";
this.CrounchSpeedSwitch.UseVisualStyleBackColor = false;
this.CrounchSpeedSwitch.CheckedChanged += new System.EventHandler(this.CrounchSpeedSwitch_Checke dChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.label1.ForeColor = System.Drawing.Color.Lime;
this.label1.Location = new System.Drawing.Point(32, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(207, 20);
this.label1.TabIndex = 1;
this.label1.Text = "Rabir Dimensional Beast";
//
// NoFlashSwitch
//
this.NoFlashSwitch.AutoSize = true;
this.NoFlashSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoFlashSwitch.Checked = true;
this.NoFlashSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.NoFlashSwitch.Enabled = false;
this.NoFlashSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoFlashSwitch.ForeColor = System.Drawing.Color.Green;
this.NoFlashSwitch.Location = new System.Drawing.Point(151, 87);
this.NoFlashSwitch.Name = "NoFlashSwitch";
this.NoFlashSwitch.Size = new System.Drawing.Size(89, 20);
this.NoFlashSwitch.TabIndex = 0;
this.NoFlashSwitch.Text = "No Flash";
this.NoFlashSwitch.UseVisualStyleBackColor = false;
//
// AntiAssassinSwitch
//
this.AntiAssassinSwitch.AutoSize = true;
this.AntiAssassinSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.AntiAssassinSwitch.Checked = true;
this.AntiAssassinSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.AntiAssassinSwitch.Enabled = false;
this.AntiAssassinSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.AntiAssassinSwitch.ForeColor = System.Drawing.Color.Green;
this.AntiAssassinSwitch.Location = new System.Drawing.Point(151, 113);
this.AntiAssassinSwitch.Name = "AntiAssassinSwitch";
this.AntiAssassinSwitch.Size = new System.Drawing.Size(109, 20);
this.AntiAssassinSwitch.TabIndex = 0;
this.AntiAssassinSwitch.Text = "No Repulse";
this.AntiAssassinSwitch.UseVisualStyleBackColor = false;
//
// NoNadeSwitch
//
this.NoNadeSwitch.AutoSize = true;
this.NoNadeSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoNadeSwitch.Checked = true;
this.NoNadeSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.NoNadeSwitch.Enabled = false;
this.NoNadeSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoNadeSwitch.ForeColor = System.Drawing.Color.Green;
this.NoNadeSwitch.Location = new System.Drawing.Point(151, 139);
this.NoNadeSwitch.Name = "NoNadeSwitch";
this.NoNadeSwitch.Size = new System.Drawing.Size(89, 20);
this.NoNadeSwitch.TabIndex = 0;
this.NoNadeSwitch.Text = "No Nade";
this.NoNadeSwitch.UseVisualStyleBackColor = false;
//
// ClearConsoleButton
//
this.ClearConsoleButton.BackColor = System.Drawing.SystemColors.Control;
this.ClearConsoleButton.Location = new System.Drawing.Point(266, 337);
this.ClearConsoleButton.Name = "ClearConsoleButton";
this.ClearConsoleButton.Size = new System.Drawing.Size(399, 23);
this.ClearConsoleButton.TabIndex = 3;
this.ClearConsoleButton.Text = "Clear Console";
this.ClearConsoleButton.UseVisualStyleBackColor = false;
this.ClearConsoleButton.Click += new System.EventHandler(this.ClearConsoleButton_Click) ;
//
// ConsoleDisplay
//
this.ConsoleDisplay.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ConsoleDisplay.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ConsoleDisplay.ForeColor = System.Drawing.Color.Lime;
this.ConsoleDisplay.Location = new System.Drawing.Point(266, 12);
this.ConsoleDisplay.Multiline = true;
this.ConsoleDisplay.Name = "ConsoleDisplay";
this.ConsoleDisplay.ReadOnly = true;
this.ConsoleDisplay.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.ConsoleDisplay.Size = new System.Drawing.Size(399, 319);
this.ConsoleDisplay.TabIndex = 4;
this.ConsoleDisplay.WordWrap = false;
this.ConsoleDisplay.TextChanged += new System.EventHandler(this.ConsoleDisplay_TextChange d);
//
// WireFrameSwitch
//
this.WireFrameSwitch.AutoSize = true;
this.WireFrameSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.WireFrameSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.WireFrameSwitch.ForeColor = System.Drawing.Color.Lime;
this.WireFrameSwitch.Location = new System.Drawing.Point(10, 217);
this.WireFrameSwitch.Name = "WireFrameSwitch";
this.WireFrameSwitch.Size = new System.Drawing.Size(103, 20);
this.WireFrameSwitch.TabIndex = 0;
this.WireFrameSwitch.Text = "WireFrame";
this.WireFrameSwitch.UseVisualStyleBackColor = false;
this.WireFrameSwitch.CheckedChanged += new System.EventHandler(this.WireFrameSwitch_CheckedCh anged);
//
// NoWallSwitch
//
this.NoWallSwitch.AutoSize = true;
this.NoWallSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoWallSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoWallSwitch.ForeColor = System.Drawing.Color.Lime;
this.NoWallSwitch.Location = new System.Drawing.Point(10, 243);
this.NoWallSwitch.Name = "NoWallSwitch";
this.NoWallSwitch.Size = new System.Drawing.Size(82, 20);
this.NoWallSwitch.TabIndex = 0;
this.NoWallSwitch.Text = "No Wall";
this.NoWallSwitch.UseVisualStyleBackColor = false;
this.NoWallSwitch.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged) ;
//
// WhitePlayerSwitch
//
this.WhitePlayerSwitch.AutoSize = true;
this.WhitePlayerSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.WhitePlayerSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.WhitePlayerSwitch.ForeColor = System.Drawing.Color.Lime;
this.WhitePlayerSwitch.Location = new System.Drawing.Point(10, 269);
this.WhitePlayerSwitch.Name = "WhitePlayerSwitch";
this.WhitePlayerSwitch.Size = new System.Drawing.Size(115, 20);
this.WhitePlayerSwitch.TabIndex = 0;
this.WhitePlayerSwitch.Text = "White Player";
this.WhitePlayerSwitch.UseVisualStyleBackColor = false;
this.WhitePlayerSwitch.CheckedChanged += new System.EventHandler(this.WhitePlayerSwitch_Checked Changed);
//
// FastWalkSwitch
//
this.FastWalkSwitch.AutoSize = true;
this.FastWalkSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.FastWalkSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.FastWalkSwitch.ForeColor = System.Drawing.Color.Lime;
this.FastWalkSwitch.Location = new System.Drawing.Point(12, 61);
this.FastWalkSwitch.Name = "FastWalkSwitch";
this.FastWalkSwitch.Size = new System.Drawing.Size(96, 20);
this.FastWalkSwitch.TabIndex = 0;
this.FastWalkSwitch.Text = "Fast Walk";
this.FastWalkSwitch.UseVisualStyleBackColor = false;
this.FastWalkSwitch.CheckedChanged += new System.EventHandler(this.FastWalkSwitch_CheckedCha nged);
//
// FastDefuseSwitch
//
this.FastDefuseSwitch.AutoSize = true;
this.FastDefuseSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.FastDefuseSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.FastDefuseSwitch.ForeColor = System.Drawing.Color.Lime;
this.FastDefuseSwitch.Location = new System.Drawing.Point(12, 87);
this.FastDefuseSwitch.Name = "FastDefuseSwitch";
this.FastDefuseSwitch.Size = new System.Drawing.Size(110, 20);
this.FastDefuseSwitch.TabIndex = 0;
this.FastDefuseSwitch.Text = "Fast Defuse";
this.FastDefuseSwitch.UseVisualStyleBackColor = false;
this.FastDefuseSwitch.CheckedChanged += new System.EventHandler(this.FastDefuseSwitch_CheckedC hanged);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.Level2ZoomNum);
this.groupBox1.Controls.Add(this.numericUpDown1);
this.groupBox1.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.groupBox1.Location = new System.Drawing.Point(131, 279);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(124, 72);
this.groupBox1.TabIndex = 5;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Scope Settings";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(22, 48);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(45, 13);
this.label3.TabIndex = 2;
this.label3.Text = "Level 2:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(21, 21);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(45, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Level 1:";
//
// Level2ZoomNum
//
this.Level2ZoomNum.Increment = new decimal(new int[] {
1,
0,
0,
65536});
this.Level2ZoomNum.Location = new System.Drawing.Point(72, 46);
this.Level2ZoomNum.Maximum = new decimal(new int[] {
5,
0,
0,
0});
this.Level2ZoomNum.Minimum = new decimal(new int[] {
5,
0,
0,
-2147483648});
this.Level2ZoomNum.Name = "Level2ZoomNum";
this.Level2ZoomNum.Size = new System.Drawing.Size(41, 20);
this.Level2ZoomNum.TabIndex = 1;
this.Level2ZoomNum.Value = new decimal(new int[] {
2,
0,
0,
0});
this.Level2ZoomNum.ValueChanged += new System.EventHandler(this.numericUpDown2_ValueChang ed);
//
// numericUpDown1
//
this.numericUpDown1.Enabled = false;
this.numericUpDown1.Location = new System.Drawing.Point(72, 19);
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(41, 20);
this.numericUpDown1.TabIndex = 0;
this.numericUpDown1.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// OneHitSwitch
//
this.OneHitSwitch.AutoSize = true;
this.OneHitSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.OneHitSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.OneHitSwitch.ForeColor = System.Drawing.Color.Lime;
this.OneHitSwitch.Location = new System.Drawing.Point(10, 113);
this.OneHitSwitch.Name = "OneHitSwitch";
this.OneHitSwitch.Size = new System.Drawing.Size(58, 20);
this.OneHitSwitch.TabIndex = 0;
this.OneHitSwitch.Text = "OHK";
this.OneHitSwitch.UseVisualStyleBackColor = false;
this.OneHitSwitch.CheckedChanged += new System.EventHandler(this.OneHitSwitch_CheckedChang ed);
//
// ZoomHackForSnipers
//
this.ZoomHackForSnipers.AutoSize = true;
this.ZoomHackForSnipers.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ZoomHackForSnipers.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.ZoomHackForSnipers.ForeColor = System.Drawing.Color.Lime;
this.ZoomHackForSnipers.Location = new System.Drawing.Point(10, 139);
this.ZoomHackForSnipers.Name = "ZoomHackForSnipers";
this.ZoomHackForSnipers.Size = new System.Drawing.Size(135, 20);
this.ZoomHackForSnipers.TabIndex = 0;
this.ZoomHackForSnipers.Text = "Sniper NoZoom";
this.ZoomHackForSnipers.UseVisualStyleBackColor = false;
this.ZoomHackForSnipers.CheckedChanged += new System.EventHandler(this.ZoomHackForSnipers_Checke dChanged);
//
// NoSmokeSwitch
//
this.NoSmokeSwitch.AutoSize = true;
this.NoSmokeSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.NoSmokeSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.NoSmokeSwitch.ForeColor = System.Drawing.Color.Lime;
this.NoSmokeSwitch.Location = new System.Drawing.Point(10, 295);
this.NoSmokeSwitch.Name = "NoSmokeSwitch";
this.NoSmokeSwitch.Size = new System.Drawing.Size(99, 20);
this.NoSmokeSwitch.TabIndex = 0;
this.NoSmokeSwitch.Text = "No Smoke";
this.NoSmokeSwitch.UseVisualStyleBackColor = false;
this.NoSmokeSwitch.CheckedChanged += new System.EventHandler(this.NoSmokeSwitch_CheckedChan ged);
//
// WallHackSwitch
//
this.WallHackSwitch.AutoSize = true;
this.WallHackSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.WallHackSwitch.Checked = true;
this.WallHackSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.WallHackSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.WallHackSwitch.ForeColor = System.Drawing.Color.Lime;
this.WallHackSwitch.Location = new System.Drawing.Point(10, 165);
this.WallHackSwitch.Name = "WallHackSwitch";
this.WallHackSwitch.Size = new System.Drawing.Size(94, 20);
this.WallHackSwitch.TabIndex = 0;
this.WallHackSwitch.Text = "WallHack";
this.WallHackSwitch.UseVisualStyleBackColor = false;
this.WallHackSwitch.CheckedChanged += new System.EventHandler(this.WallHackSwitch_CheckedCha nged);
//
// SeeGhostSwitch
//
this.SeeGhostSwitch.AutoSize = true;
this.SeeGhostSwitch.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.SeeGhostSwitch.Checked = true;
this.SeeGhostSwitch.CheckState = System.Windows.Forms.CheckState.Checked;
this.SeeGhostSwitch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.SeeGhostSwitch.ForeColor = System.Drawing.Color.Lime;
this.SeeGhostSwitch.Location = new System.Drawing.Point(10, 191);
this.SeeGhostSwitch.Name = "SeeGhostSwitch";
this.SeeGhostSwitch.Size = new System.Drawing.Size(99, 20);
this.SeeGhostSwitch.TabIndex = 0;
this.SeeGhostSwitch.Text = "See Ghost";
this.SeeGhostSwitch.UseVisualStyleBackColor = false;
this.SeeGhostSwitch.CheckedChanged += new System.EventHandler(this.SeeGhostSwitch_CheckedCha nged);
//
// MenuForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ActiveCaptionText;
this.ClientSize = new System.Drawing.Size(679, 417);
this.ControlBox = false;
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.ConsoleDisplay);
this.Controls.Add(this.ClearConsoleButton);
this.Controls.Add(this.label1);
this.Controls.Add(this.RapidFireSwitch);
this.Controls.Add(this.ZoomHackSwitch);
this.Controls.Add(this.NoFlashSwitch);
this.Controls.Add(this.AntiAssassinSwitch);
this.Controls.Add(this.NoNadeSwitch);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.CrounchSpeedSwitch);
this.Controls.Add(this.WireFrameSwitch);
this.Controls.Add(this.NoWallSwitch);
this.Controls.Add(this.WhitePlayerSwitch);
this.Controls.Add(this.FastWalkSwitch);
this.Controls.Add(this.FastDefuseSwitch);
this.Controls.Add(this.OneHitSwitch);
this.Controls.Add(this.ZoomHackForSnipers);
this.Controls.Add(this.NoSmokeSwitch);
this.Controls.Add(this.WallHackSwitch);
this.Controls.Add(this.SeeGhostSwitch);
this.Controls.Add(this.Sablon);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "MenuForm";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.Text = "MenuForm";
this.TopMost = true;
this.Load += new System.EventHandler(this.MenuForm_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.L evel2ZoomNum)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.n umericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();

}

#endregion

private System.Windows.Forms.Timer UpDater;
private System.Windows.Forms.CheckBox Sablon;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.CheckBox RapidFireSwitch;
private System.Windows.Forms.CheckBox ZoomHackSwitch;
private System.Windows.Forms.CheckBox CrounchSpeedSwitch;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.CheckBox NoFlashSwitch;
private System.Windows.Forms.CheckBox AntiAssassinSwitch;
private System.Windows.Forms.CheckBox NoNadeSwitch;
private System.Windows.Forms.Button ClearConsoleButton;
private System.Windows.Forms.TextBox ConsoleDisplay;
private System.Windows.Forms.CheckBox WireFrameSwitch;
private System.Windows.Forms.CheckBox NoWallSwitch;
private System.Windows.Forms.CheckBox WhitePlayerSwitch;
private System.Windows.Forms.CheckBox FastWalkSwitch;
private System.Windows.Forms.CheckBox FastDefuseSwitch;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.NumericUpDown Level2ZoomNum;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.CheckBox OneHitSwitch;
private System.Windows.Forms.CheckBox ZoomHackForSnipers;
private System.Windows.Forms.CheckBox NoSmokeSwitch;
private System.Windows.Forms.CheckBox WallHackSwitch;
private System.Windows.Forms.CheckBox SeeGhostSwitch;
}
}



And yes, i converted the ByPass to C#, but its detected on Cf Eu, so actually, i only could partially test it, cuz Xtrap gave me a sexy kiss...
 
ByPass.cs

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Threading;

namespace RabirDimensionalBeast
{
    unsafe class ByPass
    {
        [DllImport("kernel32.dll")]
        static extern bool VirtualProtect(IntPtr lpAddress, uint dwSize, uint flNewProtect, out uint lpflOldProtect);

        //ByPass Delegates
        [UnmanagedFunctionPointer(CallingConvention.StdCall, CharSet = CharSet.Auto, SetLastError = true)]
        public delegate uint GetWeaponPointerDelegate(int WeaponIndex);
        public static GetWeaponPointerDelegate ByPassDelegate = new GetWeaponPointerDelegate(Bypass);


        public static unsafe void CreateBypass(uint CShell, uint WeaponMgr, uint ByPassPointer)
        {
            Console.WriteLine(">>>>>>>>>>>> 28_3 Sharp Bypass Start <<<<<<<<<<<<<<");
            uint Ptr = (uint)Marshal.GetFunctionPointerForDelegate(ByPassDelegate);
            Console.WriteLine("Bypass function pointer: 0x" + Storage.DecToHex((int)Ptr));


            if (*(byte*)(CShell + ByPassPointer) != 0)
            {
                MakeCall((byte*)(CShell + ByPassPointer), Ptr, 5);
                backup(CShell, WeaponMgr);
            }

            Console.WriteLine(">>>>>>>>>>>> 28_3 Sharp Bypass Done <<<<<<<<<<<<<<");
        }

        //***********************************************************************************
        public static uint Bypass(int GunIndex)
        {
            Console.WriteLine("Access: " + GunIndex.ToString());

            fixed (byte* WeaponPtr = WeaponMgrCopy[GunIndex])
                return (uint)WeaponPtr;
        }

        public static byte[][] WeaponMgrCopy = new byte[999][];
        public static uint pWeap = 0;
        public static void backup(uint CShell, uint weaponMgr)
        {
            uint pWeaponMgr = *(uint*)(CShell + weaponMgr);
            pWeap = pWeaponMgr;
            Console.WriteLine("Creating Fake WeaponMgr Copy");
            for (int i = 0; i < 999; i++)
            {
                uint Weapon = *(uint*)(pWeaponMgr + (4 * i));
                if (Weapon != 0)
                {
                    WeaponMgrCopy[i] = new byte[0x3000];

                    //memcpy(Weapons[i], (void*)(Weapon), 0x1400);
                    for (int k = 0; k < 0x1400; k++)
                    {
                        fixed (byte* wPtr = WeaponMgrCopy[i])
                            *(byte*)(wPtr + k) = *(byte*)(Weapon + k);
                    }
                }
            }
            Console.WriteLine("Done");
        }

        public static void MakeCall(byte* paddress, uint yourfunction, uint dwLen)
        {
            Console.WriteLine("OverWrite Function");
            uint dwOldProtect, dwBkup, dwRelAddr;
            VirtualProtect((IntPtr)paddress, dwLen, 0x40, out dwOldProtect);
            dwRelAddr = (uint)(yourfunction - (uint)paddress) - 5; //Count Call Address
            *paddress = 0xE8;
            *((uint*)(paddress + 0x1)) = dwRelAddr;
            for (uint x = 0x5; x < dwLen; x++) *(paddress + x) = 0x90;
            VirtualProtect((IntPtr)paddress, dwLen, dwOldProtect, out dwBkup);
        }
        //################################################################################################
    }
}



Credits goes to:
@rabir007 --Coding, algorythms...
@kmanev073 --Helping, some trick...
@[Almost Every Coder Here On MPGH]
@Pingo --Helping with C# things...
@atom0s --Helping with Sharp PTC...


why stopped coding ? :|
Quote Originally Posted by kmanev073 View Post
why stopped coding ? :|
Cuz i got bored about crossfire...


---------- Post added at 09:08 PM ---------- Previous post was at 09:08 PM ----------

Quote Originally Posted by CoderCf View Post
XTrap after 1 min
I know, i think its the Wallhack, but i'm not sure about that...
Quote Originally Posted by rabir007 View Post


Cuz i got bored about crossfire...


---------- Post added at 09:08 PM ---------- Previous post was at 09:08 PM ----------



I know, i think its the Wallhack, but i'm not sure about that...

I Delete the WallHack and SeeGhost but XTrap pop up again
Quote Originally Posted by CoderCf View Post
I Delete the WallHack and SeeGhost but XTrap pop up again
Than Dunno what cause it...
XTrap after 1 min
Thx for posted.
What the fuck dude.
Inb41mHacks
Quote Originally Posted by Janitor View Post
What the fuck dude.
Inb41mHacks

?
Thank You For Sharing .
Ohh sry i deleted only the CheckBox now i deleted the full WallHack source and its working now


Can you give me the Source for the CLR Injector so i can make a AutoInjector ? Like a Loader


PS: SeeGhost is working only WallHack not

WallHack is not working Becouse Hax.lib(HL.bot) post the Source Public !
Quote Originally Posted by CoderCf View Post
Ohh sry i deleted only the CheckBox now i deleted the full WallHack source and its working now


Can you give me the Source for the CLR Injector so i can make a AutoInjector ? Like a Loader


PS: SeeGhost is working only WallHack not

WallHack is not working Becouse Hax.lib(HL.bot) post the Source Public !

Use .NET Reflector on the Injector...
Quote Originally Posted by rabir007 View Post



Use .NET Reflector on the Injector...

What you mean with Use .Ne Reflector on the Injector ?

For What ?
Posts 1–15 of 47 · Page 1 of 4

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?