using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Security.Cryptography; using System.Text; using System.Threading; using System.Windows.Forms; using DevexpressPatchKeygen.Properties; using dnlib.DotNet; using dnlib.DotNet.Emit; using dnlib.DotNet.Writer; using Microsoft.Win32; namespace DevexpressPatchKeygen { public partial class SchemaAdapter : Form { public Func> Selector; public Thread m_Authentication; public int expression = 24; public int repository = 1; public string[] m_Task = new string[] { "2012 A.I.O.", "2013 A.I.O.", "2015 A.I.O.", "2017 ENT.", "2017 PRE.", "2017 PRO.", "2019 COM.", "2019 ENT.", "2019 PRE.", "2019 PRO.", "2022 COM.", "2022 ENT.", "2022 PRE.", "2022 PRO." }; public string _Parser = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\"; public string m_Property = Path.GetPathRoot(Environment.SystemDirectory); public string[] _Error; public List mapping = new List(); public int m_Val; public bool m_Process = true; public string publisher = "yNuZy4wH5P3B8z6JizxE8jCOcVi56/1pUEogqmBKb/oHzZoDknOZNS2Eezg90LjJPxht3wCzqWaL4EnpLa2KQmJYRUyxb3HawCFlmBmGIq0gUuYs98j9qsD2HgxgzWT5tV0A5w==AQAB"; public string instance = "uWen+I3q039Djs70jBiFJqHuqn02tPY5RCvxTccDoV7iks+8RNVIFKLejgILEHao9wt03cD60duR0kKZu0TbUK1nVlMxlijZseWMJonrfdYj+Xt37jl4OSuz17XM/WtZFMWM9Q==AQAB"; public string _Proxy = "uWen+I3q039Djs70jBiFJqHuqn02tPY5RCvxTccDoV7iks+8RNVIFKLejgILEHao9wt03cD60duR0kKZu0TbUK1nVlMxlijZseWMJonrfdYj+Xt37jl4OSuz17XM/WtZFMWM9Q==AQAB

yX1YZkcaTah6AylJHfsc+H2rVLNlRmBfxnhL/oM8tq0oxHx7inLBK/74r52XEK1NiWc=

65BS/JKjKZb2KJzemmibE1++BkoVYrgsUFmqZTIj9ywuJfFlSSv/oTL3//6A/SlXUUM=Bq18zIb2vDQlNw2bOr8jyqh/kSMQ7DAtfGpoOlsnG/bJLxnhDkmXVVnx7AARDaBwvWk=vVRYfsxU+55r5qR+fdhJm769+kwc+CVS6JnIzGEKayVFShXE9JS6dxOCJGynu9I4bgU=Y4cNBnsbzJ4q/ktV5SklAUadZLaVxTiaeMAJAR3hYazfj3nmt3iXspieD9KJzkQPr+Q=N6hwemNQLXG0/DgQncX2ouRV24R/Wc/Y3Sg75ldqNZVgeyY1pIxKeTdzjDn8zFJy4sZgeL0iw+91lsHpFH5Mr8nwTdoU+/y+xipe2Kb5SipI7dlLSU5TC7Av0W/dJAx3OA1kuQ==
"; public static Random _Visitor = new Random(); public IDisposable _Importer; public GroupBox m_Container; public Label order; public ProgressBar @params; public ComboBox m_Interceptor; public Label _Request; public Button m_Getter; public TextBox exporter; public Label _Candidate; public Button m_Decorator; public Label _Facade; public NumericUpDown attribute; public NumericUpDown initializer; public LinkLabel _Tokenizer; public Button _Descriptor; public CheckBox listener; public LinkLabel _Helper; public CheckBox registry; public CheckBox annotation; // Constructor to initialize the authentication process internal SchemaAdapter() { InitAuthentication(); } // Initialize UI components (e.g., buttons, checkboxes, labels) private void InitAuthentication() { this.m_Container = new GroupBox(); this.registry = new CheckBox(); this._Helper = new LinkLabel(); this.order = new Label(); this.@params = new ProgressBar(); this.m_Interceptor = new ComboBox(); this._Request = new Label(); this.m_Getter = new Button(); this.exporter = new TextBox(); this._Candidate = new Label(); this.m_Decorator = new Button(); this._Facade = new Label(); this.attribute = new NumericUpDown(); this.initializer = new NumericUpDown(); this._Tokenizer = new LinkLabel(); this._Descriptor = new Button(); this.listener = new CheckBox(); this.annotation = new CheckBox(); this.m_Container.SuspendLayout(); ((ISupportInitialize)this.attribute).BeginInit(); ((ISupportInitialize)this.initializer).BeginInit(); base.SuspendLayout(); this.m_Container.Controls.Add(this.registry); this.m_Container.Controls.Add(this._Helper); this.m_Container.Controls.Add(this.order); this.m_Container.Controls.Add(this.@params); this.m_Container.Controls.Add(this.m_Interceptor); this.m_Container.Controls.Add(this._Request); this.m_Container.Controls.Add(this.m_Getter); this.m_Container.Controls.Add(this.exporter); this.m_Container.Controls.Add(this._Candidate); this.m_Container.Controls.Add(this.m_Decorator); this.m_Container.Controls.Add(this._Facade); this.m_Container.Controls.Add(this.attribute); this.m_Container.Controls.Add(this.initializer); this.m_Container.Controls.Add(this._Tokenizer); this.m_Container.Controls.Add(this._Descriptor); this.m_Container.Controls.Add(this.listener); this.m_Container.Controls.Add(this.annotation); this.m_Container.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold); this.m_Container.ForeColor = Color.DarkMagenta; this.m_Container.Location = new Point(6, 3); this.m_Container.Name = "gDevExpress"; this.m_Container.Size = new Size(383, 135); this.m_Container.TabIndex = 44; this.m_Container.TabStop = false; this.m_Container.Text = "Patch / Keygen..."; this.registry.AutoSize = true; this.registry.Cursor = Cursors.Hand; this.registry.ForeColor = Color.ForestGreen; this.registry.Location = new Point(9, 47); this.registry.Name = "cELK"; this.registry.Size = new Size(135, 17); this.registry.TabIndex = 106; this.registry.Text = "Export License Key"; this.registry.UseVisualStyleBackColor = true; this._Helper.ActiveLinkColor = Color.Brown; this._Helper.AutoSize = true; this._Helper.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0); this._Helper.LinkColor = Color.Navy; this._Helper.Location = new Point(9, 21); this._Helper.Name = "linkDEV"; this._Helper.Size = new Size(86, 13); this._Helper.TabIndex = 105; this._Helper.TabStop = true; this._Helper.Text = "D.E. Version :"; this._Helper.LinkClicked += this.CheckAuthentication; this.order.AutoEllipsis = true; this.order.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0); this.order.ForeColor = Color.Magenta; this.order.Location = new Point(286, 93); this.order.Name = "lpb"; this.order.Size = new Size(88, 13); this.order.TabIndex = 104; this.order.Text = "Calculation..."; this.order.TextAlign = ContentAlignment.MiddleCenter; this.order.Visible = false; this.@params.Location = new Point(286, 106); this.@params.Name = "progressBar1"; this.@params.Size = new Size(88, 18); this.@params.Style = ProgressBarStyle.Marquee; this.@params.TabIndex = 103; this.@params.Visible = false; this.m_Interceptor.BackColor = SystemColors.Info; this.m_Interceptor.DropDownHeight = 100; this.m_Interceptor.ForeColor = Color.DarkRed; this.m_Interceptor.FormattingEnabled = true; this.m_Interceptor.IntegralHeight = false; this.m_Interceptor.ItemHeight = 13; this.m_Interceptor.Location = new Point(286, 17); this.m_Interceptor.Name = "comboLicense"; this.m_Interceptor.Size = new Size(88, 21); this.m_Interceptor.Sorted = true; this.m_Interceptor.TabIndex = 101; this.m_Interceptor.Text = "Select..."; this.m_Interceptor.KeyPress += this.FindAuthentication; this._Request.AutoSize = true; this._Request.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0); this._Request.ForeColor = Color.Navy; this._Request.Location = new Point(213, 21); this._Request.Name = "label6"; this._Request.Size = new Size(67, 13); this._Request.TabIndex = 102; this._Request.Text = "V.Studio : "; this.m_Getter.ForeColor = Color.Firebrick; this.m_Getter.Location = new Point(109, 69); this.m_Getter.Name = "regLic"; this.m_Getter.Size = new Size(165, 23); this.m_Getter.TabIndex = 100; this.m_Getter.Text = "Regenerate License Only"; this.m_Getter.UseVisualStyleBackColor = true; this.m_Getter.Click += this.CancelAuthentication; this.exporter.BackColor = SystemColors.Info; this.exporter.ForeColor = Color.DarkRed; this.exporter.Location = new Point(146, 105); this.exporter.MaxLength = 30; this.exporter.Name = "tname"; this.exporter.Size = new Size(112, 20); this.exporter.TabIndex = 99; this.exporter.Text = "PulsarTeam"; this.exporter.TextAlign = HorizontalAlignment.Center; this._Candidate.AutoSize = true; this._Candidate.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0); this._Candidate.ForeColor = Color.Navy; this._Candidate.Location = new Point(93, 109); this._Candidate.Name = "label3"; this._Candidate.Size = new Size(47, 13); this._Candidate.TabIndex = 98; this._Candidate.Text = "Name :"; this.m_Decorator.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold, GraphicsUnit.Point, 0); this.m_Decorator.ForeColor = Color.DarkGoldenrod; this.m_Decorator.Location = new Point(9, 69); this.m_Decorator.Name = "Restore"; this.m_Decorator.Size = new Size(88, 23); this.m_Decorator.TabIndex = 97; this.m_Decorator.Text = "Restore"; this.m_Decorator.UseVisualStyleBackColor = true; this.m_Decorator.Click += this.ValidateAuthentication; this._Facade.AutoSize = true; this._Facade.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold | FontStyle.Italic, GraphicsUnit.Point, 0); this._Facade.ForeColor = Color.Navy; this._Facade.Location = new Point(145, 21); this._Facade.Name = "label2"; this._Facade.Size = new Size(11, 13); this._Facade.TabIndex = 96; this._Facade.Text = "."; this.attribute.ForeColor = Color.DarkRed; this.attribute.Location = new Point(98, 17); NumericUpDown numericUpDown = this.attribute; int[] array = new int[4]; array[0] = 99; numericUpDown.Maximum = new decimal(array); NumericUpDown numericUpDown2 = this.attribute; int[] array2 = new int[4]; array2[0] = 19; numericUpDown2.Minimum = new decimal(array2); this.attribute.Name = "HV"; this.attribute.Size = new Size(41, 20); this.attribute.TabIndex = 95; this.attribute.TextAlign = HorizontalAlignment.Center; NumericUpDown numericUpDown3 = this.attribute; int[] array3 = new int[4]; array3[0] = 24; numericUpDown3.Value = new decimal(array3); this.attribute.ValueChanged += this.ConcatAuthentication; this.initializer.ForeColor = Color.DarkRed; this.initializer.Location = new Point(162, 17); NumericUpDown numericUpDown4 = this.initializer; int[] array4 = new int[4]; array4[0] = 9; numericUpDown4.Maximum = new decimal(array4); this.initializer.Name = "LV"; this.initializer.Size = new Size(41, 20); this.initializer.TabIndex = 94; this.initializer.TextAlign = HorizontalAlignment.Center; NumericUpDown numericUpDown5 = this.initializer; int[] array5 = new int[4]; array5[0] = 1; numericUpDown5.Value = new decimal(array5); this.initializer.ValueChanged += this.ExcludeAuthentication; this._Tokenizer.AutoSize = true; this._Tokenizer.Font = new Font("Microsoft Sans Serif", 8.25f, FontStyle.Bold, GraphicsUnit.Point, 0); this._Tokenizer.ForeColor = Color.BlueViolet; this._Tokenizer.LinkColor = Color.OrangeRed; this._Tokenizer.Location = new Point(297, 109); this._Tokenizer.Name = "linkdfox"; this._Tokenizer.Size = new Size(77, 13); this._Tokenizer.TabIndex = 75; this._Tokenizer.TabStop = true; this._Tokenizer.Text = "By PulsarTeam"; this._Tokenizer.LinkClicked += this.CalcAuthentication; this._Descriptor.ForeColor = Color.DarkBlue; this._Descriptor.Location = new Point(286, 69); this._Descriptor.Name = "Patch"; this._Descriptor.Size = new Size(88, 23); this._Descriptor.TabIndex = 0; this._Descriptor.Text = "Patch"; this._Descriptor.UseVisualStyleBackColor = true; this._Descriptor.Click += this.VisitAuthentication; this.listener.AutoSize = true; this.listener.Checked = true; this.listener.CheckState = CheckState.Checked; this.listener.Cursor = Cursors.Hand; this.listener.ForeColor = Color.Teal; this.listener.Location = new Point(9, 107); this.listener.Name = "controlloBackup"; this.listener.Size = new Size(69, 17); this.listener.TabIndex = 21; this.listener.Text = "Backup"; this.listener.UseVisualStyleBackColor = true; this.annotation.AutoSize = true; this.annotation.Checked = true; this.annotation.CheckState = CheckState.Checked; this.annotation.Cursor = Cursors.Hand; this.annotation.ForeColor = Color.ForestGreen; this.annotation.Location = new Point(196, 47); this.annotation.Name = "cRORE"; this.annotation.Size = new Size(178, 17); this.annotation.TabIndex = 107; this.annotation.Text = "Remove Old Registry Entry"; this.annotation.UseVisualStyleBackColor = true; base.AutoScaleDimensions = new SizeF(6f, 13f); base.AutoScaleMode = AutoScaleMode.Font; base.ClientSize = new Size(395, 142); base.Controls.Add(this.m_Container); base.MaximizeBox = false; this.MaximumSize = new Size(411, 181); this.MinimumSize = new Size(411, 181); base.Name = "DEPK"; base.StartPosition = FormStartPosition.CenterScreen; this.Text = "DevExpress - Patch/Keygen v{0}.{1}.{2}.{3}"; base.Load += this.QueryAuthentication; base.MouseDoubleClick += this.InvokeAuthentication; this.m_Container.ResumeLayout(false); this.m_Container.PerformLayout(); ((ISupportInitialize)this.attribute).EndInit(); ((ISupportInitialize)this.initializer).EndInit(); base.ResumeLayout(false); } // Method to query authentication status or details private void QueryAuthentication(object sender, EventArgs e) { try { Version version = Assembly.GetExecutingAssembly().GetName().Version; this.Text = string.Format("DevExpress - Patch/Keygen v{0}.{1}.{2}.{3}", new object[] { version.Major, version.Minor, version.Build, version.Revision }); for (int i = 0; i <= this.m_Task.Length - 1; i++) { this.m_Interceptor.Items.Add(this.m_Task[i]); } string text = this.SetAuthentication(); if (text != null && text != string.Empty) { this._Error = text.Split(new char[] { Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar }); } this.m_Interceptor.SelectedIndex = ((this._Error == null || this._Error.Length < 8) ? this.m_Interceptor.FindStringExact("2022 ENT.") : this.m_Interceptor.FindStringExact(this._Error[3] + " " + this._Error[4].Substring(0, 3).ToUpper() + ".")); this.attribute.Value = Settings.Default.dvma; this.initializer.Value = Settings.Default.dvmi; } catch { MessageBox.Show("General Error...!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Hand); } } private string SortAuthentication() { return SchemaAdapter._Visitor.Next(1, int.MaxValue).ToString(); } private string RemoveAuthentication(string string_0, int int_0 = 0) { return new string(Enumerable.Repeat(string_0, (int_0 == 0) ? SchemaAdapter._Visitor.Next(1, 11) : int_0) .Select(s => RegAdapter.Instance.CollectAuthentication(s)) .ToArray()); } // Method to set authentication details private string SetAuthentication() { string result; if (Environment.Is64BitOperatingSystem) { result = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\10.0\\", "InstallDir", null); } else { result = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\", "InstallDir", null); } return result; } // Method to cancel authentication process private void CancelAuthentication(object sender, EventArgs e) { m_Process = true; bool flag = DestroyAuthentication(true); if (m_Process) { MessageBox.Show((!flag) ? "License Registration Error..." : "License Inserted...", "Info...", MessageBoxButtons.OK, flag ? MessageBoxIcon.Asterisk : MessageBoxIcon.Hand); } } private void CalcAuthentication(object sender, LinkLabelLinkClickedEventArgs e) { Process.Start("https://www.dfox.it"); } public void VisitAuthentication(object sender, EventArgs e) { try { if (this.m_Interceptor.SelectedIndex < 0) { MessageBox.Show("Select an Edition..!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Hand); } else { this.m_Process = true; this.CountAuthentication(false); this.m_Authentication = new Thread(new ParameterizedThreadStart(this.PrepareAuthentication)); this.m_Authentication.Start(true); } } catch (ThreadAbortException) { } catch { } } private void PrepareAuthentication(object object_0) { Interpreter interpreter = new Interpreter(); interpreter.schemaAdapter = this; interpreter.nofil = true; while (Process.GetProcessesByName("devenv").Length != 0) { if (MessageBox.Show("Close Visual Studio (\"devenv\") Before Proceeding!. Continue?", "Info", MessageBoxButtons.YesNo) == DialogResult.No) { interpreter.nofil = true; base.Invoke(new Collection(this.StartAuthentication), new object[2]); return; } } interpreter.nofil = false; int.TryParse(this.attribute.Value.ToString(), out this.expression); int.TryParse(this.initializer.Value.ToString(), out this.repository); Version version = new Version(this.expression, this.repository); string text = string.Format("{0}.{1}", version.Major, version.Minor); if ((bool)object_0) { this.DestroyAuthentication(false); } else { this.CallAuthentication(); } interpreter.cvalue = string.Empty; base.Invoke(new MethodInvoker(interpreter.InstantiateAuthentication)); string[] array = interpreter.cvalue.Split(new char[] { ' ' }); interpreter.versione = array[0]; interpreter.edition = string.Empty; string a = array[1]; if (!(a == "COM.")) { if (!(a == "PRO.")) { if (!(a == "PRE.")) { if (!(a == "ENT.")) { interpreter.edition = ""; } else { interpreter.edition = "Enterprise"; } } else { interpreter.edition = "Preview"; } } else { interpreter.edition = "Professional"; } } else { interpreter.edition = "Community"; } try { PrinterParserList printerParserList = new PrinterParserList(); printerParserList.locals1 = interpreter; this.m_Val = 0; this.mapping = new List(); // Ensure that TestAuthentication() returns a string or modify the logic accordingly string testAuth = !string.IsNullOrEmpty(this.TestAuthentication()) ? "some default value" : string.Empty; string text2 = !string.IsNullOrEmpty(testAuth) ? testAuth.Replace("Components\\", "") : string.Format(this.m_Property + "Program Files{0}\\DevExpress {1}\\", (!this.DefineAuthentication()) ? " (x86)" : "", text); if (!Directory.Exists(text2)) { text2 = !string.IsNullOrEmpty(testAuth) ? testAuth.Replace("Components\\", "") : string.Format(this.m_Property + "Program Files{0}\\DevExpress {1}\\", this.DefineAuthentication() ? " (x86)" : "", text); } if (!Directory.Exists(text2) && MessageBox.Show("Installation of DevExpress \"" + text + "\" not found...\nContinue?", "Info", MessageBoxButtons.YesNo) == DialogResult.No) { printerParserList.locals1.nofil = true; base.Invoke(new Collection(this.StartAuthentication), new object[2]); return; } printerParserList.dVE = string.Empty; if (this._Error != null && this._Error.Length >= 8 && this._Error[3] == printerParserList.locals1.versione && this._Error[4].ToLower() == printerParserList.locals1.edition.ToLower()) { printerParserList.dVE = string.Join("\\", this._Error) + "Extensions\\"; } else { printerParserList.dVE = string.Format(this.m_Property + "Program Files{0}\\Microsoft Visual Studio\\{1}\\{2}\\Common7\\IDE\\Extensions\\", (!this.DefineAuthentication() || !(printerParserList.locals1.versione != "2022")) ? "" : " (x86)", printerParserList.locals1.versione, printerParserList.locals1.edition); } if (!Directory.Exists(printerParserList.dVE)) { base.Invoke(new MethodInvoker(printerParserList.AssetAuthentication)); } string text3 = this.m_Property + "Windows\\Microsoft.NET\\assembly\\GAC_MSIL\\"; string text4 = this.m_Property + "Windows\\assembly\\"; string text5 = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\\Microsoft\\VisualStudio\\"; string text6 = Environment.GetEnvironmentVariable("USERPROFILE") + "\\.nuget\\packages\\devexpress.data\\"; this.ConnectAuthentication(new string[] { text2, printerParserList.dVE, text3, text5, text6, text4 }, (bool)object_0); printerParserList.nfl = this.mapping.Count; if (printerParserList.nfl <= 0) { printerParserList.locals1.nofil = true; MessageBox.Show("\"DevExpress file to patch not found...", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Hand); base.Invoke(new Collection(this.StartAuthentication), new object[2]); return; } base.Invoke(new MethodInvoker(printerParserList.locals1.CustomizeAuthentication)); ServiceRepositoryService serviceRepositoryService = new ServiceRepositoryService(); serviceRepositoryService.locals2 = printerParserList; serviceRepositoryService.i = 0; while (serviceRepositoryService.i < serviceRepositoryService.locals2.nfl) { base.Invoke(new MethodInvoker(serviceRepositoryService.ListAuthentication)); if (File.Exists(this.mapping[serviceRepositoryService.i])) { this.LoginAuthentication(this.mapping[serviceRepositoryService.i], (bool)object_0); } int i = serviceRepositoryService.i; serviceRepositoryService.i = i + 1; } base.Invoke(new MethodInvoker(printerParserList.locals1.PostAuthentication)); MessageBox.Show(this.m_Val.ToString() + ") File" + ((this.m_Val > 1) ? "s" : "") + " Patched...\nEnjoy \"PulsaTeam\"", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } catch (IOException) { MessageBox.Show("Error on IO File...", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Hand); } catch (UnauthorizedAccessException) { MessageBox.Show("Error on Unauthorized Access File...", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Hand); } catch { if (!interpreter.nofil) { MessageBox.Show("Unknow Error on Access File...", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Hand); } } base.Invoke(new Collection(this.StartAuthentication), new object[2]); } private void ConnectAuthentication(string[] string_0, bool bool_0) { RepositoryParserWorker repositoryParserWorker = new RepositoryParserWorker(); repositoryParserWorker.dr = string_0; try { repositoryParserWorker.d = 0; while (repositoryParserWorker.d < repositoryParserWorker.dr.Length) { string[] array; if (repositoryParserWorker.d < 5) { array = new string[] { "DevExpress.About.exe", "DevExpress.Data.v*.dll", "DevExpress.Xpf.Core.v*.DesignTools.dll", "DevExpress.DemosUpdater.dll", "DevExpress.ProjectUpgrade.Package*.dll", "CodedUIExtension.Registrar.dll", "DevExpressSharepoint*.wsp", "DevExpress.DeploymentTool.UI.Async*.dll", "DevExpress.Data.Portions.dll", "DevExpress.CodeRush.Platform.dll", "DevExpress.Generator.dll" }; } else if (bool_0) { array = new string[] { "DevExpress.Data.v*.ni.dll", "DevExpress.Xpf.Core.v*.DesignTools.ni.dll", "DevExpress.DemosUpdater.ni.dll", "DevExpress.ProjectUpgrade.Package*.ni.dll", "CodedUIExtension.Registrar.ni.dll", "DevExpress.DeploymentTool.UI.Async*.ni.dll", "DevExpress.Data.Portions.ni.dll", "DevExpress.CodeRush.Platform.ni.dll", "DevExpress.Generator.ni.dll" }; } else { array = new string[] { "DevExpress.Data.v*.ni.dll.DFX", "DevExpress.Xpf.Core.v*.DesignTools.ni.dll.DFX", "DevExpress.DemosUpdater.ni.dll.DFX", "DevExpress.ProjectUpgrade.Package*.ni.dll.DFX", "CodedUIExtension.Registrar.ni.dll.DFX", "DevExpress.DeploymentTool.UI.Async*.ni.dll.DFX", "DevExpress.Data.Portions.ni.dll.DFX", "DevExpress.CodeRush.Platform.ni.dll.DFX", "DevExpress.Generator.ni.dll.DFX" }; } try { IEnumerable source = array; Func> selector; if ((selector = repositoryParserWorker.Selector) == null) { selector = (repositoryParserWorker.Selector = new Func>(repositoryParserWorker.WriteAuthentication)); } string[] array2 = source.SelectMany(selector).ToArray(); for (int i = 0; i < array2.Length; i++) { if (!array2[i].Trim().EndsWith(".resources.dll")) { this.mapping.Add(array2[i].Trim()); } } } catch { } int d = repositoryParserWorker.d; repositoryParserWorker.d = d + 1; } } catch { } } private bool DefineAuthentication() { return Environment.Is64BitOperatingSystem; } private bool CallAuthentication() { Guid guid = default(Guid); int.TryParse(this.attribute.Value.ToString(), out this.expression); int.TryParse(this.initializer.Value.ToString(), out this.repository); Version version = new Version(this.expression, this.repository); string name = string.Format("{0}{1}", version.Major, version.Minor); bool result; try { guid = new Guid(58230061U, 54679, 18994, 182, 217, 104, 10, 22, 163, 205, 166); RegistryKey classesRoot = Registry.ClassesRoot; string str = "Licenses\\"; Guid guid2 = guid; RegistryKey registryKey = classesRoot.CreateSubKey(str + guid2.ToString()); if (!this.annotation.Checked) { registryKey.DeleteValue(name); } else { foreach (string name2 in registryKey.GetValueNames()) { registryKey.DeleteValue(name2); } } guid = new Guid(1863287401, 5398, 17606, 189, 48, 14, 144, 190, 39, 135, 28); RegistryKey classesRoot2 = Registry.ClassesRoot; string str2 = "Licenses\\"; guid2 = guid; registryKey = classesRoot2.CreateSubKey(str2 + guid2.ToString()); if (!this.annotation.Checked) { registryKey.DeleteValue(name); } else { foreach (string name3 in registryKey.GetValueNames()) { registryKey.DeleteValue(name3); } } return true; } catch { result = false; } return result; } private void FindAuthentication(object sender, KeyPressEventArgs e) { e.Handled = true; } private void CheckAuthentication(object sender, LinkLabelLinkClickedEventArgs e) { this.PopAuthentication(); } private void LoginAuthentication(string string_0, bool bool_0) { bool flag; if ((flag = string_0.EndsWith("DevExpress.Generator.dll")) && this.FillAuthentication(string_0)) { this.m_Val++; } if (string_0.EndsWith("DevExpress.Generator.dll.DFX")) { this.m_Val++; if (File.Exists(string_0.Replace(".DFX", ""))) { File.Delete(string_0.Replace(".DFX", "")); } File.Copy(string_0, string_0.Replace(".DFX", "")); return; } if (string_0.EndsWith(".ni.dll")) { this.m_Val++; if (File.Exists(string_0 + ".DFX")) { File.Delete(string_0 + ".DFX"); } File.Move(string_0, string_0 + ".DFX"); return; } if (string_0.EndsWith(".ni.dll.DFX")) { if (!File.Exists(string_0.Replace(".DFX", ""))) { this.m_Val++; File.Copy(string_0, string_0.Replace(".DFX", "")); } return; } byte[] bytes = Encoding.Unicode.GetBytes(bool_0 ? this.publisher : this.instance); byte[] bytes2 = Encoding.Unicode.GetBytes(bool_0 ? this.instance : this.publisher); byte[] array = File.ReadAllBytes(string_0); IList list = array.ComputeAuthentication(bytes); if (list.Count <= 0) { bytes2 = Encoding.UTF8.GetBytes(bool_0 ? this.instance : this.publisher); list = array.ComputeAuthentication(Encoding.UTF8.GetBytes(bool_0 ? this.publisher : this.instance)); } int num = 0; for (int i = 0; i < list.Count; i++) { if (num == 0 && !flag) { this.m_Val++; } num++; for (int j = 0; j < bytes2.Length; j++) { array[list[i] + j] = bytes2[j]; } } if (num > 0) { if (bool_0 && this.listener.Checked && !flag) { this.ReadAuthentication(string_0); } File.WriteAllBytes(string_0, array); } } //lol? private bool FillAuthentication(string string_0) { bool result; try { int num = 0; ModuleDefMD moduleDefMD = ModuleDefMD.Load(File.ReadAllBytes(string_0), new ModuleContext()); foreach (TypeDef typeDef in moduleDefMD.GetTypes()) { if (typeDef.FullName == "DevExpress.Generator") { MethodDef methodDef = typeDef.FindMethod("Execute"); int num2 = methodDef.Body.Instructions.Count(); if (methodDef != null && num2 >= 1 && methodDef.Body.Instructions[0].OpCode.ToString().Trim() != "ret") { methodDef.Body.Instructions.Insert(0, OpCodes.Ret.ToInstruction()); num++; } } } if (num > 0) { if (this.listener.Checked) { this.ReadAuthentication(string_0); } if (moduleDefMD.IsILOnly) { ModuleWriterOptions moduleWriterOptions = new ModuleWriterOptions(moduleDefMD); MetadataOptions metadataOptions = moduleWriterOptions.MetadataOptions; // Use the appropriate type for bitwise operations metadataOptions.Flags = (metadataOptions.Flags | (MetadataFlags)32767 | (MetadataFlags)32768); // Make sure to use the correct Load overload moduleDefMD.Write(string_0, moduleWriterOptions); } else { NativeModuleWriterOptions nativeModuleWriterOptions = new NativeModuleWriterOptions(moduleDefMD, false); // Use the appropriate type for bitwise operations nativeModuleWriterOptions.MetadataOptions.Flags |= (MetadataFlags)32768; // Make sure to use the correct Load overload moduleDefMD.NativeWrite(string_0, nativeModuleWriterOptions); } result = true; } else { result = false; } } catch { result = false; } return result; } private void ReadAuthentication(string string_0) { try { if (File.Exists(string_0 + ".DFX")) { File.Delete(string_0 + ".DFX"); } File.Copy(string_0, string_0 + ".DFX"); } catch { } } public void StartAuthentication(object sender, EventArgs e) { try { this.CountAuthentication(true); if (this.m_Authentication != null && this.m_Authentication.IsAlive) { this.m_Authentication.Abort(); this.m_Authentication = null; } } catch { } } private void ConcatAuthentication(object sender, EventArgs e) { Settings.Default.dvma = this.attribute.Value; Settings.Default.Save(); } private void ExcludeAuthentication(object sender, EventArgs e) { Settings.Default.dvmi = this.initializer.Value; Settings.Default.Save(); } private void CountAuthentication(bool bool_0) { ExpressionParserWorker expressionParserWorker = new ExpressionParserWorker(); expressionParserWorker.schemaAdapter = this; expressionParserWorker.of = bool_0; try { base.Invoke(new MethodInvoker(expressionParserWorker.DisableAuthentication)); } catch { } } // Test if authentication is successful private string TestAuthentication() { string result; try { int.TryParse(this.attribute.Value.ToString(), out this.expression); int.TryParse(this.initializer.Value.ToString(), out this.repository); Version version = new Version(this.expression, this.repository); string str = string.Format("{0}.{1}", version.Major, version.Minor); RegistryKey registryKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\\\WOW6432Node\\\\DevExpress\\\\Components\\v" + str); if (registryKey != null) { string text = registryKey.GetValue("RootDirectory").ToString(); registryKey.Close(); result = (Directory.Exists(text) ? text : string.Empty); } else { result = string.Empty; } } catch { result = string.Empty; } return result; } private void InvokeAuthentication(object sender, MouseEventArgs e) { this.PopAuthentication(); } private void PopAuthentication() { if (MessageBox.Show("Reset Settings to Default Values?\nThe application will be Restarted...", "Confirmation!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { this.FlushAuthentication(); } } private void FlushAuthentication() { Settings.Default.Reset(); try { Process.Start(Application.ExecutablePath); Process.GetCurrentProcess().Kill(); } catch { Process.GetCurrentProcess().Kill(); } } private bool CloneAuthentication(string string_0, bool bool_0, string string_1) { if (bool_0 && this.TestAuthentication() == string.Empty && MessageBox.Show("Installation of DevExpress not found...\nContinue?", "Info", MessageBoxButtons.YesNo) == DialogResult.No) { this.m_Process = false; return false; } bool result; try { int.TryParse(this.attribute.Value.ToString(), out this.expression); int.TryParse(this.initializer.Value.ToString(), out this.repository); Version version = new Version(this.expression, this.repository); string text = string.Format("{0}{1}", version.Major, version.Minor); string s = string.Format("{0},{1},{1},{2},{3},{4},{5}", new object[] { text, long.MaxValue, string_0, this.SortAuthentication(), this.RemoveAuthentication("123456789", 1), this.RemoveAuthentication("123456789", 0) }); byte[] bytes = Encoding.UTF8.GetBytes(s); byte[] array = new byte[20 + bytes.Length]; Buffer.BlockCopy(bytes, 0, array, 20, bytes.Length); RSACryptoServiceProvider rsacryptoServiceProvider = new RSACryptoServiceProvider(); rsacryptoServiceProvider.FromXmlString(this._Proxy); string text2 = Convert.ToBase64String(rsacryptoServiceProvider.SignData(array, CryptoConfig.MapNameToOID("SHA1"))) + Convert.ToBase64String(array); Guid guid = new Guid(58230061U, 54679, 18994, 182, 217, 104, 10, 22, 163, 205, 166); Guid guid2 = new Guid(1863287401, 5398, 17606, 189, 48, 14, 144, 190, 39, 135, 28); Guid guid4; if (this.annotation.Checked) { for (int i = 0; i < 2; i++) { Guid guid3 = (i == 0) ? guid : guid2; string str = "Licenses\\"; guid4 = guid3; string name = str + guid4.ToString(); RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.ClassesRoot, RegistryView.Registry64).OpenSubKey(name, true); if (registryKey != null) { foreach (string name2 in registryKey.GetValueNames()) { registryKey.DeleteValue(name2); } } } } if (this.registry.Checked) { try { File.WriteAllText(string_1, text2); } catch { } } RegistryKey classesRoot = Registry.ClassesRoot; string str2 = "Licenses\\"; guid4 = guid; classesRoot.CreateSubKey(str2 + guid4.ToString()).SetValue(text, text2, RegistryValueKind.String); RegistryKey classesRoot2 = Registry.ClassesRoot; string str3 = "Licenses\\"; guid4 = guid2; RegistryKey registryKey2 = classesRoot2.CreateSubKey(str3 + guid4.ToString()); registryKey2.SetValue(text, 1309, RegistryValueKind.DWord); registryKey2.Close(); result = true; } catch { result = false; } return result; } // Destroy or clean up authentication data private bool DestroyAuthentication(bool bool_0) { PolicyRepositoryService policyRepositoryService = new PolicyRepositoryService(); policyRepositoryService.schemaAdapter = this; bool result; try { if (this.exporter.Text.Trim() == "" || this.exporter.Text.Trim().Length > 30) { this.exporter.Text = "PulsarTeam"; } policyRepositoryService.fn = string.Empty; if (this.registry.Checked) { base.Invoke(new MethodInvoker(policyRepositoryService.ForgotAuthentication)); if (!this.m_Process) { base.Invoke(new Collection(this.StartAuthentication), new object[2]); return false; } } result = this.CloneAuthentication(this.exporter.Text.Trim(), bool_0, policyRepositoryService.fn); } catch { result = false; } return result; } // Validate authentication process private void ValidateAuthentication(object sender, EventArgs e) { try { this.listener.Checked = false; this.m_Process = true; this.CountAuthentication(false); this.m_Authentication = new Thread(new ParameterizedThreadStart(this.PrepareAuthentication)); this.m_Authentication.Start(false); } catch (ThreadAbortException) { } catch { } } } }