示例#1
1
 public void initialize()
 {
     string str;
     string str2;
     if (!this.activeConnection)
     {
         this.xboxMgr = (XDevkit.XboxManager) Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("A5EB45D8-F3B6-49B9-984A-0D313AB60342")));
         this.xbCon = this.xboxMgr.OpenConsole(this.xboxMgr.DefaultConsole);
         try
         {
             this.xbConnection = this.xbCon.OpenConnection(null);
         }
         catch (Exception)
         {
             return;
         }
         if (this.xbCon.DebugTarget.IsDebuggerConnected(out str, out str2))
         {
             this.activeConnection = true;
         }
         else
         {
             this.xbCon.DebugTarget.ConnectAsDebugger("XRPC", XDevkit.XboxDebugConnectFlags.Force);
             if (this.xbCon.DebugTarget.IsDebuggerConnected(out str, out str2))
             {
                 this.activeConnection = true;
             }
         }
     }
     else if (!this.xbCon.DebugTarget.IsDebuggerConnected(out str, out str2))
     {
         this.activeConnection = false;
         this.Connect();
     }
 }
示例#2
0
 public static void setMemory(this XDevkit.IXboxConsole xbc, uint address, byte[] data)
 {
     if (xbc.isConnected())
     {
         xbc.DebugTarget.SetMemory(address, (uint)data.Length, data, out xbOut);
     }
 }
示例#3
0
 public static bool Connect(string XboxName = null)
 {
     if (!Xbox_Console.isConnected())
     {
         Xbox_Manager = (XDevkit.XboxManager)Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("A5EB45D8-F3B6-49B9-984A-0D313AB60342")));
         if (string.IsNullOrEmpty(XboxName))
         {
             Xbox_Console = Xbox_Manager.OpenConsole(Xbox_Manager.DefaultConsole);
         }
         else
         {
             Xbox_Console = Xbox_Manager.OpenConsole(XboxName);
         }
         try
         {
             Connection_Code = Xbox_Console.OpenConnection(null);
             if (!Xbox_Console.isConnected())
             {
                 Xbox_Console.DebugTarget.ConnectAsDebugger("XDevkitExt", XDevkit.XboxDebugConnectFlags.Force);
             }
             return(Xbox_Console.isConnected());
         }
         catch
         {
             return(false);
         }
     }
     return(true);
 }
示例#4
0
        public static void LaunchTitle(this XDevkit.IXboxConsole xbc, string path)
        {
            string mediaDirectory = path;

            mediaDirectory.Replace("default_mp.xex", "").Replace("default.xex", "");
            xbc.Reboot(path, mediaDirectory, null, XDevkit.XboxRebootFlags.Title);
        }
示例#5
0
        //public IEnumerable<PartyMember> GetPartyMembers()
        //{
        //    IEnumerable<PartyMember> enumerable;
        //    try
        //    {
        //        XDRPCStructArgumentInfo<XPARTY_USER_LIST> partyUserList = this.GetPartyUserList();
        //        List<PartyMember> list = new List<PartyMember>();
        //        for (int i = 0; i < partyUserList.Value.dwUserCount; i++)
        //        {
        //            byte[] destinationArray = new byte[120];
        //            Array.Copy(partyUserList.Value.Users, i * 120, destinationArray, 0, destinationArray.Length);
        //            XPARTY_USER_INFO xparty_user_info = new XPARTY_USER_INFO();
        //            XDRPCStructArgumentInfo<XPARTY_USER_INFO> info2 = new XDRPCStructArgumentInfo<XPARTY_USER_INFO>(xparty_user_info, ArgumentType.Out);
        //            info2.UnpackBufferData(destinationArray);
        //            bool isLocal = (info2.Value.dwFlags & 1) > 0;
        //            PartyMember item = new PartyMember(info2.Value.GamerTag, info2.Value.Xuid, isLocal, (UserIndex)info2.Value.dwUserIndex);
        //            list.Add(item);
        //        }
        //        enumerable = list;
        //    }
        //    catch (XDRPCException exception)
        //    {
        //        throw new ProfilesException(exception);
        //    }
        //    return enumerable;
        //}

        static public void GetPartyMembers(XDevkit.IXboxConsole xbc)
        {
            //XPARTY_USER_LIST partyUserList = GetPartyUserList(xbc);
            XDRPCStructArgumentInfo <XPARTY_USER_LIST> partyUserList = GetPartyUserList(xbc);
            int Count = partyUserList.Value.dwUserCount; //pUtil.Bitswap32(partyUserList.Value.dwUserCount);

            if (Count > 8)
            {
                return;
            }

            PartyUsersCount = Count;
            for (int i = 0; i < Count; i++)
            {
                byte[] destinationArray = new byte[120];
                Array.Copy(partyUserList.Value.Users, i * 120, destinationArray, 0, destinationArray.Length);
                XPARTY_USER_INFO xparty_user_info = new XPARTY_USER_INFO();
                XDRPCStructArgumentInfo <XPARTY_USER_INFO> info2 = new XDRPCStructArgumentInfo <XPARTY_USER_INFO>(xparty_user_info, ArgumentType.Out);
                info2.UnpackBufferData(destinationArray);

                ListGamerTags[i] = info2.Value.GamerTag;
                ListSXuid[i]     = info2.Value.Xuid.ToString("X16");
                ListLXuid[i]     = info2.Value.Xuid;
            }
        }
示例#6
0
        public static string SendTextCommand(this XDevkit.IXboxConsole xbc, string Command)
        {
            uint   connection = xbc.OpenConnection(null);
            string response   = "";

            xbc.SendTextCommand(connection, Command, out response);
            if (!(response.Contains("202") | response.Contains("203")))
            {
                return(response);
            }
            try
            {
                string line = "";
                xbc.ReceiveSocketLine(connection, out line);
                if (line.Length > 0)
                {
                    if (line[0] == '.')
                    {
                        return(response);
                    }
                    response = response + Environment.NewLine + line;
                }
            }
            catch
            {
            }
            return("FAIL");
        }
示例#7
0
 public static bool Connect(string XboxName = null)
 {
     if (!Xbox_Console.isConnected())
     {
         Xbox_Manager = (XDevkit.XboxManager) Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("A5EB45D8-F3B6-49B9-984A-0D313AB60342")));
         if (string.IsNullOrEmpty(XboxName))
         {
             Xbox_Console = Xbox_Manager.OpenConsole(Xbox_Manager.DefaultConsole);
         }
         else
         {
             Xbox_Console = Xbox_Manager.OpenConsole(XboxName);
         }
         try
         {
             Connection_Code = Xbox_Console.OpenConnection(null);
             if (!Xbox_Console.isConnected())
             {
                 Xbox_Console.DebugTarget.ConnectAsDebugger("XDevkitExt", XDevkit.XboxDebugConnectFlags.Force);
             }
             return Xbox_Console.isConnected();
         }
         catch
         {
             return false;
         }
     }
     return true;
 }
示例#8
0
 public static void WriteBool(this XDevkit.IXboxConsole xbc, uint offset, bool input)
 {
     myBuffer[0] = input ? ((byte)1) : ((byte)0);
     if (xbc.isConnected())
     {
         xbc.DebugTarget.SetMemory(offset, 1, myBuffer, out xbOut);
     }
 }
示例#9
0
 public static string ConsoleType(this XDevkit.IXboxConsole xbc)
 {
     if (!xbc.isConnected())
     {
         throw new Exception("Please connect to the console first.");
     }
     return(Xbox_Type);
 }
示例#10
0
        static public void SetGamertag(XDevkit.IXboxConsole xbc, string nGamertag, string nXUID)
        {
            byte[] data = ((XDevkit.IXboxConsole)xbc).WideChar(nGamertag);
            ((XDevkit.IXboxConsole)xbc).setMemory(Addresses.g_rguserinfoDEV + 0x20, data);

            byte[] XUID = pUtil.HexStringToByteArray(nXUID);
            ((XDevkit.IXboxConsole)xbc).setMemory(Addresses.g_rguserinfoDEV + 0x40, XUID);
        }
示例#11
0
 public static uint resolveFunction(this XDevkit.IXboxConsole xbc, string moduleName, uint ordinal)
 {
     if (xbc.isConnected())
     {
         uint handle = xbc.XexGetModuleHandle(moduleName);
         return(xbc.XexGetProcedureAddress(handle, ordinal));
     }
     return(0);
 }
示例#12
0
 public static void clearBuffer(this XDevkit.IXboxConsole xbCon)
 {
     byte[] data    = new byte[4];
     byte[] buffer2 = new byte[0x1000];
     xbCon.DebugTarget.GetMemory(0x91c088ae, 4, data, out meh);
     xbCon.DebugTarget.InvalidateMemoryCache(true, 0x91c088ae, 4);
     Array.Reverse(data);
     bufferAddress = BitConverter.ToUInt32(data, 0);
     xbCon.DebugTarget.SetMemory(bufferAddress, 0x1000, buffer2, out meh);
 }
示例#13
0
        static public XPARTY_USER_LIST GetPartyUserList(XDevkit.IXboxConsole xbc)
        {
            ((XDevkit.IXboxConsole)xbc).CallSysFunction(xbc.abcdresfunctxrpc("xam.xex", 0xaff), 1, Addresses.g_freememory + 0x80);

            byte[]           data = ((XDevkit.IXboxConsole)xbc).getMemory(Addresses.g_freememory + 0x80, 2024);
            IntPtr           ptr  = Marshal.UnsafeAddrOfPinnedArrayElement(data, 0);
            XPARTY_USER_LIST user = (XPARTY_USER_LIST)Marshal.PtrToStructure(ptr, typeof(XPARTY_USER_LIST));

            return(user);
        }
示例#14
0
 public static byte[] getMemory(this XDevkit.IXboxConsole xbc, uint address, uint numBytes)
 {
     byte[] data = new byte[numBytes];
     if (xbc.isConnected())
     {
         xbc.DebugTarget.GetMemory(address, numBytes, data, out xbOut);
         xbc.DebugTarget.InvalidateMemoryCache(true, address, numBytes);
     }
     return(data);
 }
示例#15
0
        static public void GetPartyState(XDevkit.IXboxConsole xbc, out PartyState state, out PartyErrorCodes errorCode)
        {
            XDRPCExecutionOptions    options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0xb0f);
            XDRPCArgumentInfo <uint> info    = new XDRPCArgumentInfo <uint>(0, ArgumentType.Out);
            XDRPCArgumentInfo <uint> info2   = new XDRPCArgumentInfo <uint>(0, ArgumentType.Out);

            ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(options, new XDRPCArgumentInfo[] { info, info2 });
            state     = (PartyState)info.Value;
            errorCode = (PartyErrorCodes)info2.Value;
        }
示例#16
0
        public static uint XexGetModuleHandle(this XDevkit.IXboxConsole xbc, string moduleName)
        {
            uint num = 0;

            if (xbc.isConnected())
            {
                xbc.CallSysFunction(xbc.abcdresfunctxrpc("xboxkrnl.exe", 0x195), new object[] { moduleName, num });
                return(num);
            }
            return(0);
        }
示例#17
0
        public static uint XexGetProcedureAddress(this XDevkit.IXboxConsole xbc, uint handle, uint ordinal)
        {
            uint num = 0;

            if (xbc.isConnected())
            {
                xbc.CallSysFunction(xbc.abcdresfunctxrpc("xboxkrnl.exe", 0x197), new object[] { handle, ordinal, num });
                return(num);
            }
            return(0);
        }
示例#18
0
        static public string XamUserGetXUID(XDevkit.IXboxConsole xbc)
        {
            byte[] ee = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
            ((XDevkit.IXboxConsole)xbc).setMemory(Addresses.g_freememory + 0x10, ee);

            uint result = ((XDevkit.IXboxConsole)xbc).Call(Addresses.g_XamUserGetXUIDDEV, new object[] { 0, 2, Addresses.g_freememory + 0x10 });

            byte[] data = ((XDevkit.IXboxConsole)xbc).getMemory(0x81AA2010, 8);
            string rat  = BitConverter.ToString(data).Replace("-", "");

            ((XDevkit.IXboxConsole)xbc).setMemory(Addresses.g_freememory + 0x10, ee);
            return(rat);
        }
示例#19
0
        public static byte[] WideChar(this XDevkit.IXboxConsole xbCon, string text)
        {
            byte[] buffer = new byte[(text.Length * 2) + 2];
            int    index  = 1;

            buffer[0] = 0;
            foreach (char ch in text)
            {
                buffer[index] = Convert.ToByte(ch);
                index        += 2;
            }
            return(buffer);
        }
示例#20
0
        static public XDRPCStructArgumentInfo <XPARTY_USER_LIST> GetPartyUserList(XDevkit.IXboxConsole xbc)
        {
            XDRPCExecutionOptions    options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0xaff);
            XDRPCArgumentInfo <uint> info    = new XDRPCArgumentInfo <uint>(1);
            XDRPCStructArgumentInfo <XPARTY_USER_LIST> info2 = new XDRPCStructArgumentInfo <XPARTY_USER_LIST>(new XPARTY_USER_LIST(), ArgumentType.Out);
            uint errorCode = ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(options, new XDRPCArgumentInfo[] { info, info2 });

            if (errorCode != 0)
            {
                //throw ProfilesExceptionFactory.CreateExceptionFromErrorCode(errorCode);
            }
            return(info2);
        }
示例#21
0
 public static bool isConnected(this XDevkit.IXboxConsole xbc)
 {
     try
     {
         if (xbc.DebugTarget.IsDebuggerConnected(out debuga, out debugb))
         {
             return(true);
         }
     }
     catch
     {
     }
     return(false);
 }
示例#22
0
 static public void JoinSpecificParty(XDevkit.IXboxConsole xbc, string Gamertag, ulong MyOnlineXUID)
 {
     try
     {
         //ulong xuid = Users.GetXUID(xbc, Gamertag);
         //XDRPCArgumentInfo<uint> info = new XDRPCArgumentInfo<uint>((uint)MyOnlineXUID);
         //XDRPCArgumentInfo<ulong> info2 = new XDRPCArgumentInfo<ulong>((ulong)xuid);
         //((XDevkit.IXboxConsole)xbc).Call(xbc.abcdresfunctxrpc("xam.xex", 0xb01), new object[] { info, info2 });
     }
     catch (Exception ex)
     {
         //string.Format("Failed to join {0}'s party.{1}{2}", gt, Environment.NewLine, ex.Message), ex.GetType().ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
示例#23
0
        static public string GetXUID(XDevkit.IXboxConsole xbc, string gamertag)
        {
            byte[] ee = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
            ((XDevkit.IXboxConsole)xbc).setMemory(Addresses.g_freememory + 0x20, ee);

            ((XDevkit.IXboxConsole)xbc).Call(Addresses.g_XUserFindUserAddress, new object[] { 0x0009000006F93463, 0, gamertag, (int)0x18, Addresses.g_freememory + 0x20, 0 });

            Thread.Sleep(1000);

            byte[] XUID = ((XDevkit.IXboxConsole)xbc).getMemory(Addresses.g_freememory + 0x20, 8);
            string rat  = BitConverter.ToString(XUID).Replace("-", "");

            ((XDevkit.IXboxConsole)xbc).setMemory(Addresses.g_freememory + 0x20, ee);
            return(rat);
        }
示例#24
0
 public SuaveLib(XDevkit.IXboxConsole lxbc, RichTextBox richLogBox)
 {
     this.xbc = lxbc;
     this.ufoAct = delegate (int client, byte[] curOrg) {
         Thread.Sleep(200);
         SV_GameSendServerCommand((uint) client, "< \"pmovesingle Hook Called!\"");
         byte[] data = new byte[4];
         data[2] = 8;
         ((XDevkit.IXboxConsole) xbc).setMemory(getPlayerState((uint) client) + 0x54e8, data);
         data = new byte[4];
         data[3] = 2;
         ((XDevkit.IXboxConsole) xbc).setMemory(getPlayerState((uint) client) + 0x5410, data);
         ((XDevkit.IXboxConsole) xbc).setMemory(getPlayerState((uint) client) + 40, turbineUFO);
         ((XDevkit.IXboxConsole) xbc).setMemory(getPlayerState((uint) client) + 40, curOrg);
     };
     this.logBox = richLogBox;
 }
示例#25
0
        public static string ReadNullTermString(this XDevkit.IXboxConsole xbc, uint Address)
        {
            byte[]      buffer = new byte[1];
            uint        num    = 0;
            List <byte> list   = new List <byte>();

            while (true)
            {
                buffer = xbc.getMemory(Address + num, 1);
                if (buffer[0] == 0)
                {
                    UTF8Encoding encoding = new UTF8Encoding();
                    return(encoding.GetString(list.ToArray()));
                }
                list.Add(buffer[0]);
                num++;
            }
        }
示例#26
0
 static public void KickUserFromParty(XDevkit.IXboxConsole xbc, Xuid xuidToKick)
 {
     try
     {
         XDRPCStructArgumentInfo <XPARTY_USER_LIST> partyUserList = GetPartyUserList(xbc);
         XDRPCExecutionOptions     options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0xb02);
         XDRPCArgumentInfo <ulong> info2   = new XDRPCArgumentInfo <ulong>((ulong)xuidToKick);
         uint errorCode = ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(options, new XDRPCArgumentInfo[] { info2 });
         if (errorCode != 0)
         {
             CreateExceptionFromErrorCode(errorCode);
         }
         WaitForPartyState(xbc, PartyState.XPARTY_STATE_INPARTY, TimeSpan.FromSeconds(15.0));
     }
     catch (XDRPCException exception)
     {
         //throw new ProfilesException(exception);
     }
 }
示例#27
0
 static public void SendFriendRequest(XDevkit.IXboxConsole xbc, Xuid xuidFrom, Xuid xuidTo)
 {
     try
     {
         XDRPCExecutionOptions     options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0x4e6);
         XDRPCArgumentInfo <ulong> info    = new XDRPCArgumentInfo <ulong>((ulong)xuidFrom);
         XDRPCArgumentInfo <ulong> info2   = new XDRPCArgumentInfo <ulong>((ulong)xuidTo);
         XDRPCNullArgumentInfo     info3   = new XDRPCNullArgumentInfo();
         uint errorCode = ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(options, new XDRPCArgumentInfo[] { info, info2, info3 });
         if (errorCode != 0)
         {
             //throw ProfilesExceptionFactory.CreateExceptionFromErrorCode(errorCode);
         }
     }
     catch (XDRPCException exception)
     {
         //throw new ProfilesException(exception);
     }
 }
示例#28
0
        //static public string GetXUID(XDevkit.IXboxConsole xbc, string gamertag)
        //{
        //    XDRPCExecutionOptions options = new XDRPCExecutionOptions(XDRPCMode.Title, Addresses.g_XUserFindUserAddressDEV);


        //    //((XDevkit.IXboxConsole)xbc).Call(0x81824DF8, new object[] { 0x0009000006F93463, 0, gamertag, (int)0x18, Addresses.g_freememory + 0x20, 0 });
        //    XDRPCStringArgumentInfo GT = new XDRPCStringArgumentInfo(gamertag, Encoding.ASCII);
        //    XDRPCArgumentInfo<ulong> MyXUID = new XDRPCArgumentInfo<ulong>(0x0009000006F93463L);
        //    XDRPCArgumentInfo<int> idk = new XDRPCArgumentInfo<int>(0);
        //    XDRPCArgumentInfo<int> idk2 = new XDRPCArgumentInfo<int>((int)0x18);
        //    XDRPCArgumentInfo<ulong> XUID = new XDRPCArgumentInfo<ulong>(0L);
        //    uint num = ((XDevkit.IXboxConsole)xbc).ExecuteRPC<uint>(options, new XDRPCArgumentInfo[] { MyXUID, idk, GT, idk2, XUID, idk });

        //    return XUID.Value.ToString("X16");
        //}

        static public void JoinParty(XDevkit.IXboxConsole xbc, UserIndex userIndex, Xuid xuidContact)
        {
            try
            {
                XDRPCExecutionOptions     options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0xb01);
                XDRPCArgumentInfo <uint>  info    = new XDRPCArgumentInfo <uint>((uint)userIndex);
                XDRPCArgumentInfo <ulong> info2   = new XDRPCArgumentInfo <ulong>((ulong)xuidContact);
                uint errorCode = ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(options, new XDRPCArgumentInfo[] { info, info2 });
                if (errorCode != 0)
                {
                    CreateExceptionFromErrorCode(errorCode);
                }
                WaitForPartyState(xbc, PartyState.XPARTY_STATE_INPARTY, TimeSpan.FromSeconds(15.0));
            }
            catch (XDRPCException exception)
            {
                //throw new ProfilesException(exception);
            }
        }
示例#29
0
        static public uint GetXuidFromIndex(XDevkit.IXboxConsole xbc, UserIndex userIndex, out ulong offlineXuid)
        {
            uint num2;
            //try
            //{
            XDRPCExecutionOptions     options = new XDRPCExecutionOptions(XDRPCMode.Title, "xam.xex", 0x20a);
            XDRPCArgumentInfo <uint>  info    = new XDRPCArgumentInfo <uint>((uint)userIndex);
            XDRPCArgumentInfo <uint>  info2   = new XDRPCArgumentInfo <uint>(2);
            XDRPCArgumentInfo <ulong> info3   = new XDRPCArgumentInfo <ulong>(0L, ArgumentType.Out);
            uint num = ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(options, new XDRPCArgumentInfo[] { info, info2, info3 });

            offlineXuid = info3.Value;
            num2        = num;
            //}
            //catch (XDRPCException exception)
            //{
            //}
            return(num2);
        }
示例#30
0
        public static FIND_USER_INFO_RESPONSE XUserFindUser(XDevkit.IXboxConsole xbc, ulong YourXUID, string GamertagOrXUID)
        {
            var qwUserId = new XDRPCArgumentInfo <ulong>(YourXUID);
            XDRPCArgumentInfo qwFindId     = null;
            XDRPCArgumentInfo szSenderName = null;

            //if (GamertagOrXUID is ulong)
            //{
            //    if (!XUID.IsOnlineXUID((ulong)GamertagOrXUID) && !XUID.IsTeamXUID((ulong)GamertagOrXUID)) throw new Exception("XDKUtilities.XUserFindUser: Invalid gamer online/team XUID specified.");
            //    qwFindId = new XDRPCArgumentInfo<ulong>((ulong)GamertagOrXUID);
            //}
            //else if (GamertagOrXUID is string)
            {
                if (GamertagOrXUID.Length > 15)
                {
                    throw new Exception("XDKUtilities.XUserFindUser: Invalid Gamertag specified. It must be less than or equal to 15 characters in length.");
                }
                szSenderName = new XDRPCStringArgumentInfo(GamertagOrXUID, Encoding.ASCII, ArgumentType.ByRef, 16);
            }
            if (qwFindId == null && szSenderName == null)
            {
                throw new Exception("XDKUtilities.XUserFindUser: Invalid gamertag/XUID specified.");
            }
            if (qwFindId == null)
            {
                qwFindId = new XDRPCArgumentInfo <ulong>(0);
            }
            if (szSenderName == null)
            {
                szSenderName = new XDRPCStringArgumentInfo(string.Empty, Encoding.ASCII, ArgumentType.ByRef, 16);
            }
            var cbResults    = new XDRPCArgumentInfo <int>(0x18);
            var pResults     = new XDRPCStructArgumentInfo <FIND_USER_INFO_RESPONSE>(new FIND_USER_INFO_RESPONSE(), ArgumentType.Out);
            var pXOverlapped = new XDRPCArgumentInfo <uint>(0);
            var returnVal    = ((XDevkit.IXboxConsole)xbc).ExecuteRPC <uint>(XDRPCMode.Title, Tools.Addresses.g_XUserFindUserAddressDEV, qwUserId, qwFindId, szSenderName, cbResults, pResults, pXOverlapped);

            if (returnVal != 0x00000000)
            {
                throw new COMException("Exception from HRESULT: " + string.Format("0x{0:X}", returnVal), (int)returnVal);
            }
            return(pResults.Value);
        }
示例#31
0
        static public void GetMyFriends(XDevkit.IXboxConsole xbc, UserIndex userIndex)
        {
            //try
            //{
            uint friendIndex = 0;

            while (true)
            {
                XONLINE_FRIEND iteratorVariable0;
                if (GetNextFriend(xbc, userIndex, friendIndex, out iteratorVariable0) != 0)
                {
                    break;
                }
                FriendRequestStatus requestAccepted = FriendRequestStatus.RequestAccepted;
                if ((iteratorVariable0.dwFriendState & 0x40000000) > 0)
                {
                    requestAccepted = FriendRequestStatus.RequestSent;
                }
                else if ((iteratorVariable0.dwFriendState & 0x80000000) > 0)
                {
                    requestAccepted = FriendRequestStatus.RequestReceived;
                }
                FriendStatus offline = FriendStatus.Offline;
                if ((iteratorVariable0.dwFriendState & 1) > 0)
                {
                    offline = ((FriendStatus)iteratorVariable0.dwFriendState) & ((FriendStatus)0xf0000);
                }
                ListFGamerTags[friendIndex] = iteratorVariable0.szGamertag;
                ListFLXuid[friendIndex]     = iteratorVariable0.xuid;
                ListFSXuid[friendIndex]     = iteratorVariable0.xuid.ToString("X16");
                ListFGameID[friendIndex]    = iteratorVariable0.dwTitleID.ToString("X8");
                //offline;
                friendIndex++;
            }
            FUsersCount = (int)friendIndex;
            //}
            //catch
            //{

            //}
        }
示例#32
0
        static public void WaitForPartyState(XDevkit.IXboxConsole xbc, PartyState state, TimeSpan timeout)
        {
            PartyState      state2;
            PartyErrorCodes codes;
            TimeSpan        span;
            DateTime        now = DateTime.Now;

            do
            {
                Thread.Sleep(0x7d0);
                GetPartyState(xbc, out state2, out codes);
                span = (TimeSpan)(DateTime.Now - now);
            }while ((state2 != state) && (span < timeout));
            if (codes != PartyErrorCodes.XPARTY_ERROR_NONE)
            {
            }
            if ((span >= timeout) && (state2 != state))
            {
                throw new PartyTimeOutException();
            }
        }
示例#33
0
        private void button15_Click(object sender, EventArgs e)
        {
            string IP = textBox14.Text;

            if (console.Connect(IP))
            {
                xbc           = (XDevkit.IXboxConsole)console.Xbox_Console;
                textBox7.Text = myini.IniReadValue("MyInfo", "MyGT");
                textBox8.Text = myini.IniReadValue("MyInfo", "MyXUID");
                //SLib = new Suave.Classes.SuaveLib(xbc, richTextBox1);
                MyGhost        = new GhostTool.Tools(xbc);
                textBox10.Text = "Connected";
                myini.IniWriteValue("MyInfo", "XboxIP", IP);
                Connected = true;
                MessageBox.Show("Connected To: " + IP);
            }
            else
            {
                MessageBox.Show("Not Connected To: " + IP);
            }
        }
示例#34
0
 public bool Connect(string xboxName)
 {
     if (string.IsNullOrEmpty(xboxName))
     {
         //this.Suave_Error("Please choose an Xbox 360 from the list before connecting.", MessageBoxButtons.OK, MessageBoxIcon.Hand);
         return false;
     }
     if (console.Connect(xboxName))
     {
         xbc = (XDevkit.IXboxConsole) console.Xbox_Console;
         this.print(false, "Connected to {0}!", new object[] { xboxName });
         return true;
     }
     this.print(false, "Failed to Connect to {0}.", new object[] { xboxName });
     //this.Suave_Error("Suave cannot connect to " + xboxName + ". Please check the console's connection before trying to connect again.", MessageBoxButtons.OK, MessageBoxIcon.Hand);
     return false;
 }
示例#35
0
 public Client(XDevkit.IXboxConsole Oxbc, uint clientIndex, Suave.Classes.SuaveLib _SuaveLib)
 {
     this.xbc = Oxbc;
     this.clientID = clientIndex;
     this.SuaveLib = _SuaveLib;
 }
示例#36
0
 public Tools(XDevkit.IXboxConsole lxbc)
 {
     this.xbc = lxbc;
     System.IO.File.ReadAllBytes(Application.StartupPath + @"\Settings.bin");
 }
示例#37
0
 public WeaponDef(uint WeaponDefAddress, Suave.Classes.SuaveLib _SuaveLib)
 {
     this.address = WeaponDefAddress;
     this.SuaveLib = _SuaveLib;
     this.xbc = xbc;
 }
示例#38
0
 public mpdata(Suave.Classes.SuaveLib _SuaveLib, XDevkit.IXboxConsole _xbc)
 {
     this.SuaveLib = _SuaveLib;
     this.xbc = _xbc;
 }
示例#39
0
 public HudElem(uint elemAddress, Suave.Classes.SuaveLib _SuaveLib)
 {
     this.elem = elemAddress;
     this.SuaveLib = _SuaveLib;
     this.xbc = xbc;
 }
示例#40
0
 private void button15_Click(object sender, EventArgs e)
 {
     string IP = textBox14.Text;
     if (console.Connect(IP))
     {
         xbc = (XDevkit.IXboxConsole)console.Xbox_Console;
         textBox7.Text = myini.IniReadValue("MyInfo", "MyGT");
         textBox8.Text = myini.IniReadValue("MyInfo", "MyXUID");
         //SLib = new Suave.Classes.SuaveLib(xbc, richTextBox1);
         MyGhost = new GhostTool.Tools(xbc);
         textBox10.Text = "Connected";
         myini.IniWriteValue("MyInfo", "XboxIP", IP);
         Connected = true;
         MessageBox.Show("Connected To: " + IP);
     }
     else
     {
         MessageBox.Show("Not Connected To: " + IP);
     }
 }