Exemple #1
0
        public bool tryAttach(int dwProcessId)
        {
            try
            {
                //Lets Open wow for manipulation
                tempMem.OpenProcessAndThread(dwProcessId);
                //Lets find the Pattern - Shynd
                dwCodeLoc = SPattern.FindPattern(tempMem.ProcessHandle, tempMem.MainModule, PatternClientConnection, MaskClientConnection, ' ');
                //Lets find the s_curMgr
                g_clientConnection = tempMem.ReadUInt(dwCodeLoc + 0x16);
                clientConnection   = tempMem.ReadUInt(g_clientConnection);
                curMgrOffset       = tempMem.ReadUInt(dwCodeLoc + 0x1C);                //Lets find the CurMgr Offset
                curMgr             = tempMem.ReadUInt(clientConnection + curMgrOffset); //clientConnection + CurMgrOffest = Win
                getDescriptors     = new Descriptors(tempMem);
                localPlayerObject  = getObjectByGUID(tempMem.ReadUInt64(curMgr + LocalGuidOffset));

                if (XP != -10)
                {
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
            return(false);
        }
Exemple #2
0
        public GObjectList(int ProcessIdOfWoW)
        {
            bool didit = false;

            this.ProcessIdOfWoW = ProcessIdOfWoW;
            while (didit == false)
            {
                Memory = new BlackMagic();

                //this.form = form;
                //Lets Open wow for manipulation
                Memory.OpenProcessAndThread(ProcessIdOfWoW);
                //Lets find the Pattern - Shynd
                dwCodeLoc = SPattern.FindPattern(Memory.ProcessHandle, Memory.MainModule, PatternClientConnection, MaskClientConnection, ' ');

                //Lets find the s_curMgr
                try
                {
                    g_clientConnection = Memory.ReadUInt(dwCodeLoc + 0x16);
                    clientConnection   = Memory.ReadUInt(g_clientConnection);
                    curMgrOffset       = Memory.ReadUInt(dwCodeLoc + 0x1C);                //Lets find the CurMgr Offset
                    curMgr             = Memory.ReadUInt(clientConnection + curMgrOffset); //clientConnection + CurMgrOffest = Win

                    LocalGUIDVariable = Memory.ReadUInt64(curMgr + LocalGuidOffset);
                    localPlayerObject = getObjectByGUID(LocalGUIDVariable);
                    localPlayer       = new GPlayerSelf(this, localPlayerObject);
                }
                catch
                {
                }

                Descriptor = new Descriptors(Memory);
                //Lets start the object refresher
                objectRefresher = new Refresher(ProcessIdOfWoW);
                objectRefresher.GameObjectCreated  += new EventHandler <GameObjectEventArgs>(addToLists);
                objectRefresher.GameObjectReleased += new EventHandler <GameObjectEventArgs>(removeFromLists);


                didit = true;
            }
        }