コード例 #1
0
    public void Write(IntPtr MemoryAddress, byte[] bytesToWrite, out int bytesWritten)
    {
        IntPtr ptrBytesWritten;

        MemoryAPI.WriteProcessMemory(m_hProcess, MemoryAddress, bytesToWrite, (uint)bytesToWrite.Length, out ptrBytesWritten);
        bytesWritten = ptrBytesWritten.ToInt32();
    }
コード例 #2
0
 public void Open()
 {
     MemoryAPI.ProcessAccessType access = MemoryAPI.ProcessAccessType.PROCESS_VM_READ
                                          | MemoryAPI.ProcessAccessType.PROCESS_VM_WRITE
                                          | MemoryAPI.ProcessAccessType.PROCESS_VM_OPERATION;
     m_hProcess = MemoryAPI.OpenProcess((uint)access, 1, (uint)m_ReadProcess.Id);
 }
コード例 #3
0
 public void CloseHandle()
 {
     int iRetValue;
     iRetValue = MemoryAPI.CloseHandle(m_hProcess);
     if (iRetValue == 0)
         throw new Exception("CloseHandle Failed");
 }
コード例 #4
0
ファイル: CBasePlayer.cs プロジェクト: Niharkanta1/References
 public void SetRenderColor(Color col)
 {
     MemoryAPI.WriteToProcess <char>(Globals._csgo.ProcessHandle, pThis + Globals._netvar.m_clrRender, (char)col.R);
     MemoryAPI.WriteToProcess <char>(Globals._csgo.ProcessHandle, pThis + Globals._netvar.m_clrRender + 1, (char)col.G);
     MemoryAPI.WriteToProcess <char>(Globals._csgo.ProcessHandle, pThis + Globals._netvar.m_clrRender + 2, (char)col.B);
     MemoryAPI.WriteToProcess <char>(Globals._csgo.ProcessHandle, pThis + Globals._netvar.m_clrRender + 3, (char)col.A);
 }
コード例 #5
0
 public byte[] Read(IntPtr MemoryAddress, uint bytesToRead, out int bytesRead)
 {
     byte[] buffer = new byte[bytesToRead];
     IntPtr ptrBytesRead;
     MemoryAPI.ReadProcessMemory(m_hProcess, MemoryAddress, buffer, bytesToRead, out ptrBytesRead);
     bytesRead = ptrBytesRead.ToInt32();
     return buffer;
 }
コード例 #6
0
ファイル: CBasePlayer.cs プロジェクト: Niharkanta1/References
        public CBaseCombatWeapon GetWearableWeapon()
        {
            int Handle = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, pThis + Globals._netvar.m_hMyWearables);

            Handle &= 0xFFF;

            return(new CBaseCombatWeapon(MainThread.g_EntityList.GetEntityByIndex(Handle)));
        }
コード例 #7
0
        public CSGOClassID GetClassID()
        {
            IntPtr vTables   = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, pThis + 0x8);
            IntPtr vFunction = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, vTables + 0x8);
            IntPtr vClass    = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, vFunction + 0x1);

            return((CSGOClassID)MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, vClass + 0x14));
        }
コード例 #8
0
        public string GetNetworkName()
        {
            IntPtr vTables   = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, pThis + 0x8);
            IntPtr vFunction = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, vTables + 0x8);
            IntPtr vClass    = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, vFunction + 0x1);

            return(MemoryAPI.ReadTextFromProcess(Globals._csgo.ProcessHandle, MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, vClass + 0x8), -1));
        }
コード例 #9
0
ファイル: ConVar.cs プロジェクト: Niharkanta1/References
        public int GetInt()
        {
            int xor_value = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, pThis + 0x30);

            xor_value ^= (int)pThis;

            return(xor_value);
        }
コード例 #10
0
        public static mstudiobbox_t GetHitBox(IClientEntity pEntity, string szModelName, int iIndex)
        {
            if (m_ModelHitboxes.ContainsKey(szModelName))
            {
                if (m_ModelHitboxes[szModelName].ContainsKey(iIndex))
                {
                    return(m_ModelHitboxes[szModelName][iIndex]);
                }
                else
                {
                    return(default(mstudiobbox_t));
                }
            }

            IntPtr pStudioHdr = pEntity.GetStudioHdr();

            if (pStudioHdr == IntPtr.Zero)
            {
                return(default(mstudiobbox_t));
            }

            int hitbox_set_index = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, pStudioHdr + 0xB0);

            int studio_hitbox_set = (int)pStudioHdr + hitbox_set_index;

            int num_hitboxes = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, new IntPtr(studio_hitbox_set + 0x4));

            int hitbox_index = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, new IntPtr(studio_hitbox_set + 0x8));

            m_ModelHitboxes.Add(szModelName, new Dictionary <int, mstudiobbox_t>());

            for (int i = 0; i < num_hitboxes; ++i)
            {
                mstudiobbox_t model_hitbox = MemoryAPI.ReadFromProcess <mstudiobbox_t>(Globals._csgo.ProcessHandle, new IntPtr((0x44 * i) + hitbox_index + studio_hitbox_set));
                float         radius       = model_hitbox.m_flRadius;
                if (radius != -1f)
                {
                    model_hitbox.bbmin.x -= radius;
                    model_hitbox.bbmin.y -= radius;
                    model_hitbox.bbmin.z -= radius;

                    model_hitbox.bbmin.x += radius;
                    model_hitbox.bbmin.y += radius;
                    model_hitbox.bbmin.z += radius;
                }
                m_ModelHitboxes[szModelName].Add(i, model_hitbox);
            }

            if (m_ModelHitboxes[szModelName].ContainsKey(iIndex))
            {
                return(m_ModelHitboxes[szModelName][iIndex]);
            }
            else
            {
                return(default(mstudiobbox_t));
            }
        }
コード例 #11
0
 public void Update()
 {
     pPlayerList.Clear();
     for (int i = 1; i <= MainThread.g_GlobalVars.Get().maxClients; ++i)
     {
         IntPtr pEntity = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, pThis + ((i - 1) * 0x10));
         if (pEntity != IntPtr.Zero)
         {
             pPlayerList.Add(pEntity);
         }
     }
 }
コード例 #12
0
        public void RegisterGlowObject(int iGlowIndex, float r, float g, float b, float a, bool bInnerGlow, bool bFullRender = false)
        {
            GlowObjectDefinition_t glow = MemoryAPI.ReadFromProcess <GlowObjectDefinition_t>(Globals._csgo.ProcessHandle, pThis + (iGlowIndex * 0x38));

            glow.fR                    = r / 255f;
            glow.fG                    = g / 255f;
            glow.fB                    = b / 255f;
            glow.fAlpha                = a / 255f;
            glow.m_bInnerGlow          = bInnerGlow;
            glow.bRenderWhenOccluded   = true;
            glow.bRenderWhenUnoccluded = false;
            glow.bFullBloomRender      = bFullRender;
            MemoryAPI.WriteToProcess <GlowObjectDefinition_t>(Globals._csgo.ProcessHandle, pThis + (iGlowIndex * 0x38), glow);
        }
コード例 #13
0
ファイル: ConVar.cs プロジェクト: Niharkanta1/References
        public float GetFloat()
        {
            byte[] xored = MemoryAPI.ReadMemory(Globals._csgo.ProcessHandle, pThis + 0x2C, 4);

            byte[] key = BitConverter.GetBytes((int)pThis);

            for (int i = 0; i < 4; ++i)
            {
                xored[i] ^= key[i];
            }

            float value = BitConverter.ToSingle(xored, 0);

            return(value);
        }
コード例 #14
0
        public void Update()
        {
            Items.Clear();
            IntPtr startAddress = GetItems();

            for (int i = 0; i < 1024; ++i)
            {
                IntPtr namePointer = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, startAddress + 0xC + (i * 0x34));
                string model_name  = MemoryAPI.ReadTextFromProcess(Globals._csgo.ProcessHandle, namePointer, -1);
                if (model_name.StartsWith("models"))
                {
                    Items.Add(model_name, i - 3);
                }
            }
        }
コード例 #15
0
    public byte[] PointerRead(IntPtr MemoryAddress, uint bytesToRead, int[] Offset, out int bytesRead)
    {
        int    iPointerCount = Offset.Length - 1;
        IntPtr ptrBytesRead;

        bytesRead = 0;
        byte[] buffer      = new byte[4]; //DWORD to hold an Address
        int    tempAddress = 0;

        if (iPointerCount == 0)
        {
            MemoryAPI.ReadProcessMemory(m_hProcess, MemoryAddress, buffer, 4, out ptrBytesRead);
            tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[0]; //Final Address

            buffer = new byte[bytesToRead];
            MemoryAPI.ReadProcessMemory(m_hProcess, (IntPtr)tempAddress, buffer, bytesToRead, out ptrBytesRead);

            bytesRead = ptrBytesRead.ToInt32();
            return(buffer);
        }

        for (int i = 0; i <= iPointerCount; i++)
        {
            if (i == iPointerCount)
            {
                MemoryAPI.ReadProcessMemory(m_hProcess, (IntPtr)tempAddress, buffer, 4, out ptrBytesRead);
                tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[i]; //Final Address

                buffer = new byte[bytesToRead];
                MemoryAPI.ReadProcessMemory(m_hProcess, (IntPtr)tempAddress, buffer, bytesToRead, out ptrBytesRead);

                bytesRead = ptrBytesRead.ToInt32();
                return(buffer);
            }
            else if (i == 0)
            {
                MemoryAPI.ReadProcessMemory(m_hProcess, MemoryAddress, buffer, 4, out ptrBytesRead);
                tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[1];
            }
            else
            {
                MemoryAPI.ReadProcessMemory(m_hProcess, (IntPtr)tempAddress, buffer, 4, out ptrBytesRead);
                tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[i];
            }
        }

        return(buffer);
    }
コード例 #16
0
 public void Update()
 {
     pThis = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["engine"].BaseAddress + Globals._signatures.dw_ClientState);
     if (IsInGame())
     {
         if (m_pModelPrecacheTable == null)
         {
             m_pModelPrecacheTable = GetModelPrecacheTable();
         }
         if (m_pModelPrecacheTable != null && m_pModelPrecacheTable.lastMap != GetMapName())
         {
             m_pModelPrecacheTable.Update();
             m_pModelPrecacheTable.lastMap = GetMapName();
         }
     }
 }
コード例 #17
0
ファイル: UTILS_GAME.cs プロジェクト: Niharkanta1/References
        public static bool MatchFound()
        {
            IntPtr CLobbyScreen = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["client"].BaseAddress + Globals._signatures.dw_CLobbyScreen);

            if (CLobbyScreen != IntPtr.Zero)
            {
                int iAccept = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, CLobbyScreen + Globals._signatures.dw_MatchAccepted);
                int iFound  = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, CLobbyScreen + Globals._signatures.dw_MatchFound);

                return(iAccept == 0 && iFound != 0);
            }
            else
            {
                return(false);
            }
        }
コード例 #18
0
        public static bool Do(Vector start, Vector end)
        {
            if (Address == IntPtr.Zero)
            {
                Alloc();
                if (Address == IntPtr.Zero)
                {
                    return(false);
                }
                int param_startAddr = (int)Address + 80;
                int param_endAddr   = param_startAddr + 12;
                int returnAddr      = param_endAddr + 12;

                ReturnAddress = new IntPtr(returnAddr);

                int param_end_y = param_endAddr + 4;
                int param_end_z = param_endAddr + 8;

                int param_start_y = param_startAddr + 4;
                int param_start_z = param_startAddr + 8;

                Buffer.BlockCopy(BitConverter.GetBytes(param_endAddr), 0, Shellcode, 0xA, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(param_end_y), 0, Shellcode, 0x12, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(param_end_z), 0, Shellcode, 0x1B, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(param_startAddr), 0, Shellcode, 0x28, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(param_start_y), 0, Shellcode, 0x30, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(param_start_z), 0, Shellcode, 0x38, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(Globals._signatures.dw_lineThroughSmoke), 0, Shellcode, 0x40, 4);
                Buffer.BlockCopy(BitConverter.GetBytes(returnAddr), 0, Shellcode, 0x47, 4);
            }

            Buffer.BlockCopy(MemoryAPI.GetStructBytes <struct_Vector>(start.ToStruct()), 0, Shellcode, 0x50, 12);
            Buffer.BlockCopy(MemoryAPI.GetStructBytes <struct_Vector>(end.ToStruct()), 0, Shellcode, 0x5C, 12);

            WinAPI.WriteProcessMemory(Globals._csgo.ProcessHandle, Address, Shellcode, Shellcode.Length, 0);

            IntPtr Thread = WinAPI.CreateRemoteThread(Globals._csgo.ProcessHandle, (IntPtr)null, IntPtr.Zero, Address, (IntPtr)null, 0, (IntPtr)null);

            WinAPI.WaitForSingleObject(Thread, 0xFFFFFFFF);

            WinAPI.CloseHandle(Thread);

            bool returnVal = MemoryAPI.ReadFromProcess <bool>(Globals._csgo.ProcessHandle, ReturnAddress);

            return(returnVal);
        }
コード例 #19
0
    public string PointerWrite(IntPtr MemoryAddress, byte[] bytesToWrite, int[] Offset, out int bytesWritten)
    {
        int    iPointerCount = Offset.Length - 1;
        IntPtr ptrBytesWritten;

        bytesWritten = 0;
        byte[] buffer      = new byte[4]; //DWORD to hold an Address
        int    tempAddress = 0;

        if (iPointerCount == 0)
        {
            MemoryAPI.ReadProcessMemory(m_hProcess, MemoryAddress, buffer, 4, out ptrBytesWritten);
            tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[0]; //Final Address
            MemoryAPI.WriteProcessMemory(m_hProcess, (IntPtr)tempAddress, bytesToWrite, (uint)bytesToWrite.Length, out ptrBytesWritten);

            bytesWritten = ptrBytesWritten.ToInt32();
            return(Addr.ToHex(tempAddress));
        }

        for (int i = 0; i <= iPointerCount; i++)
        {
            if (i == iPointerCount)
            {
                MemoryAPI.ReadProcessMemory(m_hProcess, (IntPtr)tempAddress, buffer, 4, out ptrBytesWritten);
                tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[i]; //Final Address
                MemoryAPI.WriteProcessMemory(m_hProcess, (IntPtr)tempAddress, bytesToWrite, (uint)bytesToWrite.Length, out ptrBytesWritten);

                bytesWritten = ptrBytesWritten.ToInt32();
                return(Addr.ToHex(tempAddress));
            }
            else if (i == 0)
            {
                MemoryAPI.ReadProcessMemory(m_hProcess, MemoryAddress, buffer, 4, out ptrBytesWritten);
                tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[i];
            }
            else
            {
                MemoryAPI.ReadProcessMemory(m_hProcess, (IntPtr)tempAddress, buffer, 4, out ptrBytesWritten);
                tempAddress = Addr.ToDec(Addr.Make(buffer)) + Offset[i];
            }
        }

        return(Addr.ToHex(tempAddress));
    }
コード例 #20
0
        public IntPtr GetConVarAddress(string name)
        {
            var hash = GetStringHash(name);

            IntPtr Pointer = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, pThis + 0x34) + ((byte)hash * 4));

            while (Pointer != IntPtr.Zero)
            {
                if (MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, Pointer) == hash)
                {
                    IntPtr ConVarPointer = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Pointer + 0x4);

                    if (MemoryAPI.ReadTextFromProcess(Globals._csgo.ProcessHandle, MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, ConVarPointer + 0xC), -1) == name)
                    {
                        return(ConVarPointer);
                    }
                }
                Pointer = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Pointer + 0xC);
            }
            return(IntPtr.Zero);
        }
コード例 #21
0
        void ScanTable(IntPtr table, int level, int offset, string name)
        {
            var count = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, table + 0x4);

            for (var i = 0; i < count; ++i)
            {
                int    propID      = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, table) + i * 0x3C;
                string propName    = MemoryAPI.ReadTextFromProcess(Globals._csgo.ProcessHandle, MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, new IntPtr(propID)), 64);
                var    isBaseClass = propName.IndexOf("baseclass") == 0;
                int    propOffset  = offset + MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle, new IntPtr(propID + 0x2C));
                if (!isBaseClass)
                {
                    if (!_tables.ContainsKey(name))
                    {
                        _tables.Add(name, new Dictionary <string, int>());
                    }
                    if (!_tables[name].ContainsKey(propName))
                    {
                        _tables[name].Add(propName, propOffset);
                    }
                }

                var child = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, new IntPtr(propID + 0x28));
                if (child == IntPtr.Zero)
                {
                    continue;
                }

                if (isBaseClass)
                {
                    --level;
                }

                ScanTable(child, ++level, propOffset, name);
            }
        }
コード例 #22
0
        public void Init()
        {
            dw_LocalPlayer = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "A3 ? ? ? ? C7 05 ? ? ? ? ? ? ? ? E8 ? ? ? ? 59 C3 6A ?", Globals._csgo.CSGOModules["client"], true, 0x1, true, 0) + 16;

            Console.WriteLine("- dw_LocalPlayer         => 0x" + dw_LocalPlayer.ToString("X"));

            dw_traceline = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "55 8B EC 83 E4 F0 83 EC 7C 56 52", Globals._csgo.CSGOModules["client"], true);

            Console.WriteLine("- dw_traceline           => 0x" + dw_traceline.ToString("X"));
            dw_traceline += (int)Globals._csgo.CSGOModules["client"].BaseAddress;

            dw_lineThroughSmoke = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "55 8B EC 83 EC 08 8B 15 ? ? ? ? 0F 57 C0", Globals._csgo.CSGOModules["client"], true);

            Console.WriteLine("- dw_lineThroughSmoke    => 0x" + dw_lineThroughSmoke.ToString("X"));
            dw_lineThroughSmoke += (int)Globals._csgo.CSGOModules["client"].BaseAddress;

            dw_entitylist = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "BB ? ? ? ? 83 FF 01 0F 8C ? ? ? ? 3B F8", Globals._csgo.CSGOModules["client"], true, 0x1, true, 0);

            Console.WriteLine("- dw_entitylist          => 0x" + dw_entitylist.ToString("X"));

            dw_CLobbyScreen = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "A1 ? ? ? ? 85 C0 74 0F 6A 00", Globals._csgo.CSGOModules["client"], true, 0x1, true, 0);

            Console.WriteLine("- dw_CLobbyScreen        => 0x" + dw_CLobbyScreen.ToString("X"));

            dw_AcceptMatch = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "55 8B EC 83 E4 F8 83 EC 08 56 8B 35 ? ? ? ? 57 83 BE", Globals._csgo.CSGOModules["client"], true);

            Console.WriteLine("- dw_AcceptMatch         => 0x" + dw_AcceptMatch.ToString("X"));
            dw_AcceptMatch += (int)Globals._csgo.CSGOModules["client"].BaseAddress;

            dw_MatchAccepted = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "89 B7 ? ? ? ? 8B 4F 04 85 C9", Globals._csgo.CSGOModules["client"], false, 0x2, true);

            Console.WriteLine("- dw_MatchAccepted       => 0x" + dw_MatchAccepted.ToString("X"));

            dw_MatchFound = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "89 87 ? ? ? ? 8B 87 ? ? ? ? 3B F0", Globals._csgo.CSGOModules["client"], false, 0x2, true);

            Console.WriteLine("- dw_MatchFound          => 0x" + dw_MatchFound.ToString("X"));

            dw_ChangeClanTag = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "53 56 57 8B DA 8B F9 FF 15", Globals._csgo.CSGOModules["engine"], true);

            Console.WriteLine("- dw_ChangeClanTag       => 0x" + dw_ChangeClanTag.ToString("X"));
            dw_ChangeClanTag += (int)Globals._csgo.CSGOModules["engine"].BaseAddress;

            dw_RevealRankFn = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "55 8B EC 8B 0D ? ? ? ? 68", Globals._csgo.CSGOModules["client"], true);

            Console.WriteLine("- dw_RevealRankFn        => 0x" + dw_RevealRankFn.ToString("X"));
            dw_RevealRankFn += (int)Globals._csgo.CSGOModules["client"].BaseAddress;

            dw_pInput = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "B9 ? ? ? ? F3 0F 11 04 24 FF 50 10", Globals._csgo.CSGOModules["client"], true, 0x1, true);

            Console.WriteLine("- dw_pInput              => 0x" + dw_pInput.ToString("X"));

            dw_ClientState = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "A1 ? ? ? ? 33 D2 6A 00 6A 00 33 C9 89 B0", Globals._csgo.CSGOModules["engine"], true, 0x1, true);

            Console.WriteLine("- dw_ClientState         => 0x" + dw_ClientState.ToString("X"));

            dw_viewangles = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "F3 0F 11 80 ? ? ? ? D9 46 04", Globals._csgo.CSGOModules["engine"], false, 0x4, true);

            Console.WriteLine("- dw_viewangles          => 0x" + dw_viewangles.ToString("X"));

            dw_lastoutgoingcommand = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "C7 80 ? ? ? ? ? ? ? ? A1 ? ? ? ? F2 0F 10 05 ? ? ? ? F2 0F 11 80 ? ? ? ? FF 15", Globals._csgo.CSGOModules["engine"], false, 0x2, true);

            Console.WriteLine("- dw_lastoutgoingcommand => 0x" + dw_lastoutgoingcommand.ToString("X"));

            dw_bSendPackets = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "B3 01 8B 01 8B 40 10 FF D0 84 C0 74 0F 80 BF ? ? ? ? ? 0F 84", Globals._csgo.CSGOModules["engine"], true) + 0x1;

            Console.WriteLine("- dw_bSendPackets        => 0x" + dw_bSendPackets.ToString("X"));

            dw_GlobalVars = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "68 ? ? ? ? 68 ? ? ? ? FF 50 08 85 C0", Globals._csgo.CSGOModules["engine"], true, 0x1, true);

            Console.WriteLine("- dw_GlobalVars          => 0x" + dw_GlobalVars.ToString("X"));

            dw_bDormant = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "55 8B EC 53 8B 5D 08 56 8B F1 88 9E ? ? ? ? E8", Globals._csgo.CSGOModules["client"], false, 0xC, true);

            Console.WriteLine("- dw_bDormant            => 0x" + dw_bDormant.ToString("X"));

            m_pStudioHdr = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "8B B6 ? ? ? ? 85 F6 74 05 83 3E 00 75 02 33 F6 F3 0F 10 44 24", Globals._csgo.CSGOModules["client"], false, 0x2, true);

            Console.WriteLine("- dw_pStudioHdr          => 0x" + m_pStudioHdr.ToString("X"));

            dw_GlowObjectManager = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "A1 ? ? ? ? A8 01 75 4B", Globals._csgo.CSGOModules["client"], true, 0x1, true) + 4;

            Console.WriteLine("- dw_GlowObjectManager   => 0x" + dw_GlowObjectManager.ToString("X"));


            dw_forceattack = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "89 0D ? ? ? ? 8B 0D ? ? ? ? 8B F2 8B C1 83 CE 04", Globals._csgo.CSGOModules["client"], true, 0x2, true);

            Console.WriteLine("- dw_forceattack         => 0x" + dw_forceattack.ToString("X"));

            dw_isingame = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "83 B8 ? ? ? ? ? 0F 94 C0 C3", Globals._csgo.CSGOModules["engine"], false, 0x2, true);

            Console.WriteLine("- dw_isingame            => 0x" + dw_isingame.ToString("X"));

            m_dwMapDirectory = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "05 ? ? ? ? C3 CC CC CC CC CC CC CC 80 3D", Globals._csgo.CSGOModules["engine"], false, 0x1, true);

            Console.WriteLine("- dw_MapDirectory        => 0x" + m_dwMapDirectory.ToString("X"));

            dw_ModelPrecacheTable = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "8B 8E ? ? ? ? 8B D0 85 C9", Globals._csgo.CSGOModules["engine"], false, 0x2, true);

            Console.WriteLine("- dw_ModelPrecacheTable  => 0x" + dw_ModelPrecacheTable.ToString("X"));

            dw_UserInfoTable = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "8B 89 ? ? ? ? 85 C9 0F 84 ? ? ? ? 8B 01", Globals._csgo.CSGOModules["engine"], false, 0x2, true);

            Console.WriteLine("- dw_UserInfoTable       => 0x" + dw_UserInfoTable.ToString("X"));

            dw_Convarchartable = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "8B 3C 85", Globals._csgo.CSGOModules["vstdlib"], true, 0x3, true);

            Console.WriteLine("- dw_Convarchartable     => 0x" + dw_Convarchartable.ToString("X"));

            dw_enginecvar = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "8B 0D ? ? ? ? C7 05", Globals._csgo.CSGOModules["vstdlib"], true, 0x2, true);

            Console.WriteLine("- dw_enginecvar          => 0x" + dw_enginecvar.ToString("X"));

            dw_clientcmd = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "55 8B EC A1 ? ? ? ? 33 C9 8B 55 08", Globals._csgo.CSGOModules["engine"], true);

            Console.WriteLine("- dw_clientcmd           => 0x" + dw_clientcmd.ToString("X"));
            dw_clientcmd += (int)Globals._csgo.CSGOModules["engine"].BaseAddress;

            dw_WeaponTable = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "B9 ? ? ? ? 6A 00 FF 50 08 C3", Globals._csgo.CSGOModules["client"], true, 0x1, true);

            Console.WriteLine("- dw_WeaponTable         => 0x" + dw_WeaponTable.ToString("X"));

            dw_WeaponTableIndex = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "39 86 ? ? ? ? 74 06 89 86 ? ? ? ? 8B 86", Globals._csgo.CSGOModules["client"], false, 0x2, true);

            Console.WriteLine("- dw_WeaponTableIndex    => 0x" + dw_WeaponTableIndex.ToString("X"));

            dw_inputsystem = PatternScanner.FindPattern(Globals._csgo.ProcessHandle, "8B 0D ? ? ? ? FF 75 10", Globals._csgo.CSGOModules["inputsystem"], true, 0x2, true);

            Console.WriteLine("- dw_inputsystem         => 0x" + dw_inputsystem.ToString("X"));

            dw_inputenabled = MemoryAPI.ReadFromProcess <int>(Globals._csgo.ProcessHandle,
                                                              MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle,
                                                                                                 MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle,
                                                                                                                                    MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["inputsystem"].BaseAddress + dw_inputsystem))
                                                                                                 + 0x2C /*(11 * 4)*/) + 0x8);

            Console.WriteLine("- dw_inputenabled        => 0x" + dw_inputenabled.ToString("X"));
        }
コード例 #23
0
 public void Update()
 {
     pGlobals = MemoryAPI.ReadFromProcess <GlobalVarsBase>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["engine"].BaseAddress + Globals._signatures.dw_GlobalVars);
 }
コード例 #24
0
 public IntPtr GetItems()
 {
     return(MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, pThis + 0x3C) + 0xC));
 }
コード例 #25
0
ファイル: ConVar.cs プロジェクト: Niharkanta1/References
 public void ClearCallbacks()
 {
     MemoryAPI.WriteToProcess <int>(Globals._csgo.ProcessHandle, pThis + 0x44 + 0xC, 0);
 }
コード例 #26
0
 public string GetMapDirectory()
 {
     return(MemoryAPI.ReadTextFromProcess(Globals._csgo.ProcessHandle, pThis + Globals._signatures.m_dwMapDirectory, 64));
 }
コード例 #27
0
 public void SetInputState(bool enabled)
 {
     MemoryAPI.WriteToProcess <bool>(Globals._csgo.ProcessHandle, pThis + Globals._signatures.dw_inputenabled, enabled);
 }
コード例 #28
0
 public bool GetInputState()
 {
     return(MemoryAPI.ReadFromProcess <bool>(Globals._csgo.ProcessHandle, pThis + Globals._signatures.dw_inputenabled));
 }
コード例 #29
0
 public CInputSystem()
 {
     pThis = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["inputsystem"].BaseAddress + Globals._signatures.dw_inputsystem);
 }
コード例 #30
0
 public CConVarManager()
 {
     codes = MemoryAPI.ReadFromProcess <CharCodes>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["vstdlib"].BaseAddress + Globals._signatures.dw_Convarchartable);
     pThis = MemoryAPI.ReadFromProcess <IntPtr>(Globals._csgo.ProcessHandle, Globals._csgo.CSGOModules["vstdlib"].BaseAddress + Globals._signatures.dw_enginecvar);
 }