예제 #1
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x8B, 0xC1, 0xD1, 0xE8, 0xA8, 0x01, 0xB8, 0x01, 0x00, 0x00 };
            List <int> values      = memScan.ScanBytes(SearchBytes);//MOV ECX,0A1

            if (values.Count > 0)
            {
                m_address = memRead.ReadInt32(values[0] - 4);
            }
        }
예제 #2
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xC6, 0x45, 0xFC, 0x01, 0xC6, 0x45, 0xFC, 0x00, 0xB9 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                m_address = memRead.ReadInt32(values[1] + SearchBytes.Length) + 8;
            }
        }
예제 #3
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x6A, 0x0A, 0x68, 0xA8, 0x00, 0x02, 0x00 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                m_address = memRead.ReadInt32(values[0] + (SearchBytes.Length + 1));
            }
        }
예제 #4
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x3D, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0x4F, 0xC1, 0x53, 0x8B, 0x1D };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                m_address = values[0] + 9;
            }
        }
예제 #5
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xB9, 0x96, 0x00, 0x00, 0x00, 0xE8 };//MOV ECX,096
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                m_address = memRead.GetCallFunction(values[0] + 12);
            }
        }
예제 #6
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x83, 0xC4, 0x04, 0x8B, 0x4D, 0xF4, 0x64, 0x89, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x59, 0x5F, 0x5E, 0x8B, 0xE5, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xC7, 0x01 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int adr = memRead.ReadInt32(values[0] - 4);
                m_address = adr;
            }
        }
예제 #7
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x6A, 0x01, 0x6A, 0xFF, 0x6A, 0xFF, 0xE8 };//push 1 push -1 push -1
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int adr = memRead.GetCallFunction(values[0] + 6);
                m_address = adr;
            }
        }
예제 #8
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xB9, 0x96, 0x00, 0x00, 0x00, 0xE8 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int i = memRead.GetFunctionStart(values[0]);
                m_address = i;
            }
        }
예제 #9
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x3D, 0xFF, 0xFF, 0xFF, 0x7F, 0x0f, 0x86, 0x1A };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int adr = values[0] - 4;
                m_address = memRead.ReadInt32(adr);
            }
        }
예제 #10
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xB9, 0xA1, 0x00, 0x00, 0x00, 0xE8 };
            List <int> values      = memScan.ScanBytes(SearchBytes);//MOV ECX,0A1

            if (values.Count > 0)
            {
                MyAddresses.SendPacket.Address   = memRead.GetCallFunction(values[0] + 30);
                MyAddresses.CreatePacket.Address = memRead.GetCallFunction(values[0] + 5);
                m_address = memRead.ReadInt32(values[0] - 4);
            }
        }
예제 #11
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xFF, 0x70, 0xFC, 0x8D, 0x70, 0xFC, 0x68, 0x70, 0x01, 0x00, 0x00, 0x50, 0xE8 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                m_address = memRead.ReadInt32(values[0] - 14);
                MyAddresses.StepTile.Address = memRead.ReadInt32(values[0] + 7);
                MyAddresses.MapArray.Address = memRead.ReadInt32(values[0] + 35);
            }
        }
예제 #12
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x8D, 0x49, 0x00, 0x83, 0xEC, 0x20, 0x8B, 0xC4, 0x89, 0x65, 0xF0, 0x89, 0x45, 0xEC };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int adr = values[0] - 6;
                adr       = memRead.ReadInt32(adr);
                m_address = adr + 68;
            }
        }
예제 #13
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x83, 0xCF, 0xFF, 0x33, 0xC9, 0x89, 0x8D, 0xCC, 0xFE, 0xFF, 0xFF, 0x81 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                MyAddresses.MaxCreatures.Address = memRead.ReadInt32(values[0] + 13);
                MyAddresses.BlistStep.Address    = memRead.ReadInt32(values[0] + 21);
                m_address = memRead.ReadInt32(values[0] + 27);
            }
        }
예제 #14
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x8B, 0x01, 0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x01, 0xFF };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int adr = values[0] - 4;
                m_address = memRead.ReadInt32(adr);
            }
            // m_address = 0x93596C;
        }
예제 #15
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x6A, 0x03, 0xB8, 0x67, 0x03, 0x00, 0x00, 0x50, 0x50, 0xFF, 0x76, 0x20, 0x8D, 0x45, 0xE4, 0x50, 0xFF, 0x15 };
            List <int> values      = memScan.ScanBytes(SearchBytes);


            if (values.Count > 0)
            {
                values[0] += SearchBytes.Length;
                m_address  = memRead.ReadInt32(values[0]);
            }
        }
예제 #16
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xC7, 0x45, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0x85, 0x90, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x45, 0xFC, 0x0B, 0x00, 0x00, 0x00, 0x83, 0x3D };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                // got it
                int adr = memRead.ReadInt32(values[0] + SearchBytes.Length);
                m_address = adr;
            }
        }
예제 #17
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x8B, 0x01, 0xFF, 0x71, 0x18, 0xFF, 0x71, 0x14, 0x6A, 0x01, 0xFF, 0x50, 0x4C };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                values[0] += SearchBytes.Length + 2;
                m_address  = memRead.ReadInt32(values[0]);

                MyAddresses.NopFPS.Address = values[0] + 5;
            }
        }
예제 #18
0
        public override void Search()
        {
            //  byte[] SearchBytes = new byte[] { 0x6A, 0x00, 0x8D, 0x45, 0xD0, 0x50, 0x83, 0xEC, 0x0C, 0x8B, 0xD4, 0xC7, 0x02, 0xC8, 0x00, 0x00, 0x00, 0xC7, 0x42, 0x04, 0xC8, 0x00, 0x00, 0x00, 0xC7, 0x42, 0x08, 0xC8, 0x00, 0x00, 0x00, 0x6A, 0x02 };
            byte[]     SearchBytes = new byte [] { 0x2B, 0xD8, 0x8B, 0xC3, 0x99, 0x2B, 0xC2, 0xD1, 0xF8, 0x83, 0xC0, 0x04, 0x50, 0x8B, 0xD6, 0xB9, 0x01, 0x00, 0x00, 0x00 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                values[0] += SearchBytes.Length;
                m_address  = values[0];
                MyAddresses.PrintText.Address = memRead.GetCallFunction(values[0]);
            }
        }
예제 #19
0
        public override void Search()
        {
            byte[] SearchBytes = new byte[] { 0x2B, 0xCE, 0x8B, 0xFF, 0x8A, 0x06, 0x88, 0x04, 0x31, 0x8D };
            // List<int> values = memScan.ScanString("Sorry, not possible.");
            List <int> values = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                m_address = memRead.ReadInt32(values[0] - 4);

                // MyAddresses.StatusBarTime.Address = m_address - 12;
            }
        }
예제 #20
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x8B, 0xF8, 0x89, 0xBD, 0xF8, 0xFD, 0xFF, 0xFF, 0x83, 0xFF, 0xFF };
            List <int> value       = memScan.ScanBytes(SearchBytes);

            if (value.Count > 0)
            {
                int GetNextPacket = value[0] - 5;

                m_address = GetNextPacket;
                MyAddresses.ParseFunction.Address = Util.GlobalVars.SearchForFunctionStart(memRead, GetNextPacket);
                MyAddresses.Status.Address        = memRead.ReadInt32(GetNextPacket + 58);
            }
        }
예제 #21
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xFF, 0xB3, 0x08, 0x01, 0x00, 0x00, 0xFF, 0xB3, 0x04, 0x01, 0x00, 0x00, 0x6A, 0x00, 0x33, 0xD2, 0xB9, 0xFF, 0xFF, 0x00, 0x00, };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 1)
            {
                int playerId = memRead.ReadInt32(values[1] - 4);

                //       MyAddresses.PlayerX.Address = playerId + 4;
                //      MyAddresses.PlayerY.Address = playerId + 8;
                //     MyAddresses.PlayerZ.Address = playerId + 12;
                MyAddresses.RedSqare.Address = memRead.ReadInt32(values[1] + 49);
                m_address = playerId;
            }
        }
예제 #22
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x03, 0xC7, 0x89, 0x85, 0xF8, 0xFE, 0xFF, 0xFF };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int gotxAddress  = memRead.ReadInt32(values[0] + 10);
                int gotoYAddress = memRead.ReadInt32(values[0] + 18);
                int gotoZAddress = memRead.ReadInt32(values[0] + 29);

                MyAddresses.Gotoy.Address = gotoYAddress;
                MyAddresses.Gotoz.Address = gotoZAddress;
                m_address = gotxAddress;
            }
        }
예제 #23
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0xC6, 0x45, 0xFC, 0x01, 0xBF, 0x06, 0x00, 0x00, 0x00, 0x89, 0xBD, 0xA0, 0xFE, 0xFF, 0xFF, 0x8D, 0x46, 0x02, 0x3B, 0xF8, 0x7D, 0x19 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                values[0] += SearchBytes.Length;
                int adr            = values[0];
                int OutGoingBuffer = memRead.ReadInt32(adr + 2);
                int xtea           = memRead.ReadInt32(adr + 11);
                int len            = memRead.ReadInt32(adr + 34);
                m_address = OutGoingBuffer;
                MyAddresses.XTEA.Address = xtea;
                MyAddresses.OutGoingPacketLen.Address = len;
            }
        }
예제 #24
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x89, 0x65, 0xF0, 0x33, 0xDB, 0x89, 0x9D, 0xBC, 0xFE, 0xFF, 0xFF, 0x89, 0x5D, 0xFC, 0xA1 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                int playerX = memRead.ReadInt32(values[0] + SearchBytes.Length);
                int playerY = playerX + 4;
                int playerZ = playerX + 8;
                m_address = playerX;
                MyAddresses.PlayerY.Address = playerY;
                MyAddresses.PlayerZ.Address = playerZ;
            }


            return;
        }
예제 #25
0
        public override void Search()
        {
            byte[]     SearchBytes = new byte[] { 0x8B, 0xEC, 0xFF, 0x75, 0x10, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xFF, 0x71, 0x04 };
            List <int> values      = memScan.ScanBytes(SearchBytes);

            if (values.Count > 0)
            {
                //recive
                int adr = values[0] + SearchBytes.Length + 2;
                adr       = memRead.ReadInt32(adr);
                m_address = adr;
            }
            if (values.Count > 1)
            {
                //send
                int adr = values[1] + SearchBytes.Length + 2;
                adr = memRead.ReadInt32(adr);
                MyAddresses.SendPointer.Address = adr;
            }
        }