void Button2Click(object sender, EventArgs e)
        {
            using (var ofd = new OpenFileDialog())
            {
                ofd.Filter      = "Text files (*.txt)|*.txt";
                ofd.FilterIndex = 2;
                ofd.FileName    = "clientinfo.txt";
                ofd.Title       = "Load clientinfo.txt";
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    string line1;
                    string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6;

                    using (StreamReader reader = new StreamReader(ofd.FileName))
                    {
                        line1 = reader.ReadLine();
                    }

                    if (!SecurityFuncs.IsBase64String(line1))
                    {
                        return;
                    }

                    string   ConvertedLine = SecurityFuncs.Base64Decode(line1);
                    string[] result        = ConvertedLine.Split('|');
                    Decryptline1 = SecurityFuncs.Base64Decode(result[0]);
                    Decryptline2 = SecurityFuncs.Base64Decode(result[1]);
                    Decryptline3 = SecurityFuncs.Base64Decode(result[2]);
                    Decryptline4 = SecurityFuncs.Base64Decode(result[3]);
                    Decryptline5 = SecurityFuncs.Base64Decode(result[4]);
                    Decryptline6 = SecurityFuncs.Base64Decode(result[5]);

                    Boolean bline1 = Convert.ToBoolean(Decryptline1);
                    GlobalVars.ClientCreator_UsesPlayerName = bline1;

                    Boolean bline2 = Convert.ToBoolean(Decryptline2);
                    GlobalVars.ClientCreator_UsesID = bline2;

                    Boolean bline3 = Convert.ToBoolean(Decryptline3);
                    GlobalVars.ClientCreator_LoadsAssetsOnline = bline3;

                    Boolean bline4 = Convert.ToBoolean(Decryptline4);
                    GlobalVars.ClientCreator_LegacyMode = bline4;

                    GlobalVars.ClientCreator_SelectedClientMD5 = Decryptline5;

                    GlobalVars.ClientCreator_SelectedClientDesc = Decryptline6;

                    checkBox1.Checked = GlobalVars.ClientCreator_UsesPlayerName;
                    checkBox2.Checked = GlobalVars.ClientCreator_UsesID;
                    checkBox5.Checked = GlobalVars.ClientCreator_LoadsAssetsOnline;
                    checkBox3.Checked = GlobalVars.ClientCreator_LegacyMode;
                    textBox2.Text     = GlobalVars.ClientCreator_SelectedClientMD5.ToUpper();
                    textBox1.Text     = GlobalVars.ClientCreator_SelectedClientDesc;
                }
            }
        }
 public static void WriteConfigValues(string cfgpath)
 {
     string[] lines =
     {
         SecurityFuncs.Base64Encode(GlobalVars.CloseOnLaunch.ToString()),
         SecurityFuncs.Base64Encode(GlobalVars.UserID.ToString()),
         SecurityFuncs.Base64Encode(GlobalVars.PlayerName.ToString()),
         SecurityFuncs.Base64Encode(GlobalVars.SelectedClient.ToString()),
         SecurityFuncs.Base64Encode(GlobalVars.Map.ToString()),
         SecurityFuncs.Base64Encode(GlobalVars.RobloxPort.ToString())
     };
     File.WriteAllText(cfgpath, SecurityFuncs.Base64Encode(string.Join("|", lines)));
 }
 void Button21Click(object sender, EventArgs e)
 {
     try
     {
         string loadstring = Environment.CurrentDirectory + Path.DirectorySeparatorChar + System.AppDomain.CurrentDomain.FriendlyName;
         SecurityFuncs.RegisterURLProtocol("RBXPri2", loadstring, "RBXPri2 URI");
         ConsolePrint("URI Successfully Installed!", 3);
         DialogResult result1 = MessageBox.Show("URI Successfully Installed!", "RBXPri2 Launcher - Install URI", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     catch (Exception ex)
     {
         ConsolePrint("ERROR 5 - Failed to install URI. (" + ex.Message + ")", 2);
         DialogResult result2 = MessageBox.Show("Failed to install URI. (Error: " + ex.Message + ")", "RBXPri2 Launcher - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public static void ReadClientValues(string clientpath)
        {
            string line1;
            string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6;

            using (StreamReader reader = new StreamReader(clientpath))
            {
                line1 = reader.ReadLine();
            }

            if (!SecurityFuncs.IsBase64String(line1))
            {
                return;
            }

            string ConvertedLine = SecurityFuncs.Base64Decode(line1);

            string[] result = ConvertedLine.Split('|');
            Decryptline1 = SecurityFuncs.Base64Decode(result[0]);
            Decryptline2 = SecurityFuncs.Base64Decode(result[1]);
            Decryptline3 = SecurityFuncs.Base64Decode(result[2]);
            Decryptline4 = SecurityFuncs.Base64Decode(result[3]);
            Decryptline5 = SecurityFuncs.Base64Decode(result[4]);
            Decryptline6 = SecurityFuncs.Base64Decode(result[5]);

            bool bline1 = Convert.ToBoolean(Decryptline1);

            GlobalVars.UsesPlayerName = bline1;

            bool bline2 = Convert.ToBoolean(Decryptline2);

            GlobalVars.UsesID = bline2;

            bool bline3 = Convert.ToBoolean(Decryptline3);

            GlobalVars.LoadsAssetsOnline = bline3;

            bool bline4 = Convert.ToBoolean(Decryptline4);

            GlobalVars.LegacyMode = bline4;

            GlobalVars.SelectedClientMD5 = Decryptline5;

            GlobalVars.SelectedClientDesc = Decryptline6;

            GlobalVars.MD5 = GlobalVars.SelectedClientMD5;
        }
        void StartClient()
        {
            string rbxexe = "";

            if (GlobalVars.LegacyMode == true)
            {
                rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp.exe";
            }
            else
            {
                rbxexe = GlobalVars.ClientDir + @"\\" + GlobalVars.SelectedClient + @"\\RobloxApp_client.exe";
            }
            string quote = "\"";
            string args  = "";

            if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == true)
            {
                args = "-script " + quote + "game:GetService('NetworkClient'):PlayerConnect(" + GlobalVars.UserID + ",'localhost'," + GlobalVars.RobloxPort + ") game.Players.LocalPlayer.Name = '" + GlobalVars.PlayerName + "' game.Players.LocalPlayer.CharacterAppearanceId = '" + GlobalVars.UserID + "'" + quote;
            }
            else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == true)
            {
                args = "-script " + quote + "game:GetService('NetworkClient'):PlayerConnect(" + GlobalVars.UserID + ",'localhost'," + GlobalVars.RobloxPort + ") game.Players.LocalPlayer.CharacterAppearanceId = '" + GlobalVars.UserID + "'" + quote;
            }
            else if (GlobalVars.UsesPlayerName == true && GlobalVars.UsesID == false)
            {
                args = "-script " + quote + "game:GetService('NetworkClient'):PlayerConnect(0,'localhost'," + GlobalVars.RobloxPort + ") game.Players.LocalPlayer.Name = '" + GlobalVars.PlayerName + "'" + quote;
            }
            else if (GlobalVars.UsesPlayerName == false && GlobalVars.UsesID == false)
            {
                args = "-script " + quote + "game:GetService('NetworkClient'):PlayerConnect(0,'localhost'," + GlobalVars.RobloxPort + ")" + quote;
            }
            try
            {
                ConsolePrint("Client Loaded.", 4);
                if (SecurityFuncs.checkClientMD5(GlobalVars.SelectedClient) == true)
                {
                    Process.Start(rbxexe, args);
                }
            }
            catch (Exception ex)
            {
                ConsolePrint("ERROR 2 - Failed to launch RBXPri2. (" + ex.Message + ")", 2);
                DialogResult result2 = MessageBox.Show("Failed to launch RBXPri2. (Error: " + ex.Message + ")", "RBXPri2 Launcher - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public static void ReadConfigValues(string cfgpath)
        {
            string line1;
            string Decryptline1, Decryptline2, Decryptline3, Decryptline4, Decryptline5, Decryptline6;

            using (StreamReader reader = new StreamReader(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\config.txt"))
            {
                line1 = reader.ReadLine();
            }

            if (!SecurityFuncs.IsBase64String(line1))
            {
                return;
            }

            string ConvertedLine = SecurityFuncs.Base64Decode(line1);

            string[] result = ConvertedLine.Split('|');
            Decryptline1 = SecurityFuncs.Base64Decode(result[0]);
            Decryptline2 = SecurityFuncs.Base64Decode(result[1]);
            Decryptline3 = SecurityFuncs.Base64Decode(result[2]);
            Decryptline4 = SecurityFuncs.Base64Decode(result[3]);
            Decryptline5 = SecurityFuncs.Base64Decode(result[4]);
            Decryptline6 = SecurityFuncs.Base64Decode(result[5]);

            bool bline1 = Convert.ToBoolean(Decryptline1);

            GlobalVars.CloseOnLaunch = bline1;

            int iline2 = Convert.ToInt32(Decryptline2);

            GlobalVars.UserID = iline2;

            GlobalVars.PlayerName = Decryptline3;

            GlobalVars.SelectedClient = Decryptline4;

            GlobalVars.Map = Decryptline5;

            int iline6 = Convert.ToInt32(Decryptline6);

            GlobalVars.RobloxPort = iline6;
        }
        void Button1Click(object sender, EventArgs e)
        {
            using (var sfd = new SaveFileDialog())
            {
                sfd.Filter      = "Text files (*.txt)|*.txt";
                sfd.FilterIndex = 2;
                sfd.FileName    = "clientinfo.txt";
                sfd.Title       = "Save clientinfo.txt";

                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    string[] lines =
                    {
                        SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_UsesPlayerName.ToString()),
                        SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_UsesID.ToString()),
                        SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_LoadsAssetsOnline.ToString()),
                        SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_LegacyMode.ToString()),
                        SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_SelectedClientMD5.ToString()),
                        SecurityFuncs.Base64Encode(GlobalVars.ClientCreator_SelectedClientDesc.ToString())
                    };
                    File.WriteAllText(sfd.FileName, SecurityFuncs.Base64Encode(string.Join("|", lines)));
                }
            }
        }