示例#1
0
        private static void FindViewAnglesOffset(int engineDll, long engineDllSize)
        {
            var pattern = new byte[] { 0xF3, 0x0F, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0xD9, 0x46, 0x04, 0xD9, 0x05 };
            var mask    = SignatureScan.MaskFromPattern(pattern);
            var adress  = SignatureScan.FindAddress(pattern, 4, mask, engineDll, engineDllSize);

            signatures.dwClientState_ViewAngles = SignatureScan.ReadInt(adress);
        }
示例#2
0
        private static void FindDormantOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] { 0x8A, 0x81, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x32, 0xC0 };
            var mask    = SignatureScan.MaskFromPattern(pattern);
            var adress  = SignatureScan.FindAddress(pattern, 2, mask, clientDll, clientDllSize);

            signatures.m_bDormant = SignatureScan.ReadInt(adress) + 8;
        }
示例#3
0
        private static void FindBonematrixOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0x75, 0x15, 0x8B, 0x87, 0x00, 0x00, 0x00, 0x00, 0x8B, 0xCF, 0x8B, 0x17, 0x03
                , 0x44, 0x24, 0x14, 0x50
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 4, mask, clientDll, clientDllSize);

            netvars.m_dwBoneMatrix = SignatureScan.ReadInt(adress);
        }
示例#4
0
        private static void FindVecOriginOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0x8A, 0x0E, 0x80, 0xE1, 0xFC, 0x0A, 0xC8, 0x88, 0x0E, 0xF3, 0x00, 0x00, 0x87
                , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x00, 0x9F
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 0, mask, clientDll, clientDllSize);

            netvars.m_vecOrigin = SignatureScan.ReadInt(adress + 13);
        }
示例#5
0
        private static void FindWeaponOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0x0F, 0x45, 0xF7, 0x5F, 0x8B, 0x8E, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x83, 0xF9
                , 0xFF
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 0, mask, clientDll, clientDllSize);

            netvars.m_hActiveWeapon = SignatureScan.ReadInt(adress + 6);
        }
示例#6
0
        private static void FindHealthOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0x8B, 0x41, 0x00, 0x89, 0x41, 0x00, 0x8B, 0x41, 0x00, 0x89, 0x41, 0x00, 0x8B
                , 0x41, 0x00, 0x89, 0x41, 0x00, 0x8B, 0x4F, 0x00, 0x83, 0xB9, 0x00, 0x00, 0x00
                , 0x00, 0x00, 0x7F, 0x2E
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 0, mask, clientDll, clientDllSize);

            netvars.m_iHealth = SignatureScan.ReadInt(adress + 23);
        }
示例#7
0
        private static void FindTeamnumOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0xCC, 0xCC, 0xCC, 0x8B, 0x89, 0x00, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00
                , 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x8B, 0x81, 0x00, 0x00, 0x00, 0x00, 0xC3
                , 0xCC, 0xCC
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 0, mask, clientDll, clientDllSize);

            netvars.m_iTeamNum = SignatureScan.ReadInt(adress + 5);
        }
示例#8
0
        private static void FindEntitylistOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0xBB, 0x00, 0x00, 0x00, 0x00, 0x83, 0xFF, 0x01, 0x0F, 0x8C, 0x00, 0x00, 0x00
                , 0x00, 0x3B, 0xF8
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 1, mask, clientDll, clientDllSize);
            var val1   = SignatureScan.ReadInt(adress);

            signatures.dwEntityList = val1 - clientDll;
        }
示例#9
0
        private static void FindClientstateOffset(int engineDll, long engineDllSize)
        {
            var pattern = new byte[] {
                0xA1, 0x00, 0x00, 0x00, 0x00, 0x33, 0xD2, 0x6A, 0x00, 0x6A, 0x00, 0x33, 0xC9
                , 0x89, 0xB0
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 1, mask, engineDll, engineDllSize);
            var val1   = SignatureScan.ReadInt(adress);

            signatures.dwClientState = val1 - engineDll;
        }
示例#10
0
        private static void FindGameRulesProxyOffset(int clientDll, long clientDllSize)
        {
            var pattern = new byte[] {
                0xA1, 0x00, 0x00, 0x00, 0x00, 0x85, 0xC0, 0x0F, 0x84, 0x00, 0x00, 0x00, 0x00
                , 0x80, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x84, 0x00, 0x00, 0x00, 0x00
                , 0x0F, 0x10, 0x05
            };
            var mask   = SignatureScan.MaskFromPattern(pattern);
            var adress = SignatureScan.FindAddress(pattern, 1, mask, clientDll, clientDllSize);
            var val1   = SignatureScan.ReadInt(adress);

            signatures.dwGameRulesProxy = val1 - clientDll;
        }
示例#11
0
        private static void FindLocalPlayerOffset(int clientDll, long clientDllSize)
        {
            byte[] pattern =
            {
                0x8D, 0x34, 0x85, 0x00, 0x00, 0x00, 0x00, 0x89, 0x15, 0x00, 0x00, 0x00, 0x00, 0x8B
                ,     0x41, 0x08, 0x8B, 0x48, 0x04, 0x83, 0xF9, 0xFF
            };
            string mask   = SignatureScan.MaskFromPattern(pattern);
            var    adress = SignatureScan.FindAddress(pattern, 3, mask, clientDll, clientDllSize);

            var localplayer = SignatureScan.ReadInt(adress);

            adress = SignatureScan.FindAddress(pattern, 18, mask, clientDll, clientDllSize);
            var val2 = SignatureScan.ReadByte(adress);

            localplayer += val2;
            localplayer -= clientDll;
            signatures.dwLocalPlayer = localplayer;
        }