Exemple #1
0
        public bool ConnectToGame(Game.GameId gameId)
        {
            var process = Process.GetProcessesByName(Game.ProcessForGameId(gameId)).FirstOrDefault();

            if (process != null)
            {
                _handle = OpenProcess(0x1f0fff, false, process.Id);
                SetupOffsetsForGameId(gameId);
                return(true);
            }
            return(false);
        }
Exemple #2
0
        private void SetupOffsetsForGameId(Game.GameId gameId)
        {
            switch (gameId)
            {
            case Game.GameId.Ghosts_MP:
            case Game.GameId.Ghosts_Server:
                AssetsPool = FindPattern(0x140001000, 0x145000000, "\x4C\x8D\x05\x00\x00\x00\x00\xF7\xE3",
                                         "xxx????xx");
                var offset = BitConverter.ToUInt32(Read(AssetsPool + 3, 4), 0);
                AssetsPool += offset + 7;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(gameId), gameId, null);
            }
        }