mirror of
https://github.com/alex-bochkov/PasswordChanger1C.git
synced 2024-11-19 18:01:48 +02:00
test
This commit is contained in:
parent
252cb0fa3c
commit
9bd00c102d
22
PasswordChanger1C.sln
Normal file
22
PasswordChanger1C.sln
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.23107.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "PasswordChanger1C", "PasswordChanger1C\PasswordChanger1C.vbproj", "{932C8B77-0E5E-44F6-92A4-AF13BE862D9A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{932C8B77-0E5E-44F6-92A4-AF13BE862D9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{932C8B77-0E5E-44F6-92A4-AF13BE862D9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{932C8B77-0E5E-44F6-92A4-AF13BE862D9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{932C8B77-0E5E-44F6-92A4-AF13BE862D9A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
178
PasswordChanger1C/AboutBox.Designer.vb
generated
Normal file
178
PasswordChanger1C/AboutBox.Designer.vb
generated
Normal file
@ -0,0 +1,178 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class AboutBox
|
||||
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
|
||||
|
||||
Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel
|
||||
Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
|
||||
Friend WithEvents LabelProductName As System.Windows.Forms.Label
|
||||
Friend WithEvents LabelVersion As System.Windows.Forms.Label
|
||||
Friend WithEvents LabelCompanyName As System.Windows.Forms.Label
|
||||
Friend WithEvents TextBoxDescription As System.Windows.Forms.TextBox
|
||||
Friend WithEvents OKButton As System.Windows.Forms.Button
|
||||
Friend WithEvents LabelCopyright As System.Windows.Forms.Label
|
||||
|
||||
'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(AboutBox))
|
||||
Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel()
|
||||
Me.LogoPictureBox = New System.Windows.Forms.PictureBox()
|
||||
Me.LabelProductName = New System.Windows.Forms.Label()
|
||||
Me.LabelVersion = New System.Windows.Forms.Label()
|
||||
Me.LabelCopyright = New System.Windows.Forms.Label()
|
||||
Me.LabelCompanyName = New System.Windows.Forms.Label()
|
||||
Me.TextBoxDescription = New System.Windows.Forms.TextBox()
|
||||
Me.OKButton = New System.Windows.Forms.Button()
|
||||
Me.TableLayoutPanel.SuspendLayout()
|
||||
CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'TableLayoutPanel
|
||||
'
|
||||
Me.TableLayoutPanel.ColumnCount = 2
|
||||
Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.0!))
|
||||
Me.TableLayoutPanel.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 67.0!))
|
||||
Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0)
|
||||
Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0)
|
||||
Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1)
|
||||
Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2)
|
||||
Me.TableLayoutPanel.Controls.Add(Me.LabelCompanyName, 1, 3)
|
||||
Me.TableLayoutPanel.Controls.Add(Me.TextBoxDescription, 1, 4)
|
||||
Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 5)
|
||||
Me.TableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TableLayoutPanel.Location = New System.Drawing.Point(9, 9)
|
||||
Me.TableLayoutPanel.Name = "TableLayoutPanel"
|
||||
Me.TableLayoutPanel.RowCount = 6
|
||||
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
|
||||
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
|
||||
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
|
||||
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
|
||||
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
|
||||
Me.TableLayoutPanel.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10.0!))
|
||||
Me.TableLayoutPanel.Size = New System.Drawing.Size(396, 258)
|
||||
Me.TableLayoutPanel.TabIndex = 0
|
||||
'
|
||||
'LogoPictureBox
|
||||
'
|
||||
Me.LogoPictureBox.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.LogoPictureBox.Image = CType(resources.GetObject("LogoPictureBox.Image"), System.Drawing.Image)
|
||||
Me.LogoPictureBox.Location = New System.Drawing.Point(3, 3)
|
||||
Me.LogoPictureBox.Name = "LogoPictureBox"
|
||||
Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 6)
|
||||
Me.LogoPictureBox.Size = New System.Drawing.Size(124, 252)
|
||||
Me.LogoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage
|
||||
Me.LogoPictureBox.TabIndex = 0
|
||||
Me.LogoPictureBox.TabStop = False
|
||||
'
|
||||
'LabelProductName
|
||||
'
|
||||
Me.LabelProductName.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.LabelProductName.Location = New System.Drawing.Point(136, 0)
|
||||
Me.LabelProductName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
|
||||
Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 17)
|
||||
Me.LabelProductName.Name = "LabelProductName"
|
||||
Me.LabelProductName.Size = New System.Drawing.Size(257, 17)
|
||||
Me.LabelProductName.TabIndex = 0
|
||||
Me.LabelProductName.Text = "Product Name"
|
||||
Me.LabelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'LabelVersion
|
||||
'
|
||||
Me.LabelVersion.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.LabelVersion.Location = New System.Drawing.Point(136, 25)
|
||||
Me.LabelVersion.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
|
||||
Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 17)
|
||||
Me.LabelVersion.Name = "LabelVersion"
|
||||
Me.LabelVersion.Size = New System.Drawing.Size(257, 17)
|
||||
Me.LabelVersion.TabIndex = 0
|
||||
Me.LabelVersion.Text = "Version"
|
||||
Me.LabelVersion.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'LabelCopyright
|
||||
'
|
||||
Me.LabelCopyright.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.LabelCopyright.Location = New System.Drawing.Point(136, 50)
|
||||
Me.LabelCopyright.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
|
||||
Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 17)
|
||||
Me.LabelCopyright.Name = "LabelCopyright"
|
||||
Me.LabelCopyright.Size = New System.Drawing.Size(257, 17)
|
||||
Me.LabelCopyright.TabIndex = 0
|
||||
Me.LabelCopyright.Text = "Copyright"
|
||||
Me.LabelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'LabelCompanyName
|
||||
'
|
||||
Me.LabelCompanyName.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.LabelCompanyName.Location = New System.Drawing.Point(136, 75)
|
||||
Me.LabelCompanyName.Margin = New System.Windows.Forms.Padding(6, 0, 3, 0)
|
||||
Me.LabelCompanyName.MaximumSize = New System.Drawing.Size(0, 17)
|
||||
Me.LabelCompanyName.Name = "LabelCompanyName"
|
||||
Me.LabelCompanyName.Size = New System.Drawing.Size(257, 17)
|
||||
Me.LabelCompanyName.TabIndex = 0
|
||||
Me.LabelCompanyName.Text = "Company Name"
|
||||
Me.LabelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
|
||||
'
|
||||
'TextBoxDescription
|
||||
'
|
||||
Me.TextBoxDescription.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.TextBoxDescription.Location = New System.Drawing.Point(136, 103)
|
||||
Me.TextBoxDescription.Margin = New System.Windows.Forms.Padding(6, 3, 3, 3)
|
||||
Me.TextBoxDescription.Multiline = True
|
||||
Me.TextBoxDescription.Name = "TextBoxDescription"
|
||||
Me.TextBoxDescription.ReadOnly = True
|
||||
Me.TextBoxDescription.ScrollBars = System.Windows.Forms.ScrollBars.Both
|
||||
Me.TextBoxDescription.Size = New System.Drawing.Size(257, 123)
|
||||
Me.TextBoxDescription.TabIndex = 0
|
||||
Me.TextBoxDescription.TabStop = False
|
||||
Me.TextBoxDescription.Text = resources.GetString("TextBoxDescription.Text")
|
||||
'
|
||||
'OKButton
|
||||
'
|
||||
Me.OKButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.OKButton.Location = New System.Drawing.Point(318, 232)
|
||||
Me.OKButton.Name = "OKButton"
|
||||
Me.OKButton.Size = New System.Drawing.Size(75, 23)
|
||||
Me.OKButton.TabIndex = 0
|
||||
Me.OKButton.Text = "&OK"
|
||||
'
|
||||
'AboutBox
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.CancelButton = Me.OKButton
|
||||
Me.ClientSize = New System.Drawing.Size(414, 276)
|
||||
Me.Controls.Add(Me.TableLayoutPanel)
|
||||
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
|
||||
Me.MaximizeBox = False
|
||||
Me.MinimizeBox = False
|
||||
Me.Name = "AboutBox"
|
||||
Me.Padding = New System.Windows.Forms.Padding(9)
|
||||
Me.ShowInTaskbar = False
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
|
||||
Me.Text = "AboutBox"
|
||||
Me.TableLayoutPanel.ResumeLayout(False)
|
||||
Me.TableLayoutPanel.PerformLayout()
|
||||
CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.ResumeLayout(False)
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
610
PasswordChanger1C/AboutBox.resx
Normal file
610
PasswordChanger1C/AboutBox.resx
Normal file
@ -0,0 +1,610 @@
|
||||
<?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="LogoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="TextBoxDescription.Text" xml:space="preserve">
|
||||
<value>Description :
|
||||
|
||||
(At runtime, the labels' text will be replaced with the application's assembly information.
|
||||
Customize the application's assembly information in the Application pane of Project Designer.)</value>
|
||||
</data>
|
||||
</root>
|
26
PasswordChanger1C/AboutBox.vb
Normal file
26
PasswordChanger1C/AboutBox.vb
Normal file
@ -0,0 +1,26 @@
|
||||
Public NotInheritable Class AboutBox
|
||||
|
||||
Private Sub AboutBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
' Set the title of the form.
|
||||
Dim ApplicationTitle As String
|
||||
If My.Application.Info.Title <> "" Then
|
||||
ApplicationTitle = My.Application.Info.Title
|
||||
Else
|
||||
ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
|
||||
End If
|
||||
Me.Text = String.Format("About {0}", ApplicationTitle)
|
||||
' Initialize all of the text displayed on the About Box.
|
||||
' TODO: Customize the application's assembly information in the "Application" pane of the project
|
||||
' properties dialog (under the "Project" menu).
|
||||
Me.LabelProductName.Text = My.Application.Info.ProductName
|
||||
Me.LabelVersion.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
|
||||
Me.LabelCopyright.Text = My.Application.Info.Copyright
|
||||
Me.LabelCompanyName.Text = My.Application.Info.CompanyName
|
||||
Me.TextBoxDescription.Text = My.Application.Info.Description
|
||||
End Sub
|
||||
|
||||
Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
End Class
|
725
PasswordChanger1C/AccessFunctions.vb
Normal file
725
PasswordChanger1C/AccessFunctions.vb
Normal file
@ -0,0 +1,725 @@
|
||||
Imports System.IO
|
||||
Imports System.Security.Cryptography
|
||||
Imports System.Text
|
||||
|
||||
Module AccessFunctions
|
||||
|
||||
|
||||
Structure StorageTable
|
||||
Dim Number As Integer
|
||||
Dim DataBlocks As List(Of Integer)
|
||||
End Structure
|
||||
|
||||
Structure TableFields
|
||||
Dim Name As String
|
||||
Dim Length As Integer
|
||||
Dim Precision As Integer
|
||||
Dim Size As Integer
|
||||
Dim Offset As Integer
|
||||
Dim Type As String
|
||||
Dim CouldBeNull As Integer
|
||||
|
||||
|
||||
End Structure
|
||||
|
||||
Structure PageParams
|
||||
Dim TableName As String
|
||||
Dim Sign As String
|
||||
Dim length As Integer
|
||||
Dim version1 As Integer
|
||||
Dim version2 As Integer
|
||||
Dim version As Integer
|
||||
Dim PagesNum As List(Of Integer)
|
||||
Dim StorageTables As List(Of StorageTable)
|
||||
Dim Fields As List(Of TableFields)
|
||||
Dim RowSize As Integer
|
||||
Dim Records As List(Of Dictionary(Of String, Object))
|
||||
Dim BlockData As Integer
|
||||
Dim BlockBlob As Integer
|
||||
End Structure
|
||||
|
||||
Function ReadPage(reader As BinaryReader, Bytes() As Byte) As PageParams
|
||||
|
||||
Dim Page = New PageParams
|
||||
Page.Sign = Encoding.UTF8.GetString(Bytes, 0, 8)
|
||||
Page.length = BitConverter.ToInt32(Bytes, 8)
|
||||
Page.version1 = BitConverter.ToInt32(Bytes, 12)
|
||||
Page.version2 = BitConverter.ToInt32(Bytes, 16)
|
||||
Page.version = BitConverter.ToInt32(Bytes, 20)
|
||||
|
||||
Dim Index = 24
|
||||
Page.PagesNum = New List(Of Integer)
|
||||
Page.StorageTables = New List(Of StorageTable)
|
||||
|
||||
'Получим номера страниц размещения
|
||||
While True
|
||||
Dim blk = BitConverter.ToInt32(Bytes, Index)
|
||||
If blk = 0 Then
|
||||
Exit While
|
||||
End If
|
||||
Page.PagesNum.Add(blk)
|
||||
Index = Index + 4
|
||||
If Index > 4092 Then
|
||||
Exit While
|
||||
End If
|
||||
End While
|
||||
|
||||
For Each blk In Page.PagesNum
|
||||
|
||||
Dim StorageTables = New StorageTable
|
||||
StorageTables.Number = blk
|
||||
StorageTables.DataBlocks = New List(Of Integer)
|
||||
|
||||
Dim bytesBlock() As Byte = New Byte(4096 - 1) {}
|
||||
reader.BaseStream.Seek(blk * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock, 0, 4096)
|
||||
|
||||
Dim NumberOfPages = BitConverter.ToInt32(bytesBlock, 0)
|
||||
|
||||
Index = 4
|
||||
|
||||
For ii = 0 To NumberOfPages - 1
|
||||
Dim dp = BitConverter.ToInt32(bytesBlock, Index)
|
||||
If dp = 0 Then
|
||||
Exit For
|
||||
End If
|
||||
StorageTables.DataBlocks.Add(dp)
|
||||
Index = Index + 4
|
||||
If Index > 4092 Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Page.StorageTables.Add(StorageTables)
|
||||
|
||||
Next
|
||||
|
||||
Return Page
|
||||
|
||||
End Function
|
||||
|
||||
Function ReadInfoBase(FileName As String, TableNameUsers As String) As PageParams
|
||||
|
||||
Dim fs As New FileStream(FileName, FileMode.Open, FileAccess.Read, FileShare.Read)
|
||||
Dim reader As New BinaryReader(fs)
|
||||
'Dim bytes() As Byte = New Byte(fs.Length) {}
|
||||
|
||||
Dim bytesBlock() As Byte = New Byte(4096 - 1) {}
|
||||
reader.Read(bytesBlock, 0, 4096)
|
||||
|
||||
Dim Str = Encoding.UTF8.GetString(bytesBlock, 0, 8)
|
||||
Dim DBSize = BitConverter.ToInt32(bytesBlock, 8)
|
||||
|
||||
'второй блок пропускаем
|
||||
reader.Read(bytesBlock, 0, 4096)
|
||||
|
||||
'корневой блок
|
||||
reader.Read(bytesBlock, 0, 4096)
|
||||
|
||||
Dim Param = ReadPage(reader, bytesBlock)
|
||||
|
||||
Dim Language = ""
|
||||
Dim NumberOfTables = 0
|
||||
Dim HeaderTables As List(Of Integer) = New List(Of Integer)
|
||||
|
||||
Dim i = 0
|
||||
For Each ST In Param.StorageTables
|
||||
|
||||
Dim bytesStorageTables() As Byte = New Byte(4096 * ST.DataBlocks.Count - 1) {}
|
||||
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
reader.BaseStream.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
reader.Read(TempBlock, 0, 4096)
|
||||
For Each ElemByte In TempBlock
|
||||
bytesStorageTables(i) = ElemByte
|
||||
i = i + 1
|
||||
Next
|
||||
Next
|
||||
|
||||
Language = Encoding.UTF8.GetString(bytesStorageTables, 0, 32)
|
||||
NumberOfTables = BitConverter.ToInt32(bytesStorageTables, 32)
|
||||
|
||||
For i = 0 To NumberOfTables - 1
|
||||
Dim PageNum = BitConverter.ToInt32(bytesStorageTables, 36 + i * 4)
|
||||
HeaderTables.Add(PageNum)
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
'прочитаем первые страницы таблиц
|
||||
For Each HT In HeaderTables
|
||||
|
||||
|
||||
|
||||
reader.BaseStream.Seek(HT * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock, 0, 4096)
|
||||
|
||||
Dim PageHeader = ReadPage(reader, bytesBlock)
|
||||
PageHeader.Fields = New List(Of TableFields)
|
||||
|
||||
For Each ST In PageHeader.StorageTables
|
||||
For Each DB In ST.DataBlocks
|
||||
|
||||
ReadDataFromTable(reader, DB, bytesBlock, PageHeader, TableNameUsers)
|
||||
|
||||
If PageHeader.TableName = TableNameUsers Then
|
||||
reader.Close()
|
||||
Return PageHeader
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
reader.Close()
|
||||
Return Nothing
|
||||
|
||||
End Function
|
||||
|
||||
Sub WritePasswordIntoInfoBaseRepo(FileName As String, PageHeader As PageParams, UserID As Byte(), NewPass As String, Offset As Integer)
|
||||
|
||||
Dim fs As New FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Write)
|
||||
Dim reader As New BinaryReader(fs)
|
||||
|
||||
Dim bytesBlock1() As Byte = New Byte(4096 - 1) {}
|
||||
reader.BaseStream.Seek(PageHeader.BlockData * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock1, 0, 4096)
|
||||
|
||||
Dim DataPage = ReadPage(reader, bytesBlock1)
|
||||
|
||||
Dim TotalBlocks = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
TotalBlocks = TotalBlocks + ST.DataBlocks.Count
|
||||
Next
|
||||
|
||||
Dim bytesBlock() As Byte = New Byte(4096 * TotalBlocks - 1) {}
|
||||
|
||||
Dim i = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
reader.BaseStream.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
reader.Read(TempBlock, 0, 4096)
|
||||
For Each ElemByte In TempBlock
|
||||
bytesBlock(i) = ElemByte
|
||||
i = i + 1
|
||||
Next
|
||||
Next
|
||||
Next
|
||||
reader.Close()
|
||||
|
||||
Dim Test = Encoding.Unicode.GetString(bytesBlock, Offset, 64)
|
||||
Dim Pass = Encoding.Unicode.GetBytes(NewPass)
|
||||
|
||||
For i = 0 To Pass.Length - 1
|
||||
bytesBlock(i + Offset) = Pass(i)
|
||||
Next
|
||||
|
||||
fs = New FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Write)
|
||||
Dim writer As New BinaryWriter(fs)
|
||||
|
||||
i = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
For j = 0 To 4095
|
||||
TempBlock(j) = bytesBlock(i)
|
||||
i = i + 1
|
||||
Next
|
||||
|
||||
writer.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
writer.Write(TempBlock)
|
||||
|
||||
Next
|
||||
Next
|
||||
|
||||
|
||||
writer.Close()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub WritePasswordIntoInfoBaseIB(FileName As String, PageHeader As PageParams, UserID As Byte(), NewData As Byte(), DataPos As Integer, DataSize As Integer)
|
||||
|
||||
Dim fs As New FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Write)
|
||||
Dim reader As New BinaryReader(fs)
|
||||
|
||||
Dim bytesBlock1() As Byte = New Byte(4096 - 1) {}
|
||||
reader.BaseStream.Seek(PageHeader.BlockBlob * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock1, 0, 4096)
|
||||
|
||||
Dim DataPage = ReadPage(reader, bytesBlock1)
|
||||
|
||||
Dim TotalBlocks = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
TotalBlocks = TotalBlocks + ST.DataBlocks.Count
|
||||
Next
|
||||
|
||||
Dim bytesBlock() As Byte = New Byte(4096 * TotalBlocks - 1) {}
|
||||
|
||||
Dim i = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
reader.BaseStream.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
reader.Read(TempBlock, 0, 4096)
|
||||
For Each ElemByte In TempBlock
|
||||
bytesBlock(i) = ElemByte
|
||||
i = i + 1
|
||||
Next
|
||||
Next
|
||||
Next
|
||||
reader.Close()
|
||||
|
||||
|
||||
|
||||
Dim NextBlock = DataPos
|
||||
Dim Pos = DataPos * 256
|
||||
'Dim ByteBlock() As Byte = New Byte(DataSize - 1) {}
|
||||
i = 0
|
||||
While NextBlock > 0
|
||||
|
||||
NextBlock = BitConverter.ToInt32(bytesBlock, Pos)
|
||||
Dim BlockSize = BitConverter.ToInt16(bytesBlock, Pos + 4)
|
||||
|
||||
For j = 0 To BlockSize - 1
|
||||
bytesBlock(Pos + 6 + j) = NewData(i)
|
||||
i = i + 1
|
||||
Next
|
||||
Pos = NextBlock * 256
|
||||
End While
|
||||
|
||||
'Return ByteBlock
|
||||
|
||||
|
||||
|
||||
'Dim Test = Encoding.Unicode.GetString(bytesBlock, Offset, 64)
|
||||
'Dim Pass = Encoding.Unicode.GetBytes(NewPass)
|
||||
|
||||
'For i = 0 To Pass.Length - 1
|
||||
' bytesBlock(i + Offset) = Pass(i)
|
||||
'Next
|
||||
|
||||
fs = New FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.Write)
|
||||
Dim writer As New BinaryWriter(fs)
|
||||
|
||||
i = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
For j = 0 To 4095
|
||||
TempBlock(j) = bytesBlock(i)
|
||||
i = i + 1
|
||||
Next
|
||||
|
||||
writer.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
writer.Write(TempBlock)
|
||||
|
||||
Next
|
||||
Next
|
||||
|
||||
|
||||
writer.Close()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub ReadDataFromTable(reader As BinaryReader, DB As Integer, bytesBlock() As Byte, ByRef PageHeader As PageParams, TableNameUsers As String)
|
||||
|
||||
reader.BaseStream.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock, 0, 4096)
|
||||
|
||||
Dim TableDescr = ""
|
||||
For i = 0 To Math.Min(PageHeader.length - 1, 4096 / 2 - 1)
|
||||
TableDescr = TableDescr + Encoding.UTF8.GetString(bytesBlock, i * 2, 1)
|
||||
Next
|
||||
|
||||
Dim ParsedString = ParserServices.ParsesClass.ParseString(TableDescr)
|
||||
|
||||
Dim RowSize = 1
|
||||
|
||||
Dim TableName = ParsedString(0)(0).ToString.Replace("""", "").ToUpper
|
||||
|
||||
PageHeader.TableName = TableName
|
||||
|
||||
If Not TableName = TableNameUsers Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each a In ParsedString(0)(2)
|
||||
If TypeOf a Is String Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim Field = New TableFields
|
||||
Field.Name = a(0).ToString.Replace("""", "")
|
||||
Field.Type = a(1).ToString.Replace("""", "")
|
||||
Field.CouldBeNull = a(2)
|
||||
Field.Length = a(3)
|
||||
Field.Precision = a(4)
|
||||
|
||||
|
||||
Dim FieldSize = Field.CouldBeNull
|
||||
|
||||
If Field.Type = "B" Then
|
||||
FieldSize = FieldSize + Field.Length
|
||||
ElseIf Field.Type = "L"
|
||||
FieldSize = FieldSize + 1
|
||||
ElseIf Field.Type = "N"
|
||||
FieldSize = FieldSize + Math.Truncate((Field.Length + 2) / 2)
|
||||
ElseIf Field.Type = "NC"
|
||||
FieldSize = FieldSize + Field.Length * 2
|
||||
ElseIf Field.Type = "NVC"
|
||||
FieldSize = FieldSize + Field.Length * 2 + 2
|
||||
ElseIf Field.Type = "RV"
|
||||
FieldSize = FieldSize + 16
|
||||
ElseIf Field.Type = "I"
|
||||
FieldSize = FieldSize + 8
|
||||
ElseIf Field.Type = "T"
|
||||
FieldSize = FieldSize + 8
|
||||
ElseIf Field.Type = "DT"
|
||||
FieldSize = FieldSize + 7
|
||||
ElseIf Field.Type = "NT"
|
||||
FieldSize = FieldSize + 8
|
||||
End If
|
||||
|
||||
Field.Size = FieldSize
|
||||
Field.Offset = RowSize
|
||||
|
||||
RowSize = RowSize + FieldSize
|
||||
|
||||
PageHeader.Fields.Add(Field)
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
PageHeader.RowSize = RowSize
|
||||
|
||||
'{"Files",118,119,96}
|
||||
'Данные, BLOB, индексы
|
||||
|
||||
Dim BlockData = Convert.ToInt32(ParsedString(0)(5)(1))
|
||||
Dim BlockBlob = Convert.ToInt32(ParsedString(0)(5)(2))
|
||||
|
||||
PageHeader.BlockData = BlockData
|
||||
PageHeader.BlockBlob = BlockBlob
|
||||
|
||||
ReadDataPage(PageHeader, TableName, BlockData, BlockBlob, reader)
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Function GetBlodData(BlockBlob As Integer, Dataindex As Integer, Datasize As Integer, reader As BinaryReader) As Byte()
|
||||
|
||||
Dim bytesBlock1() As Byte = New Byte(4096 - 1) {}
|
||||
reader.BaseStream.Seek(BlockBlob * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock1, 0, 4096)
|
||||
|
||||
Dim DataPage = ReadPage(reader, bytesBlock1)
|
||||
|
||||
Dim TotalBlocks = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
TotalBlocks = TotalBlocks + ST.DataBlocks.Count
|
||||
Next
|
||||
|
||||
Dim bytesBlock() As Byte = New Byte(4096 * TotalBlocks - 1) {}
|
||||
|
||||
Dim i = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
reader.BaseStream.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
reader.Read(TempBlock, 0, 4096)
|
||||
For Each ElemByte In TempBlock
|
||||
bytesBlock(i) = ElemByte
|
||||
i = i + 1
|
||||
Next
|
||||
Next
|
||||
Next
|
||||
|
||||
Dim NextBlock = Dataindex
|
||||
Dim Pos = Dataindex * 256
|
||||
Dim ByteBlock() As Byte = New Byte(Datasize - 1) {}
|
||||
i = 0
|
||||
While NextBlock > 0
|
||||
|
||||
NextBlock = BitConverter.ToInt32(bytesBlock, Pos)
|
||||
Dim BlockSize = BitConverter.ToInt16(bytesBlock, Pos + 4)
|
||||
|
||||
'Dim ByteTemp() As Byte = New Byte(BlockSize - 1) {}
|
||||
|
||||
For j = 0 To BlockSize - 1
|
||||
ByteBlock(i) = bytesBlock(Pos + 6 + j)
|
||||
i = i + 1
|
||||
Next
|
||||
|
||||
Pos = NextBlock * 256
|
||||
|
||||
End While
|
||||
|
||||
Return ByteBlock
|
||||
|
||||
End Function
|
||||
|
||||
Sub ReadDataPage(ByRef PageHeader As PageParams, table As String, block As Integer, BlockBlob As Integer, reader As BinaryReader)
|
||||
|
||||
PageHeader.Records = New List(Of Dictionary(Of String, Object))
|
||||
|
||||
Dim bytesBlock1() As Byte = New Byte(4096 - 1) {}
|
||||
reader.BaseStream.Seek(block * 4096, SeekOrigin.Begin)
|
||||
reader.Read(bytesBlock1, 0, 4096)
|
||||
|
||||
Dim DataPage = ReadPage(reader, bytesBlock1)
|
||||
|
||||
Dim TotalBlocks = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
TotalBlocks = TotalBlocks + ST.DataBlocks.Count
|
||||
Next
|
||||
|
||||
Dim bytesBlock() As Byte = New Byte(4096 * TotalBlocks - 1) {}
|
||||
|
||||
Dim i = 0
|
||||
For Each ST In DataPage.StorageTables
|
||||
|
||||
For Each DB In ST.DataBlocks
|
||||
Dim TempBlock() As Byte = New Byte(4095) {}
|
||||
reader.BaseStream.Seek(DB * 4096, SeekOrigin.Begin)
|
||||
reader.Read(TempBlock, 0, 4096)
|
||||
For Each ElemByte In TempBlock
|
||||
bytesBlock(i) = ElemByte
|
||||
i = i + 1
|
||||
Next
|
||||
Next
|
||||
Next
|
||||
|
||||
Dim Size = DataPage.length / PageHeader.RowSize
|
||||
|
||||
For i = 1 To Size - 1
|
||||
|
||||
Dim Pos = PageHeader.RowSize * i
|
||||
|
||||
Dim FieldStartPos = 0
|
||||
|
||||
Dim IsDeleted = BitConverter.ToBoolean(bytesBlock, Pos)
|
||||
|
||||
Dim Dict = New Dictionary(Of String, Object)
|
||||
Dict.Add("IsDeleted", IsDeleted)
|
||||
|
||||
For Each Field In PageHeader.Fields
|
||||
|
||||
Dim Pos1 = Pos + 1 + FieldStartPos
|
||||
|
||||
If Field.Name = "PASSWORD" Then
|
||||
Dict.Add("OFFSET_PASSWORD", Pos1)
|
||||
End If
|
||||
If Field.Name = "DATA" Then
|
||||
Dict.Add("DATA_POS", BitConverter.ToInt32(bytesBlock, Pos1))
|
||||
Dict.Add("DATA_SIZE", BitConverter.ToInt32(bytesBlock, Pos1 + 4))
|
||||
End If
|
||||
|
||||
Dim BytesVal = Nothing
|
||||
|
||||
If Field.Type = "B" Then
|
||||
|
||||
Dim Strguid = Convert.ToBase64String(bytesBlock, Pos1 + Field.CouldBeNull, Field.Size - Field.CouldBeNull)
|
||||
|
||||
BytesVal = Convert.FromBase64String(Strguid)
|
||||
|
||||
'Dim G = Convert.
|
||||
|
||||
ElseIf Field.Type = "L" Then
|
||||
|
||||
BytesVal = BitConverter.ToBoolean(bytesBlock, Pos1 + Field.CouldBeNull)
|
||||
|
||||
ElseIf Field.Type = "DT" Then
|
||||
|
||||
Dim BytesDate(6) As Byte ' 7 байт
|
||||
For AA = 0 To 6
|
||||
BytesDate(AA) = Convert.ToString(bytesBlock(Pos1 + AA), 16)
|
||||
Next
|
||||
|
||||
Try
|
||||
BytesVal = New DateTime(BytesDate(0) * 100 + BytesDate(1),
|
||||
BytesDate(2),
|
||||
BytesDate(3),
|
||||
BytesDate(4),
|
||||
BytesDate(5),
|
||||
BytesDate(6))
|
||||
Catch ex As Exception
|
||||
BytesVal = ""
|
||||
End Try
|
||||
|
||||
|
||||
ElseIf Field.Type = "I" Then
|
||||
'двоичные данные неограниченной длины
|
||||
'в рамках хранилища 8.3.6 их быть не должно
|
||||
|
||||
|
||||
Dim DataPos = BitConverter.ToInt32(bytesBlock, Pos1)
|
||||
Dim DataSize = BitConverter.ToInt32(bytesBlock, Pos1 + 4)
|
||||
|
||||
Dim BytesValTemp = GetBlodData(BlockBlob, DataPos, DataSize, reader)
|
||||
|
||||
Dim DataKey() As Byte = New Byte(0) {}
|
||||
Dim DataKeySize As Integer = 0
|
||||
|
||||
BytesVal = DecodePasswordStructure(BytesValTemp, DataKeySize, DataKey)
|
||||
|
||||
Dict.Add("DATA_KEYSIZE", DataKeySize)
|
||||
Dict.Add("DATA_KEY", DataKey)
|
||||
|
||||
ElseIf Field.Type = "NT" Then
|
||||
'Строка неограниченной длины
|
||||
BytesVal = "" 'TODO
|
||||
ElseIf Field.Type = "N" Then
|
||||
'число
|
||||
BytesVal = 0
|
||||
|
||||
Dim StrNumber = ""
|
||||
For AA = 0 To Field.Size - 1
|
||||
Dim character = Convert.ToString(bytesBlock(Pos1 + AA), 16)
|
||||
StrNumber = StrNumber + IIf(character.Length = 1, "0", "") + character
|
||||
Next
|
||||
|
||||
Dim FirstSimbol = StrNumber.Substring(0, 1)
|
||||
|
||||
StrNumber = StrNumber.Substring(1, Field.Length)
|
||||
|
||||
If String.IsNullOrEmpty(StrNumber) Then
|
||||
BytesVal = 0
|
||||
Else
|
||||
|
||||
BytesVal = Convert.ToInt32(StrNumber) / IIf(Field.Precision > 0, (Field.Precision * 10), 1)
|
||||
|
||||
If FirstSimbol = "0" Then
|
||||
BytesVal = BytesVal * (-1)
|
||||
End If
|
||||
End If
|
||||
|
||||
ElseIf Field.Type = "NVC" Then
|
||||
'Строка переменной длины
|
||||
Dim BytesStr(1) As Byte
|
||||
For AA = 0 To 1
|
||||
BytesStr(AA) = bytesBlock(Pos1 + AA + Field.CouldBeNull)
|
||||
Next
|
||||
|
||||
Dim L = Math.Min(Field.Size, (BytesStr(0) + BytesStr(1) * 256) * 2)
|
||||
|
||||
BytesVal = Encoding.Unicode.GetString(bytesBlock, Pos1 + 2 + Field.CouldBeNull, L).Trim ' was L- 2
|
||||
|
||||
ElseIf Field.Type = "NC" Then
|
||||
'строка фиксированной длины
|
||||
BytesVal = Encoding.Unicode.GetString(bytesBlock, Pos1, Field.Size)
|
||||
|
||||
End If
|
||||
|
||||
Dict.Add(Field.Name, BytesVal)
|
||||
|
||||
FieldStartPos = FieldStartPos + Field.Size
|
||||
|
||||
Next
|
||||
|
||||
PageHeader.Records.Add(Dict)
|
||||
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Function DecodePasswordStructure(bytes_Input As Byte(), ByRef KeySize As Integer, ByRef KeyData As Byte()) As String
|
||||
|
||||
Dim Base = Convert.ToInt16(bytes_Input(0), 10)
|
||||
|
||||
KeySize = Base
|
||||
KeyData = New Byte(Base - 1) {}
|
||||
For a = 1 To Base
|
||||
KeyData(a - 1) = bytes_Input(a)
|
||||
Next
|
||||
|
||||
Dim i = Base + 1
|
||||
Dim j = 1
|
||||
Dim MaxI = bytes_Input.Length
|
||||
|
||||
Dim BytesResult() As Byte = New Byte(MaxI - Base - 1) {}
|
||||
|
||||
While i < MaxI
|
||||
If j > Base Then
|
||||
j = 1
|
||||
End If
|
||||
|
||||
Dim AA = Convert.ToInt16(bytes_Input(i), 10)
|
||||
Dim BB = Convert.ToInt16(bytes_Input(j), 10)
|
||||
Dim CC = AA Xor BB ' 239 for first
|
||||
|
||||
BytesResult(i - Base - 1) = CC
|
||||
|
||||
i = i + 1
|
||||
j = j + 1
|
||||
|
||||
End While
|
||||
|
||||
Return Encoding.UTF8.GetString(BytesResult)
|
||||
|
||||
End Function
|
||||
|
||||
Function EncodePasswordStructure(Str As String, ByVal KeySize As Integer, ByVal KeyData As Byte()) As Byte()
|
||||
|
||||
Dim bytes_Input = Encoding.UTF8.GetBytes(Str)
|
||||
|
||||
Dim Base = KeySize
|
||||
|
||||
Dim BytesResult() As Byte = New Byte(bytes_Input.Length + Base - 1) {}
|
||||
BytesResult(0) = Base
|
||||
For ii = 1 To Base
|
||||
BytesResult(ii) = KeyData(ii - 1)
|
||||
Next
|
||||
|
||||
Dim MaxI = bytes_Input.Length - 1
|
||||
Dim i = 1
|
||||
Dim j = 1
|
||||
|
||||
While i <= MaxI
|
||||
If j > Base Then
|
||||
j = 1
|
||||
End If
|
||||
|
||||
Dim AA = Convert.ToInt16(bytes_Input(i - 1), 10)
|
||||
Dim BB = Convert.ToInt16(BytesResult(j), 10)
|
||||
|
||||
BytesResult(i + Base) = AA Xor BB
|
||||
|
||||
i = i + 1
|
||||
j = j + 1
|
||||
|
||||
End While
|
||||
|
||||
Return BytesResult
|
||||
|
||||
End Function
|
||||
|
||||
Public Function EncryptStringSHA1(ByVal Str As String) As String
|
||||
|
||||
Dim sha As New SHA1CryptoServiceProvider ' declare sha as a new SHA1CryptoServiceProvider
|
||||
Dim bytesToHash() As Byte ' and here is a byte variable
|
||||
|
||||
bytesToHash = System.Text.Encoding.UTF8.GetBytes(Str) ' covert the password into ASCII code
|
||||
|
||||
bytesToHash = sha.ComputeHash(bytesToHash) ' this is where the magic starts and the encryption begins
|
||||
|
||||
Return Convert.ToBase64String(bytesToHash)
|
||||
|
||||
Dim result As String = ""
|
||||
|
||||
For Each b As Byte In bytesToHash
|
||||
result += b.ToString("x2")
|
||||
Next
|
||||
|
||||
Return result
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Module
|
602
PasswordChanger1C/Form1.Designer.vb
generated
Normal file
602
PasswordChanger1C/Form1.Designer.vb
generated
Normal file
@ -0,0 +1,602 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||
Partial Class MainForm
|
||||
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(MainForm))
|
||||
Me.Button6 = New System.Windows.Forms.Button()
|
||||
Me.FileIB = New System.Windows.Forms.TextBox()
|
||||
Me.OpenFileDialog = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.ButtonGetUsers = New System.Windows.Forms.Button()
|
||||
Me.ListViewUsers = New System.Windows.Forms.ListView()
|
||||
Me.UserGUID = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.UserName = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.UserDescr = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.UserPassHash = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.UserAdmRole = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ConnectionString = New System.Windows.Forms.TextBox()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.Repo1C = New System.Windows.Forms.TextBox()
|
||||
Me.ButtonRepo = New System.Windows.Forms.Button()
|
||||
Me.OpenFileDialogRepo = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.ButtonGetRepoUsers = New System.Windows.Forms.Button()
|
||||
Me.ButtonSetRepoPassword = New System.Windows.Forms.Button()
|
||||
Me.TabControl1 = New System.Windows.Forms.TabControl()
|
||||
Me.TabPage1 = New System.Windows.Forms.TabPage()
|
||||
Me.NewPassword = New System.Windows.Forms.TextBox()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.TextBox3 = New System.Windows.Forms.TextBox()
|
||||
Me.ButtonChangePwdFileDB = New System.Windows.Forms.Button()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.TabPage2 = New System.Windows.Forms.TabPage()
|
||||
Me.TextBox2 = New System.Windows.Forms.TextBox()
|
||||
Me.ButtonChangePassSQL = New System.Windows.Forms.Button()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.NewPassSQL = New System.Windows.Forms.TextBox()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
Me.SQLUserList = New System.Windows.Forms.ListView()
|
||||
Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.ColumnHeader5 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.TabPage3 = New System.Windows.Forms.TabPage()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.RepoUserList = New System.Windows.Forms.ListView()
|
||||
Me.RepoUserGUID = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.RepoUserName = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.RepoHasPwd = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.RepoAdmin = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
|
||||
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.LinkLabel2 = New System.Windows.Forms.LinkLabel()
|
||||
Me.TabControl1.SuspendLayout()
|
||||
Me.TabPage1.SuspendLayout()
|
||||
Me.TabPage2.SuspendLayout()
|
||||
Me.TabPage3.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'Button6
|
||||
'
|
||||
Me.Button6.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.Button6.Location = New System.Drawing.Point(454, 23)
|
||||
Me.Button6.Name = "Button6"
|
||||
Me.Button6.Size = New System.Drawing.Size(95, 23)
|
||||
Me.Button6.TabIndex = 11
|
||||
Me.Button6.Text = "Выбрать файл"
|
||||
Me.Button6.UseVisualStyleBackColor = True
|
||||
'
|
||||
'FileIB
|
||||
'
|
||||
Me.FileIB.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.FileIB.Location = New System.Drawing.Point(9, 25)
|
||||
Me.FileIB.Name = "FileIB"
|
||||
Me.FileIB.Size = New System.Drawing.Size(443, 20)
|
||||
Me.FileIB.TabIndex = 9
|
||||
'
|
||||
'OpenFileDialog
|
||||
'
|
||||
Me.OpenFileDialog.Filter = "1C DB files|*.1cd"
|
||||
Me.OpenFileDialog.RestoreDirectory = True
|
||||
Me.OpenFileDialog.Title = "Выберите файл информационной базы 1С"
|
||||
'
|
||||
'ButtonGetUsers
|
||||
'
|
||||
Me.ButtonGetUsers.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ButtonGetUsers.Location = New System.Drawing.Point(551, 23)
|
||||
Me.ButtonGetUsers.Name = "ButtonGetUsers"
|
||||
Me.ButtonGetUsers.Size = New System.Drawing.Size(183, 23)
|
||||
Me.ButtonGetUsers.TabIndex = 12
|
||||
Me.ButtonGetUsers.Text = "Получить список пользователей"
|
||||
Me.ButtonGetUsers.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ListViewUsers
|
||||
'
|
||||
Me.ListViewUsers.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ListViewUsers.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.UserGUID, Me.UserName, Me.UserDescr, Me.UserPassHash, Me.UserAdmRole})
|
||||
Me.ListViewUsers.FullRowSelect = True
|
||||
Me.ListViewUsers.Location = New System.Drawing.Point(9, 50)
|
||||
Me.ListViewUsers.Name = "ListViewUsers"
|
||||
Me.ListViewUsers.Size = New System.Drawing.Size(723, 320)
|
||||
Me.ListViewUsers.TabIndex = 14
|
||||
Me.ListViewUsers.UseCompatibleStateImageBehavior = False
|
||||
Me.ListViewUsers.View = System.Windows.Forms.View.Details
|
||||
'
|
||||
'UserGUID
|
||||
'
|
||||
Me.UserGUID.Text = "GUID"
|
||||
Me.UserGUID.Width = 158
|
||||
'
|
||||
'UserName
|
||||
'
|
||||
Me.UserName.Text = "Имя"
|
||||
Me.UserName.Width = 164
|
||||
'
|
||||
'UserDescr
|
||||
'
|
||||
Me.UserDescr.Text = "Полное имя"
|
||||
Me.UserDescr.Width = 147
|
||||
'
|
||||
'UserPassHash
|
||||
'
|
||||
Me.UserPassHash.Text = "Хеш пароля"
|
||||
Me.UserPassHash.Width = 164
|
||||
'
|
||||
'UserAdmRole
|
||||
'
|
||||
Me.UserAdmRole.Text = "Адм.роль"
|
||||
Me.UserAdmRole.Width = 66
|
||||
'
|
||||
'ConnectionString
|
||||
'
|
||||
Me.ConnectionString.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ConnectionString.Location = New System.Drawing.Point(9, 25)
|
||||
Me.ConnectionString.Name = "ConnectionString"
|
||||
Me.ConnectionString.Size = New System.Drawing.Size(552, 20)
|
||||
Me.ConnectionString.TabIndex = 9
|
||||
Me.ConnectionString.Text = "Data Source=MSSQL1;Server=SERVER;Integrated Security=true;Database=DATABASE"
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.Button2.Location = New System.Drawing.Point(563, 23)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(172, 23)
|
||||
Me.Button2.TabIndex = 12
|
||||
Me.Button2.Text = "Получить пользователей"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label4.Location = New System.Drawing.Point(12, 6)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(265, 16)
|
||||
Me.Label4.TabIndex = 10
|
||||
Me.Label4.Text = "Файл хранилища конфигурации 1С"
|
||||
'
|
||||
'Repo1C
|
||||
'
|
||||
Me.Repo1C.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.Repo1C.Location = New System.Drawing.Point(9, 25)
|
||||
Me.Repo1C.Name = "Repo1C"
|
||||
Me.Repo1C.Size = New System.Drawing.Size(434, 20)
|
||||
Me.Repo1C.TabIndex = 9
|
||||
'
|
||||
'ButtonRepo
|
||||
'
|
||||
Me.ButtonRepo.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ButtonRepo.Location = New System.Drawing.Point(445, 23)
|
||||
Me.ButtonRepo.Name = "ButtonRepo"
|
||||
Me.ButtonRepo.Size = New System.Drawing.Size(98, 23)
|
||||
Me.ButtonRepo.TabIndex = 11
|
||||
Me.ButtonRepo.Text = "Выбрать файл"
|
||||
Me.ButtonRepo.UseVisualStyleBackColor = True
|
||||
'
|
||||
'OpenFileDialogRepo
|
||||
'
|
||||
Me.OpenFileDialogRepo.FileName = "OpenFileDialogRepo"
|
||||
Me.OpenFileDialogRepo.Filter = "1C DB files|*.1cd"
|
||||
Me.OpenFileDialogRepo.Title = "Выберите файл хранилища 1С"
|
||||
'
|
||||
'ButtonGetRepoUsers
|
||||
'
|
||||
Me.ButtonGetRepoUsers.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ButtonGetRepoUsers.Location = New System.Drawing.Point(543, 23)
|
||||
Me.ButtonGetRepoUsers.Name = "ButtonGetRepoUsers"
|
||||
Me.ButtonGetRepoUsers.Size = New System.Drawing.Size(192, 23)
|
||||
Me.ButtonGetRepoUsers.TabIndex = 12
|
||||
Me.ButtonGetRepoUsers.Text = "Получить список пользователей"
|
||||
Me.ButtonGetRepoUsers.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ButtonSetRepoPassword
|
||||
'
|
||||
Me.ButtonSetRepoPassword.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ButtonSetRepoPassword.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.ButtonSetRepoPassword.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(0, Byte), Integer))
|
||||
Me.ButtonSetRepoPassword.Location = New System.Drawing.Point(443, 372)
|
||||
Me.ButtonSetRepoPassword.Name = "ButtonSetRepoPassword"
|
||||
Me.ButtonSetRepoPassword.Size = New System.Drawing.Size(289, 51)
|
||||
Me.ButtonSetRepoPassword.TabIndex = 16
|
||||
Me.ButtonSetRepoPassword.Text = "Установить выбранным пользователям пустой пароль в хранилище"
|
||||
Me.ButtonSetRepoPassword.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TabControl1
|
||||
'
|
||||
Me.TabControl1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage1)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage2)
|
||||
Me.TabControl1.Controls.Add(Me.TabPage3)
|
||||
Me.TabControl1.Location = New System.Drawing.Point(4, 4)
|
||||
Me.TabControl1.Name = "TabControl1"
|
||||
Me.TabControl1.SelectedIndex = 0
|
||||
Me.TabControl1.Size = New System.Drawing.Size(746, 455)
|
||||
Me.TabControl1.TabIndex = 17
|
||||
'
|
||||
'TabPage1
|
||||
'
|
||||
Me.TabPage1.Controls.Add(Me.NewPassword)
|
||||
Me.TabPage1.Controls.Add(Me.Label2)
|
||||
Me.TabPage1.Controls.Add(Me.TextBox3)
|
||||
Me.TabPage1.Controls.Add(Me.ButtonChangePwdFileDB)
|
||||
Me.TabPage1.Controls.Add(Me.Label1)
|
||||
Me.TabPage1.Controls.Add(Me.ListViewUsers)
|
||||
Me.TabPage1.Controls.Add(Me.FileIB)
|
||||
Me.TabPage1.Controls.Add(Me.Button6)
|
||||
Me.TabPage1.Controls.Add(Me.ButtonGetUsers)
|
||||
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage1.Name = "TabPage1"
|
||||
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage1.Size = New System.Drawing.Size(738, 429)
|
||||
Me.TabPage1.TabIndex = 0
|
||||
Me.TabPage1.Text = "Файловая ИБ"
|
||||
Me.TabPage1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'NewPassword
|
||||
'
|
||||
Me.NewPassword.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.NewPassword.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.NewPassword.Location = New System.Drawing.Point(128, 402)
|
||||
Me.NewPassword.Name = "NewPassword"
|
||||
Me.NewPassword.Size = New System.Drawing.Size(144, 22)
|
||||
Me.NewPassword.TabIndex = 24
|
||||
Me.NewPassword.Text = "12345"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label2.Location = New System.Drawing.Point(9, 404)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(113, 16)
|
||||
Me.Label2.TabIndex = 25
|
||||
Me.Label2.Text = "Новый пароль"
|
||||
'
|
||||
'TextBox3
|
||||
'
|
||||
Me.TextBox3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TextBox3.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.TextBox3.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.TextBox3.Location = New System.Drawing.Point(9, 372)
|
||||
Me.TextBox3.Multiline = True
|
||||
Me.TextBox3.Name = "TextBox3"
|
||||
Me.TextBox3.Size = New System.Drawing.Size(431, 29)
|
||||
Me.TextBox3.TabIndex = 23
|
||||
Me.TextBox3.Text = "Файл информационной базы не должен быть открыт никакими другими приложениями."
|
||||
'
|
||||
'ButtonChangePwdFileDB
|
||||
'
|
||||
Me.ButtonChangePwdFileDB.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ButtonChangePwdFileDB.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.ButtonChangePwdFileDB.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(0, Byte), Integer))
|
||||
Me.ButtonChangePwdFileDB.Location = New System.Drawing.Point(443, 373)
|
||||
Me.ButtonChangePwdFileDB.Name = "ButtonChangePwdFileDB"
|
||||
Me.ButtonChangePwdFileDB.Size = New System.Drawing.Size(289, 51)
|
||||
Me.ButtonChangePwdFileDB.TabIndex = 22
|
||||
Me.ButtonChangePwdFileDB.Text = "Установить выбранным пользователям указанный пароль"
|
||||
Me.ButtonChangePwdFileDB.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label1.Location = New System.Drawing.Point(10, 6)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(244, 16)
|
||||
Me.Label1.TabIndex = 20
|
||||
Me.Label1.Text = "Файл информационной базы 1С"
|
||||
'
|
||||
'TabPage2
|
||||
'
|
||||
Me.TabPage2.Controls.Add(Me.TextBox2)
|
||||
Me.TabPage2.Controls.Add(Me.ButtonChangePassSQL)
|
||||
Me.TabPage2.Controls.Add(Me.Label6)
|
||||
Me.TabPage2.Controls.Add(Me.NewPassSQL)
|
||||
Me.TabPage2.Controls.Add(Me.Label5)
|
||||
Me.TabPage2.Controls.Add(Me.ConnectionString)
|
||||
Me.TabPage2.Controls.Add(Me.Button2)
|
||||
Me.TabPage2.Controls.Add(Me.SQLUserList)
|
||||
Me.TabPage2.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage2.Name = "TabPage2"
|
||||
Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage2.Size = New System.Drawing.Size(738, 429)
|
||||
Me.TabPage2.TabIndex = 1
|
||||
Me.TabPage2.Text = "Клиент-серверная ИБ (MSSQL)"
|
||||
Me.TabPage2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TextBox2
|
||||
'
|
||||
Me.TextBox2.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.TextBox2.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.TextBox2.Location = New System.Drawing.Point(9, 372)
|
||||
Me.TextBox2.Multiline = True
|
||||
Me.TextBox2.Name = "TextBox2"
|
||||
Me.TextBox2.Size = New System.Drawing.Size(428, 24)
|
||||
Me.TextBox2.TabIndex = 22
|
||||
Me.TextBox2.Text = "Монопольного режима доступа к базе не требуется"
|
||||
'
|
||||
'ButtonChangePassSQL
|
||||
'
|
||||
Me.ButtonChangePassSQL.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.ButtonChangePassSQL.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.ButtonChangePassSQL.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(0, Byte), Integer))
|
||||
Me.ButtonChangePassSQL.Location = New System.Drawing.Point(443, 372)
|
||||
Me.ButtonChangePassSQL.Name = "ButtonChangePassSQL"
|
||||
Me.ButtonChangePassSQL.Size = New System.Drawing.Size(289, 51)
|
||||
Me.ButtonChangePassSQL.TabIndex = 21
|
||||
Me.ButtonChangePassSQL.Text = "Установить выбранным пользователям указанный пароль"
|
||||
Me.ButtonChangePassSQL.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label6.Location = New System.Drawing.Point(10, 6)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(293, 16)
|
||||
Me.Label6.TabIndex = 19
|
||||
Me.Label6.Text = "Строка соединения с базой данных 1С"
|
||||
'
|
||||
'NewPassSQL
|
||||
'
|
||||
Me.NewPassSQL.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.NewPassSQL.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.NewPassSQL.Location = New System.Drawing.Point(128, 401)
|
||||
Me.NewPassSQL.Name = "NewPassSQL"
|
||||
Me.NewPassSQL.Size = New System.Drawing.Size(144, 22)
|
||||
Me.NewPassSQL.TabIndex = 17
|
||||
Me.NewPassSQL.Text = "12345"
|
||||
'
|
||||
'Label5
|
||||
'
|
||||
Me.Label5.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.Label5.AutoSize = True
|
||||
Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.Label5.Location = New System.Drawing.Point(9, 403)
|
||||
Me.Label5.Name = "Label5"
|
||||
Me.Label5.Size = New System.Drawing.Size(113, 16)
|
||||
Me.Label5.TabIndex = 18
|
||||
Me.Label5.Text = "Новый пароль"
|
||||
'
|
||||
'SQLUserList
|
||||
'
|
||||
Me.SQLUserList.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.SQLUserList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader3, Me.ColumnHeader4, Me.ColumnHeader5})
|
||||
Me.SQLUserList.FullRowSelect = True
|
||||
Me.SQLUserList.Location = New System.Drawing.Point(9, 50)
|
||||
Me.SQLUserList.Name = "SQLUserList"
|
||||
Me.SQLUserList.Size = New System.Drawing.Size(723, 319)
|
||||
Me.SQLUserList.TabIndex = 20
|
||||
Me.SQLUserList.UseCompatibleStateImageBehavior = False
|
||||
Me.SQLUserList.View = System.Windows.Forms.View.Details
|
||||
'
|
||||
'ColumnHeader1
|
||||
'
|
||||
Me.ColumnHeader1.Text = "GUID"
|
||||
Me.ColumnHeader1.Width = 158
|
||||
'
|
||||
'ColumnHeader2
|
||||
'
|
||||
Me.ColumnHeader2.Text = "Имя"
|
||||
Me.ColumnHeader2.Width = 164
|
||||
'
|
||||
'ColumnHeader3
|
||||
'
|
||||
Me.ColumnHeader3.Text = "Полное имя"
|
||||
Me.ColumnHeader3.Width = 147
|
||||
'
|
||||
'ColumnHeader4
|
||||
'
|
||||
Me.ColumnHeader4.Text = "Хеш пароля"
|
||||
Me.ColumnHeader4.Width = 164
|
||||
'
|
||||
'ColumnHeader5
|
||||
'
|
||||
Me.ColumnHeader5.Text = "Адм.роль"
|
||||
Me.ColumnHeader5.Width = 66
|
||||
'
|
||||
'TabPage3
|
||||
'
|
||||
Me.TabPage3.Controls.Add(Me.TextBox1)
|
||||
Me.TabPage3.Controls.Add(Me.RepoUserList)
|
||||
Me.TabPage3.Controls.Add(Me.Label4)
|
||||
Me.TabPage3.Controls.Add(Me.ButtonSetRepoPassword)
|
||||
Me.TabPage3.Controls.Add(Me.ButtonGetRepoUsers)
|
||||
Me.TabPage3.Controls.Add(Me.Repo1C)
|
||||
Me.TabPage3.Controls.Add(Me.ButtonRepo)
|
||||
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
|
||||
Me.TabPage3.Name = "TabPage3"
|
||||
Me.TabPage3.Padding = New System.Windows.Forms.Padding(3)
|
||||
Me.TabPage3.Size = New System.Drawing.Size(738, 429)
|
||||
Me.TabPage3.TabIndex = 2
|
||||
Me.TabPage3.Text = "Хранилище конфигурации"
|
||||
Me.TabPage3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.TextBox1.Font = New System.Drawing.Font("Arial", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.TextBox1.Location = New System.Drawing.Point(6, 372)
|
||||
Me.TextBox1.Multiline = True
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.Size = New System.Drawing.Size(431, 50)
|
||||
Me.TextBox1.TabIndex = 18
|
||||
Me.TextBox1.Text = "Файл хранилища конфигурации не должен быть открыт никакими другими приложениями."
|
||||
'
|
||||
'RepoUserList
|
||||
'
|
||||
Me.RepoUserList.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.RepoUserList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.RepoUserGUID, Me.RepoUserName, Me.RepoHasPwd, Me.RepoAdmin})
|
||||
Me.RepoUserList.FullRowSelect = True
|
||||
Me.RepoUserList.Location = New System.Drawing.Point(9, 50)
|
||||
Me.RepoUserList.Name = "RepoUserList"
|
||||
Me.RepoUserList.Size = New System.Drawing.Size(723, 319)
|
||||
Me.RepoUserList.TabIndex = 17
|
||||
Me.RepoUserList.UseCompatibleStateImageBehavior = False
|
||||
Me.RepoUserList.View = System.Windows.Forms.View.Details
|
||||
'
|
||||
'RepoUserGUID
|
||||
'
|
||||
Me.RepoUserGUID.Text = "GUID"
|
||||
Me.RepoUserGUID.Width = 221
|
||||
'
|
||||
'RepoUserName
|
||||
'
|
||||
Me.RepoUserName.Text = "Имя"
|
||||
Me.RepoUserName.Width = 183
|
||||
'
|
||||
'RepoHasPwd
|
||||
'
|
||||
Me.RepoHasPwd.Text = "Пароль установлен"
|
||||
Me.RepoHasPwd.Width = 134
|
||||
'
|
||||
'RepoAdmin
|
||||
'
|
||||
Me.RepoAdmin.Text = "Это администратор"
|
||||
Me.RepoAdmin.Width = 115
|
||||
'
|
||||
'LinkLabel1
|
||||
'
|
||||
Me.LinkLabel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.LinkLabel1.AutoSize = True
|
||||
Me.LinkLabel1.Location = New System.Drawing.Point(230, 460)
|
||||
Me.LinkLabel1.Name = "LinkLabel1"
|
||||
Me.LinkLabel1.Size = New System.Drawing.Size(166, 13)
|
||||
Me.LinkLabel1.TabIndex = 18
|
||||
Me.LinkLabel1.TabStop = True
|
||||
Me.LinkLabel1.Text = "http://infostart.ru/public/398166/"
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(3, 460)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(227, 13)
|
||||
Me.Label3.TabIndex = 19
|
||||
Me.Label3.Text = "Страница приложения для обратной связи:"
|
||||
'
|
||||
'LinkLabel2
|
||||
'
|
||||
Me.LinkLabel2.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.LinkLabel2.AutoSize = True
|
||||
Me.LinkLabel2.Location = New System.Drawing.Point(649, 460)
|
||||
Me.LinkLabel2.Name = "LinkLabel2"
|
||||
Me.LinkLabel2.Size = New System.Drawing.Size(102, 13)
|
||||
Me.LinkLabel2.TabIndex = 18
|
||||
Me.LinkLabel2.TabStop = True
|
||||
Me.LinkLabel2.Text = "© Aleksey.Bochkov"
|
||||
'
|
||||
'MainForm
|
||||
'
|
||||
Me.AccessibleRole = System.Windows.Forms.AccessibleRole.Application
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(752, 475)
|
||||
Me.Controls.Add(Me.Label3)
|
||||
Me.Controls.Add(Me.LinkLabel2)
|
||||
Me.Controls.Add(Me.LinkLabel1)
|
||||
Me.Controls.Add(Me.TabControl1)
|
||||
Me.HelpButton = True
|
||||
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
|
||||
Me.Name = "MainForm"
|
||||
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
|
||||
Me.Text = "Изменение паролей для информационных баз и хранилища 1С"
|
||||
Me.TabControl1.ResumeLayout(False)
|
||||
Me.TabPage1.ResumeLayout(False)
|
||||
Me.TabPage1.PerformLayout()
|
||||
Me.TabPage2.ResumeLayout(False)
|
||||
Me.TabPage2.PerformLayout()
|
||||
Me.TabPage3.ResumeLayout(False)
|
||||
Me.TabPage3.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents Button6 As Button
|
||||
Friend WithEvents FileIB As TextBox
|
||||
Friend WithEvents OpenFileDialog As OpenFileDialog
|
||||
Friend WithEvents ButtonGetUsers As Button
|
||||
Friend WithEvents ListViewUsers As ListView
|
||||
Friend WithEvents UserGUID As ColumnHeader
|
||||
Friend WithEvents UserName As ColumnHeader
|
||||
Friend WithEvents UserDescr As ColumnHeader
|
||||
Friend WithEvents UserPassHash As ColumnHeader
|
||||
Friend WithEvents ConnectionString As TextBox
|
||||
Friend WithEvents Button2 As Button
|
||||
Friend WithEvents UserAdmRole As ColumnHeader
|
||||
Friend WithEvents Label4 As Label
|
||||
Friend WithEvents Repo1C As TextBox
|
||||
Friend WithEvents ButtonRepo As Button
|
||||
Friend WithEvents OpenFileDialogRepo As OpenFileDialog
|
||||
Friend WithEvents ButtonGetRepoUsers As Button
|
||||
Friend WithEvents ButtonSetRepoPassword As Button
|
||||
Friend WithEvents TabControl1 As TabControl
|
||||
Friend WithEvents TabPage1 As TabPage
|
||||
Friend WithEvents TabPage2 As TabPage
|
||||
Friend WithEvents TabPage3 As TabPage
|
||||
Friend WithEvents RepoUserList As ListView
|
||||
Friend WithEvents RepoUserGUID As ColumnHeader
|
||||
Friend WithEvents RepoUserName As ColumnHeader
|
||||
Friend WithEvents RepoHasPwd As ColumnHeader
|
||||
Friend WithEvents RepoAdmin As ColumnHeader
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents Label6 As Label
|
||||
Friend WithEvents NewPassSQL As TextBox
|
||||
Friend WithEvents Label5 As Label
|
||||
Friend WithEvents TextBox2 As TextBox
|
||||
Friend WithEvents ButtonChangePassSQL As Button
|
||||
Friend WithEvents SQLUserList As ListView
|
||||
Friend WithEvents ColumnHeader1 As ColumnHeader
|
||||
Friend WithEvents ColumnHeader2 As ColumnHeader
|
||||
Friend WithEvents ColumnHeader3 As ColumnHeader
|
||||
Friend WithEvents ColumnHeader4 As ColumnHeader
|
||||
Friend WithEvents ColumnHeader5 As ColumnHeader
|
||||
Friend WithEvents ButtonChangePwdFileDB As Button
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents NewPassword As TextBox
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents TextBox3 As TextBox
|
||||
Friend WithEvents LinkLabel1 As LinkLabel
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents LinkLabel2 As LinkLabel
|
||||
End Class
|
558
PasswordChanger1C/Form1.resx
Normal file
558
PasswordChanger1C/Form1.resx
Normal file
@ -0,0 +1,558 @@
|
||||
<?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>
|
||||
<metadata name="Button6.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="FileIB.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="OpenFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonGetUsers.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ListViewUsers.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ConnectionString.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Button2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label4.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Repo1C.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonRepo.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="OpenFileDialogRepo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>152, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonGetRepoUsers.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonSetRepoPassword.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabControl1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabPage1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabPage2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabPage3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabPage1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NewPassword.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonChangePwdFileDB.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NewPassword.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonChangePwdFileDB.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabPage2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonChangePassSQL.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label6.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NewPassSQL.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label5.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SQLUserList.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ButtonChangePassSQL.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label6.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="NewPassSQL.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label5.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SQLUserList.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TabPage3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RepoUserList.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="TextBox1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="RepoUserList.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LinkLabel1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="Label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="LinkLabel2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<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>
|
||||
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEIAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD/////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////++////lv///ycAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA///////////h4vD/w8Th/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ
|
||||
4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ
|
||||
4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ
|
||||
4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnj/8jJ4//IyeP/yMnk/83O5v/u7vb/////////
|
||||
///////0////hv///yYAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////eXu8/wAAe/8HDIX/BwyF/wcM
|
||||
hf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcM
|
||||
hf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcM
|
||||
hf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wcMhf8HDIX/BwyF/wgM
|
||||
hf8QE4n/Q0ej/36AwP/e3+/////////////////q////NQAAAAAAAAAAAAAAAAAAAAD//////////4CC
|
||||
wv8EB4f/FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUY
|
||||
j/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUY
|
||||
j/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUYj/8VGI//FRiP/xUY
|
||||
j/8VGI//FRiP/xUYj/8VGI//FBeO/wwPiv8IDIj/KSuY/4KEw//n6PT//////////+////88AAAAAAAA
|
||||
AAAAAAAA//////////+AgsT/BAeL/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUY
|
||||
k/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUY
|
||||
k/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUY
|
||||
k/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8VGJP/FRiT/xUYk/8WGJP/FReT/xETkP8KDY7/MTOg/9LS
|
||||
6///////////7f///zMAAAAAAAAAAP//////////gYLI/wUHj/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYY
|
||||
l/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYY
|
||||
l/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYY
|
||||
l/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYYl/8WGJf/FhiX/xYY
|
||||
l/8WGJf/FhiY/w4Qk/8wM6T/zs/p///////////q////KAAAAAD//////////4GCyv8FB5T/Fhic/xYY
|
||||
nP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYY
|
||||
nP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYY
|
||||
nP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYY
|
||||
nP8WGJz/Fhic/xYYnP8WGJz/Fhic/xYYnP8WGJz/DhCX/zI0p//n5/X//////////5wAAAAA////////
|
||||
//+Bgsz/BgeZ/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcY
|
||||
oP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcY
|
||||
oP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcY
|
||||
oP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8XGKD/Fxig/xcYoP8MDZv/f4DM////
|
||||
////////////OP//////////goLO/wcHnf8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgY
|
||||
pP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgY
|
||||
pP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgY
|
||||
pP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgYpP8YGKT/GBik/xgY
|
||||
pP8YGKT/ExOj/yEiqP/Ly+v//////////5T//////////4KC0f8HB6L/GBip/xgYqf8YGKn/GBip/xgY
|
||||
qf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgY
|
||||
qf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgY
|
||||
qf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8YGKn/GBip/xgY
|
||||
qf8YGKn/GBip/xgYqf8YGKn/GBip/xgYqf8KCqP/fX3P///////////O//////////+CgtP/CQen/xkY
|
||||
rf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkY
|
||||
rf8ZGK3/GRit/xkYrf8WFaz/ExOr/xIRqv8QD6n/Dg2p/w0MqP8NC6j/DAuo/wwLqP8NC6j/DQyp/w8N
|
||||
qf8QD6n/EhGq/xMTq/8WFaz/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkY
|
||||
rf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/GRit/xkYrf8ZGK3/EhGq/zo6uf/n5/b/////////
|
||||
////////goLV/wkHqv8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkY
|
||||
sP8ZGLD/GRiw/xkXsP8XFq//Fxav/xkXsP8ZF7D/IiGz/zQ0uf9AQb3/S0zB/1RWxP9bXcj/YGLJ/2Nl
|
||||
yv9jZMr/YGHJ/1tcx/9TVMT/SkvA/z8/vf8yMbn/IyKz/xgXsP8ZGLD/GRiw/xkXsP8ZGLD/GRiw/xkY
|
||||
sP8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkYsP8ZGLD/GRiw/xkX
|
||||
sP8TE67/zc3u/////////////////4OC1/8KB67/Ghi0/xoYtP8aGLT/Ghi0/xoYtP8aGLT/Ghi0/xoY
|
||||
tP8aGLT/Ghi0/xoYtP8aGLT/Ghi0/xgWs/8WFLP/JiS4/ycmuP8WFLL/FxWz/3N00f/Dyev/0tnx/+Lq
|
||||
9v/u9vr/9Pz8//j//f/6//7/+v/+//j//f/z+/v/7fX6/+Ho9f/Q1vD/vMHq/56i4P80NLz/FROy/xMS
|
||||
sf8VE7L/ExKy/xgWs/8aGLT/Ghi0/xoYtP8aGLT/Ghi0/xoYtP8aGLT/Ghi0/xoYtP8aGLT/Ghi0/xoY
|
||||
tP8aGLT/Ghi0/xoYtP8aGLT/Dgyw/8rJ7v////////////////+Dg9j/Cgqx/xoatv8aGrb/Ghq2/xoa
|
||||
tv8aGrb/Ghq2/xoatv8aGrb/Ghq2/xoatv8aGrb/Ghq2/xgZtv8cHLf/dHjU/9HX8f/X3fL/cnTS/xoa
|
||||
tv+fpOH///////j//f/3//z/9v78//X+/P/1/fz/9P38//T9/P/1/fz/9v78//b//P/3//z/9//8//n/
|
||||
/f/z+vv/UFLI/xgatv9mac//kJLc/2Bjzf8bG7f/GRm2/xoatv8aGrb/Ghq2/xoatv8aGrb/Ghq2/xoa
|
||||
tv8aGrb/Ghq2/xoatv8aGrb/Ghq2/xoatv8aGrb/Ghq2/w4Osv/Jye7/////////////////g4PZ/wsL
|
||||
s/8bG7j/Gxu4/xsbuP8bG7j/Gxu4/xsbuP8bG7j/Gxu4/xsbuP8bG7j/Gxu4/xsbuP8VFbb/TE7I//L6
|
||||
+//5//3/+v/9/+nx+P9FRsT/k5fe//v//v/0/Pv/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//1/fz/6fD4/0VGxP9dYM3/8/v8///////v9/r/XWDN/xUVtv8aG7j/Gxu4/xsb
|
||||
uP8bG7j/Gxu4/xsbuP8bG7j/Gxu4/xsbuP8bG7j/Gxu4/xsbuP8bG7j/Gxu4/xsbuP8PD7T/ysrv////
|
||||
/////////////4OE2f8LDLP/Gxy4/xscuP8bHLj/Gxy4/xscuP8bHLj/Gxy4/xscuP8bHLj/Gxy4/xsc
|
||||
uP8bHLj/ExO1/4OI2f/6//7/8/v7//P7+//6//7/ZWjQ/5GW3f/7//7/9Pz7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9f38/+bu9/9JS8f/o6jj//7//v/0/Pv//f/+/7G2
|
||||
5/8jJLv/GBm3/xscuP8bHLj/Gxy4/xscuP8bHLj/Gxy4/xscuP8bHLj/Gxy4/xscuP8bHLj/Gxy4/xsc
|
||||
uP8bHLj/DxC0/8rK7/////////////////+DhNr/Cw21/xsduv8bHbr/Gx26/xsduv8bHbr/Gx26/xsd
|
||||
uv8bHbr/Gx26/xsduv8bHbr/Gx26/xITtv+coeH/+//9//P7+//z+/v/+P/9/2xw0/+Rl97/+//9//T8
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//X9/P/j6/b/UlXL/7nB
|
||||
6//9//7/8/v7//n//f/V2/L/Oz7E/xQVt/8bHbr/Gx26/xsduv8bHbr/Gx26/xsduv8bHbr/Gx26/xsd
|
||||
uv8bHbr/Gx26/xsduv8bHbr/Gx26/w8Rtv/Kyu//////////////////g4Xa/wsOtf8bHrr/Gx66/xse
|
||||
uv8bHrr/Gx66/xseuv8bHrr/Gx66/xseuv8bHrr/Gx66/xseuv8SE7f/pKrk//v//f/z+/v/8/v7//j/
|
||||
/f9xdtX/k5je//v//f/0/Pv/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//1/fz/4+r2/1pezv/AyOz//P/+//P7+//3//z/4+v2/0lNyf8SFLf/Gx66/xseuv8bHrr/Gx66/xse
|
||||
uv8bHrr/Gx66/xseuv8bHrr/Gx66/xseuv8bHrr/Gx66/xseuv8PErb/ysrv/////////////////4OG
|
||||
2/8LD7b/Gx+7/xsfu/8bH7v/Gx+7/xsfu/8bH7v/Gx+7/xsfu/8bH7v/Gx+7/xsfu/8bH7v/EhS4/6Sp
|
||||
5P/7//3/8/v7//P7+//4//3/cXbV/5OZ3//7//3/9Pz7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/9f38/+Pq9v9hZtD/xM3t//v//f/z+/v/9//8/+ry+P9OU8v/EhW4/xsf
|
||||
u/8bH7v/Gx+7/xsfu/8bH7v/Gx+7/xsfu/8bH7v/Gx+7/xsfu/8bH7v/Gx+7/xsfu/8bH7v/DxO3/8rL
|
||||
7/////////////////+Dhtv/CxC3/xsgvP8bILz/GyC8/xsgvP8bILz/GyC8/xsgvP8bILz/GyC8/xsg
|
||||
vP8bILz/GyC8/xIWuf+fpuP/+//9//P7+//z+/v/+P/9/3F31v+TmeD/+//9//T8+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//X9/P/i6vb/ZWvS/8jQ7//6//3/8/v7//f/
|
||||
/P/q8vn/TlTM/xIVuf8bILz/GyC8/xsgvP8bILz/GyC8/xsgvP8bILz/GyC8/xsgvP8bILz/GyC8/xsg
|
||||
vP8bILz/GyC8/w8TuP/Ky+//////////////////g4fb/wsRt/8bIbz/GyG8/xshvP8bIbz/GyG8/xsh
|
||||
vP8bIbz/GyG8/xshvP8bIbz/GyG8/xshvP8SF7n/n6fj//v//f/z+/v/8/v7//j//f9xeNb/k5rg//v/
|
||||
/f/0/Pv/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//1/fz/4ur2/2Zs
|
||||
0//J0e//+v/9//P7+//3//z/6vL5/05VzP8SFrn/GyG8/xshvP8bIbz/GyG8/xshvP8bIbz/GyG8/xsh
|
||||
vP8bIbz/GyG8/xshvP8bIbz/GyG8/xshvP8PFLj/ysvv/////////////////4SI3P8ME7j/HCO9/xwj
|
||||
vf8cI73/HCO9/xwjvf8cI73/HCO9/xwjvf8cI73/HCO9/xwjvf8cI73/Exm6/5+n5P/7//3/8/v7//P7
|
||||
+//4//3/cnnW/5Ob4P/6//3/9Pz7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/9f38/+Lq9v9mbtP/ydHv//r//f/z+/v/9//8/+ry+f9PVs3/Exm6/xwjvf8cI73/HCO9/xwj
|
||||
vf8cI73/HCO9/xwjvf8cI73/HCO9/xwjvf8cI73/HCO9/xwjvf8cI73/EBa5/8rL8P//////////////
|
||||
//+EiNz/DBO5/xwkvv8cJL7/HCS+/xwkvv8cJL7/HCS+/xwkvv8cJL7/HCS+/xwkvv8cJL7/HCS+/xMa
|
||||
u/+fp+T/+//9//P7+//z+/v/+P/8/3J61/+Tm+D/+v/9//T8+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//X9/P/i6vb/Zm7U/8nR7//6//3/8/v7//f//P/q8vj/T1fN/xMa
|
||||
u/8cJL7/HCS+/xwkvv8cJL7/HCS+/xwkvv8cJL7/HCS+/xwkvv8cJL7/HCS+/xwkvv8cJL7/HCS+/xAX
|
||||
uv/KzPD/////////////////hInc/wwUuf8cJb7/HCW+/xwlvv8cJb7/HCW+/xwlvv8cJb7/HCW+/xwl
|
||||
vv8cJb7/HCW+/xwlvv8TG7v/n6jk//v//f/z+/v/8/v7//j//P9yetf/k5vg//r//f/0/Pv/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//1/fz/4ur2/2Zv1P/J0e//+v/9//P7
|
||||
+//3//z/6vP4/09Yzf8TG7v/HCW+/xwlvv8cJb7/HCW+/xwlvv8cJb7/HCW+/xwlvv8cJb7/HCW+/xwl
|
||||
vv8cJb7/HCW+/xwlvv8QGLr/yszw/////////////////4SJ3f8MFbr/HCa//xwmv/8cJr//HCa//xwm
|
||||
v/8cJr//HCa//xwmv/8cJr//HCa//xwmv/8cJr//Exy8/5+p5P/7//3/8/v7//P7+//4//z/cnrY/5Oc
|
||||
4f/6//3/9Pz7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9f38/+Lq
|
||||
9v9mcNX/ydLw//r//f/z+/v/9//8/+ry+f9PWM7/Exy8/xwmv/8cJr//HCa//xwmv/8cJr//HCa//xwm
|
||||
v/8cJr//HCa//xwmv/8cJr//HCa//xwmv/8cJr//EBm7/8rM8P////////////////+Eit3/DBe6/xwn
|
||||
v/8cJ7//HCe//xwnv/8cJ7//HCe//xwnv/8cJ7//HCe//xwnv/8cJ7//HCe//xMdvP+fqeT/+//9//P7
|
||||
+//z+/v/+P/8/3J72P+TnOH/+v/9//T8+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//X9/P/i6vb/ZnDV/8nS8P/6//3/8/v7//f//P/q8vn/T1nO/xMdvP8cJ7//HCe//xwn
|
||||
v/8cJ7//HCe//xwnv/8cJ7//HCe//xwnv/8cJ7//HCe//xwnv/8cJ7//HCe//xAbu//KzPD/////////
|
||||
////////hIve/wwZu/8cKcD/HCnA/xwpwP8cKcD/HCnA/xwpwP8cKcD/HCnA/xwpwP8cKcD/HCnA/xwp
|
||||
wP8TH73/n6rl//v//f/z+/v/8/v7//j//P9we9j/kp3h//v//f/0/Pv/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//1/fz/4uv2/2Rw1f/J0vD/+v/9//P7+//3//z/6vP5/09b
|
||||
z/8TH73/HCnA/xwpwP8cKcD/HCnA/xwpwP8cKcD/HCnA/xwpwP8cKcD/HCnA/xwpwP8cKcD/HCnA/xwp
|
||||
wP8QHbz/ys3w/////////////////4SM3v8MG7z/HCvB/xwrwf8cK8H/HCvB/xwrwf8cK8H/HCvB/xwr
|
||||
wf8cK8H/HCvB/xwrwf8cK8H/EyG+/5+q5f/7//3/8/v7//P7+//4//z/bXrX/5ei4v/7//3/9Pz7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9f38/+Ps9/9mctb/x9Dw//v/
|
||||
/f/z+/v/9//8/+rz+f9PXND/EyG+/xwrwf8cK8H/HCvB/xwrwf8cK8H/HCvB/xwrwf8cK8H/HCvB/xwr
|
||||
wf8cK8H/HCvB/xwrwf8cK8H/EB+9/8rN8f////////////////+Ejd//DR29/x0twv8dLcL/HS3C/x0t
|
||||
wv8dLcL/HS3C/x0twv8dLcL/HS3C/x0twv8dLcL/HS3C/xMjv/+grOX/+//9//P7+//z+/v/9f38/7/J
|
||||
7f/S3PL/9v38//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//T8
|
||||
+//v9/r/vcnt/+Hp9v/2/fz/8/v7//f//P/r8/n/UF7Q/xMjv/8dLcL/HS3C/x0twv8dLcL/HS3C/x0t
|
||||
wv8dLcL/HS3C/x0twv8dLcL/HS3C/x0twv8dLcL/HS3C/xEhvv/KzvH/////////////////hI7f/w0e
|
||||
vf8dLsL/HS7C/x0uwv8dLsL/HS7C/x0uwv8dLsL/HS7C/x0uwv8dLsL/HS7C/x0uwv8TJL//oKzl//v/
|
||||
/f/z+/v/8/v7//P7+//5//3/9//8//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/9Pz7//n//f/1/fv/8/v7//P7+//3//z/6/P5/1Be0P8TJL//HS7C/x0u
|
||||
wv8dLsL/HS7C/x0uwv8dLsL/HS7C/x0uwv8dLsL/HS7C/x0uwv8dLsL/HS7C/x0uwv8RIr//ys7x////
|
||||
/////////////4SO3/8NH7//HS/D/x0vw/8dL8P/HS/D/x0vw/8dL8P/HS/D/x0vw/8dL8P/HS/D/x0v
|
||||
w/8dL8P/EyXA/6Cs5v/7//3/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9//8/+vz
|
||||
+f9QX9H/EyXA/x0vw/8dL8P/HS/D/x0vw/8dL8P/HS/D/x0vw/8dL8P/HS/D/x0vw/8dL8P/HS/D/x0v
|
||||
w/8dL8P/ESPA/8rO8f////////////////+Ej9//DSG//x0xw/8dMcP/HTHD/x0xw/8dMcP/HTHD/x0x
|
||||
w/8dMcP/HTHD/x0xw/8dMcP/HTHD/xMnwP+grOb/+//9//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//f//P/r8/n/UGHR/xMnwP8dMcP/HTHD/x0xw/8dMcP/HTHD/x0xw/8dMcP/HTHD/x0x
|
||||
w/8dMcP/HTHD/x0xw/8dMcP/HTHD/xElwP/Kz/H/////////////////hJDg/w0jwP8dM8T/HTPE/x0z
|
||||
xP8dM8T/HTPE/x0zxP8dM8T/HTPE/x0zxP8dM8T/HTPE/x0zxP8TKsH/oK3n//v//f/z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//2/vz/7vb6/1Rl0/8TKcH/HTPE/x0zxP8dM8T/HTPE/x0z
|
||||
xP8dM8T/HTPE/x0zxP8dM8T/HTPE/x0zxP8dM8T/HTPE/x0zxP8RJ8H/ys/x/////////////////4SR
|
||||
4P8NJsH/HTXF/x01xf8dNcX/HTXF/x01xf8dNcX/HTXF/x01xf8dNcX/HTXF/x01xf8dNcX/EyzC/6Cu
|
||||
5//7//3/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9v78//D5+/9WadT/EyrC/x01
|
||||
xf8dNcX/HTXF/x01xf8dNcX/HTXF/x01xf8dNcX/HTXF/x01xf8dNcX/HTXF/x01xf8dNcX/ESnC/8rQ
|
||||
8v////////////////+EkuD/DSfB/x02xf8dNsX/HTbF/x02xf8dNsX/HTbF/x02xf8dNsX/HTbF/x02
|
||||
xf8dNsX/HTbF/xMtw/+erOb/+v/9//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//X9
|
||||
/P/1/fv/W2/V/xIrwv8dNsX/HTbF/x02xf8dNsX/HTbF/x02xf8dNsX/HTbF/x02xf8dNsX/HTbF/x02
|
||||
xf8dNsX/HTbF/xEqwv/K0PL/////////////////hJLg/w0owf8eN8X/HjfH/x43x/8eN8f/HjfH/x43
|
||||
x/8eN8f/HjfH/x43x/8eN8f/HjfH/x43x/8ULsT/m6rl//r//f/z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//1/fv/9/78/11x1v8TLMP/HjfH/x43x/8eN8f/HjfH/x43x/8eN8f/HjfH/x43
|
||||
x/8eN8f/HjfH/x43x/8eN8f/HjfH/x43x/8SLMP/ytDy/////////////////46c5P8XNMT/HjrH/x05
|
||||
x/8dOcf/HjrH/x46x/8eOsf/HjrH/x46x/8eOsf/HjrH/x46x/8eOsf/FTLE/42f4//6//3/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9v78//L6+/9WbdX/Ey/D/x46x/8eOsf/HjrH/x46
|
||||
x/8eOsf/HjrH/x46x/8eOsf/HjrH/x46x/8eOsf/HjrH/x46x/8dOcf/ES3D/8rQ8v//////////////
|
||||
//+Ypub/MEvM/zZQzv8rR8v/Iz/J/x06yP8cOsj/HjvI/x47yP8eO8j/HjvI/x47yP8eO8j/HjvI/xg2
|
||||
xf9bc9b/9f38//T8+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//v//f/F0/H/Mk7N/xk2
|
||||
x/8eO8j/HjvI/x47yP8eO8j/HjvI/x47yP8eO8j/HjvI/x47yP8eO8j/HjvI/x07yP8cOsj/IDzI/xo4
|
||||
x//N1PP/////////////////l6Xm/zBOzP9BW9D/QFrQ/ztWz/8yT83/KUbL/yFAyf8ePMj/HTzI/x08
|
||||
yP8dPMj/HjzI/x49yP8cO8j/IkHJ/6q76v////7/+P/8//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/9f37//z/
|
||||
/f/q8/n/XHTX/xg4x/8ePMj/Hj3I/x49yP8ePcj/Hj3I/x49yP8ePcj/HTzI/x08yP8dPMj/HTzI/x49
|
||||
yP8lQ8r/LUrL/zhTzv8yT83/0tj0/////////////////5em5v8wT87/P1vR/z9b0f9AXNH/QFzR/0Bb
|
||||
0f87WND/M1HO/yxKzP8kQ8r/IEHK/x4+yf8cPcn/HT7J/xc5yP8xUM3/rr3r//H4+/////7////+////
|
||||
/v////7////+/////v////7////+/////v////7////+/////v////7////+/////v////7////+////
|
||||
/v////7////+//j//P/Y4/X/a4Pb/xg5yP8dPsn/Hj/J/x4+yf8ePsn/Hj7J/x0+yf8cPcn/HD3J/x8/
|
||||
yf8iQsr/J0bL/y9Ozf83VM//PlvR/0Bc0f9BXdH/NVPO/9LZ9P////////////////+Xp+b/MFHO/z9d
|
||||
0f8/XdH/P13R/z9d0f8/XdH/QF3R/0Be0f9AXtH/PVvR/zhX0P8zUs7/LEzM/yZIy/8hRMr/GTzI/yNG
|
||||
y/9eedj/hJvh/4ac4v+Fm+L/hZvi/4Wb4v+GnOL/hJrh/4GX4f9/leD/fpXg/36V4P9/luD/g5nh/4ac
|
||||
4v+GnOL/hpzi/4ac4v+GnOL/hpzi/4ac4v90jN7/OljP/xg7yP8cPsn/HUDJ/x1Ayf8dQMn/HUDJ/x9C
|
||||
yf8jRcv/KUrM/y9Pzf82VM//O1nQ/z9c0f9AXtH/QF3R/z9d0f8/XdH/P13R/zRUzv/S2fT/////////
|
||||
////////l6jn/zBSz/8/XtL/P17S/z9e0v8/XtL/P17S/z9e0v8/XtL/P17S/0Bf0v9BX9L/QWDS/0Bf
|
||||
0v8+XdL/PFvR/zhX0P8vUc7/JUjM/x9Cyv8aPsn/FzvI/xY6yP8VOsj/ETXF/xA2x/8rTMz/VHHW/2R+
|
||||
2v9eedn/Q2HS/xs/yf8LMcT/EDXF/xM3x/8TN8f/EzfH/xM4x/8TOcf/FTrI/xs/yf8hRMv/I0bL/ydK
|
||||
zf8sTc3/MFHP/zVVz/87WdH/PVzR/z9e0v9BX9L/QWDS/0Bf0v8/XtL/P17S/z9e0v8/XtL/P17S/z9e
|
||||
0v80Vc//0tn0/////////////////5eo5/8yU8//QF/S/0Bf0v9AX9L/QF/S/0Bf0v9AX9L/QF/S/0Bf
|
||||
0v9AX9L/QF/S/0Bf0v9AYNL/QWDS/0Fg0v9BYNL/QWDS/0Fg0v9AYNL/QF/S/z1d0v86W9D/NFXQ/0Jg
|
||||
0/+QpeT/1OD0//f++//7//3/+//9/+ny+f+4ye7/Y37a/y1Pzv8sTs3/MFHO/zFSz/8yVM//NFbP/zdX
|
||||
0P85WtH/PFzR/z9f0v9BYNL/QWDS/0Fg0v9BYNL/QWDS/0Fg0v9AYNL/QGDS/0Bf0v9AX9L/QF/S/0Bf
|
||||
0v9AX9L/QF/S/0Bf0v9AX9L/NVbP/9La9P////////////////+Xqef/MlXQ/0Bh0/9AYdP/QGHT/0Bh
|
||||
0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh
|
||||
0/9BYdP/O13S/1h12f/E0/H/+//9//n//f/z+/v/8/v7//P7+//1/fz//v/9//D3+v+Zruf/Q2PU/0Bg
|
||||
0/9CY9P/QmLT/0Ji0/9BYtP/QWLT/0Fh0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh
|
||||
0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/0Bh0/9AYdP/QGHT/zVY0P/S2vX/////////////////l6rn/zJW
|
||||
0P9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi
|
||||
0/9AYtP/QGLT/0Bi0/9AYtP/PmDT/0hp1f+/0PD//f/9//X8+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//4//z/9f38/5Sp5v89YNP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi
|
||||
0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/9AYtP/QGLT/0Bi0/81WdD/0tr1////
|
||||
/////////////5er6P8yWNH/QGTU/0Bk1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk
|
||||
1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk1P9AZNT/QGPU/zxf0v+OpuX/9//8//T8+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//f//P/p8/j/aYbd/ztg0/9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk
|
||||
1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk1P9AZNT/QGTU/0Bk
|
||||
1P9AZNT/NVvR/9Lb9f////////////////+Xq+j/MlnR/0Bl1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl
|
||||
1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/z1i0/9NcNf/0t/0//v/
|
||||
/P/z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//0+/v//P/9/7HD7f8/ZNP/P2TU/0Bl
|
||||
1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/0Bl
|
||||
1P9AZdT/QGXU/0Bl1P9AZdT/QGXU/zVc0v/S2/X/////////////////l6zo/zJb0f9AZ9T/QGfU/0Bn
|
||||
1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn
|
||||
1P85YdL/aYne/+jx+f/3//z/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//r/
|
||||
/f/W4/T/UnbY/ztj0/9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn
|
||||
1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P9AZ9T/QGfU/0Bn1P81XtL/0tv1/////////////////5et
|
||||
6P8yXdH/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo
|
||||
1P9AaNT/QGjU/0Bo1P9AaNT/OWLS/3aU4P/t9vr/9v78//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//4//z/4Oz3/2KE2/86Y9P/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo
|
||||
1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/QGjU/0Bo1P9AaNT/NV/S/9Lc
|
||||
9f////////////////+Xruj/Ml7R/0Bp1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp
|
||||
1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp1P9AadT/QGnU/zpk0/9oit3/5/H5//f+/P/z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/+f/8/9nl9v9Zfdn/PGbT/0Bp1P9AadT/QGnU/0Bp
|
||||
1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp1P9AadT/QGnU/0Bp
|
||||
1P9AadT/QGnU/zVg0v/S3PX/////////////////mK7o/zNg0v9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr
|
||||
1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f89aNT/THTY/9Hf
|
||||
9P/6//z/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//z//f/A0vH/RW7W/z9p
|
||||
1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr
|
||||
1f9Ba9X/QWvV/0Fr1f9Ba9X/QWvV/0Fr1f82YtP/09z1/////////////////5yy6f80YtL/QWzV/0Fs
|
||||
1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs
|
||||
1f9BbNX/QGvV/zxo1P+QrOb/+P78//P7+//z+/v/8/v7//P7+//z+/v/8/v7//P7+//z+/v/8/v7//T9
|
||||
+//z+/v/f57j/z1o1P9AbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs
|
||||
1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/QWzV/0Fs1f9BbNX/NmTT/9Pd9f//////////////
|
||||
//+2yO//PmrV/z9r1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft
|
||||
1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v8/atX/TXfY/8ra8//8//3/8/v7//P7+//z+/v/8/v7//P7
|
||||
+//z+/v/8/v7//T7+//9//3/u9Dw/0dx1/8/a9X/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft
|
||||
1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/0Ft1v9Bbdb/QW3W/zZl
|
||||
1P/T3fX//////////8n////47/P7/1d/2/88atX/QW7W/0Fu1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu
|
||||
1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/ztp1f9hiNz/1eP1//7/
|
||||
/f/0/Pv/8/v7//P7+//z+/v/8/v7//X8/P/9//3/zNzz/1eA2/88atX/QW7W/0Fu1v9Bbtb/QW7W/0Fu
|
||||
1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu1v9Bbtb/QW7W/0Fu
|
||||
1v9Bbtb/QW7W/0Fu1v82ZtT/0931//////8AAAAA////4f////+Nqef/OGnU/0Fw1v9BcNb/QXDW/0Fw
|
||||
1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw
|
||||
1v9BcNb/O2zV/1yE2/++0/D/9v38//v//f/4//z/+P/8//r//f/1/Pz/tszu/1aA2v87bNX/QXDW/0Fw
|
||||
1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw
|
||||
1v9BcNb/QXDW/0Fw1v9BcNb/QXDW/0Fw1v9BcNb/NmjU/9Pe9f//////////Af///6P/////5uz6/1J9
|
||||
2v88bdb/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw
|
||||
1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/87bNb/R3TY/3mb4/+wx+3/0+P1/9Hh9P+sxO3/dZni/0Ry
|
||||
1/89bdb/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw
|
||||
1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/0Fw1/9BcNf/QXDX/zZo1f/T3vb//////wAA
|
||||
AAD///8i////6P////+pv+3/N2rV/z9w1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx
|
||||
1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/z5v1v87bdb/PW7W/z9w
|
||||
1/8/cNf/PW7W/ztt1v8+b9f/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx
|
||||
1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx1/9Bcdf/QXHX/0Fx
|
||||
1/82adX/0972//////8AAAAAAAAAAP///47/////9ff9/4in5v83a9X/QHHX/0Fy1/9Bctf/QXLX/0Fy
|
||||
1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy
|
||||
1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy
|
||||
1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy1/9Bctf/QXLX/0Fy
|
||||
1/9Bctf/QXLX/0Fy1/9Bctf/NmrV/9Pe9v//////AAAAAAAAAAD///8F////qv/////9/v7/h6fn/zdr
|
||||
1v88b9f/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz
|
||||
2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz
|
||||
2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz
|
||||
2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/0Fz2P9Bc9j/QXPY/zZr1v/T3vb//////wAAAAAAAAAAAAAAAP//
|
||||
/wP///+1//////n6/v+ov+3/VoPc/zlt1v88b9f/P3LY/0Fz2P9CdNj/QnTY/0J02P9CdNj/QnTY/0J0
|
||||
2P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J0
|
||||
2P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J0
|
||||
2P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P9CdNj/QnTY/0J02P83bNb/09/2////
|
||||
//8AAAAAAAAAAAAAAAAAAAAA////B////6n//////////+/0/P+guuz/Wobd/0N22f81a9b/NGrV/zRr
|
||||
1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr
|
||||
1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr
|
||||
1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr1f80a9X/NGvV/zRr
|
||||
1f80a9X/KGLT/9Dd9f//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////hf///+X///////////X4
|
||||
/f/C0/P/nbbr/5iz6v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i0
|
||||
6v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i0
|
||||
6v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i06v+YtOr/mLTq/5i0
|
||||
6v+YtOr/mLTq/5i06v+YtOr/mLTq/5Ow6f/n7vr//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAD///8h////gf///93////x////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////8AAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8D////mf//////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////AAAAAAAAAH8AAAAAAAAAHwAAAAAAAAAPAAAAAAAAAAcAAAAAAAAAAwAAAAAAAAABAAAAAAAA
|
||||
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAwAAAAAAAAADAAAAAAAAAAOAA
|
||||
AAAAAAAA8AAAAAAAAAD8AAAAAAAAAP4AAAAAAAAA/4AAAAAAAAA=
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
488
PasswordChanger1C/Form1.vb
Normal file
488
PasswordChanger1C/Form1.vb
Normal file
@ -0,0 +1,488 @@
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.Security.Principal
|
||||
|
||||
Public Class MainForm
|
||||
|
||||
Dim TableParams As AccessFunctions.PageParams
|
||||
|
||||
Structure SQLUser
|
||||
Dim ID As Byte()
|
||||
Dim IDStr As String
|
||||
Dim Name As String
|
||||
Dim Descr As String
|
||||
Dim Data As Byte()
|
||||
Dim DataStr As String
|
||||
Dim PassHash As String
|
||||
Dim PassHash2 As String
|
||||
Dim AdmRole As String
|
||||
Dim KeySize As Integer
|
||||
Dim KeyData As Byte()
|
||||
End Structure
|
||||
|
||||
Dim SQLUsers As List(Of SQLUser) = New List(Of SQLUser)
|
||||
|
||||
Public Sub New()
|
||||
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
|
||||
FileIB.Text = "C:\Users\Alex\Desktop\1Cv8.1CD"
|
||||
|
||||
ConnectionString.Text = "Data Source=MSSQL1;Server=localhost;Integrated Security=true;Database=zup"
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Shared Function IAmTheAdministrator() As Boolean
|
||||
|
||||
If My.User.IsAuthenticated() Then
|
||||
|
||||
If My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator) Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Dim Rez = MsgBox("Похоже, что у Вас нет административных прав на этом компьютере. " + vbNewLine +
|
||||
"Уверены, что понимаете как использовать это приложение?", MsgBoxStyle.YesNo, "Ой, вот ведь незадача :)")
|
||||
|
||||
If Rez = MsgBoxResult.Yes Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
Return False
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
|
||||
|
||||
OpenFileDialog.FileName = FileIB.Text
|
||||
OpenFileDialog.ShowDialog()
|
||||
FileIB.Text = OpenFileDialog.FileName
|
||||
|
||||
GetUsers()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonGetUsers_Click(sender As Object, e As EventArgs) Handles ButtonGetUsers.Click
|
||||
GetUsers()
|
||||
End Sub
|
||||
|
||||
Sub GetUsers()
|
||||
'Try
|
||||
|
||||
ListViewUsers.Items.Clear()
|
||||
|
||||
Try
|
||||
|
||||
TableParams = AccessFunctions.ReadInfoBase(FileIB.Text, "V8USERS")
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
TableParams = Nothing
|
||||
|
||||
MsgBox("Ошибка при попытке чтения данных из файла информационной базы:" + vbNewLine + ex.Message, MsgBoxStyle.Critical, "Ошибка работы с файлом")
|
||||
|
||||
Exit Sub
|
||||
|
||||
End Try
|
||||
|
||||
If TableParams.Records Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each Row In TableParams.Records
|
||||
|
||||
|
||||
|
||||
If Row("NAME").ToString = "" Then
|
||||
Row.Add("UserGuidStr", "")
|
||||
Row.Add("UserPassHash", "")
|
||||
Row.Add("UserPassHash2", "")
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim AuthStructure = ParserServices.ParsesClass.ParseString(Row("DATA"))
|
||||
|
||||
Dim PassHash = AuthStructure(0)(11)
|
||||
|
||||
Dim G = New Guid(DirectCast(Row("ID"), Byte()))
|
||||
|
||||
Row.Add("UserGuidStr", G.ToString)
|
||||
|
||||
If AuthStructure(0)(7) = "0" Then
|
||||
Row.Add("UserPassHash", "")
|
||||
Row.Add("UserPassHash2", "")
|
||||
Else
|
||||
If AuthStructure(0).Count = 17 Then
|
||||
Row.Add("UserPassHash", AuthStructure(0)(11))
|
||||
Row.Add("UserPassHash2", AuthStructure(0)(12))
|
||||
Else
|
||||
Row.Add("UserPassHash", AuthStructure(0)(12))
|
||||
Row.Add("UserPassHash2", AuthStructure(0)(13))
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
Dim itemUserList = New ListViewItem(G.ToString)
|
||||
|
||||
itemUserList.SubItems.Add(Row("NAME").ToString)
|
||||
itemUserList.SubItems.Add(Row("DESCR").ToString)
|
||||
itemUserList.SubItems.Add(PassHash)
|
||||
itemUserList.SubItems.Add(IIf(Row("ADMROLE"), "Да", ""))
|
||||
|
||||
ListViewUsers.Items.Add(itemUserList)
|
||||
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||||
|
||||
GetUsersSQL()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub GetUsersSQL()
|
||||
|
||||
'*****************************************************
|
||||
SQLUsers.Clear()
|
||||
SQLUserList.Items.Clear()
|
||||
|
||||
Try
|
||||
Dim Connection = New SqlConnection(ConnectionString.Text)
|
||||
Connection.Open()
|
||||
|
||||
Dim command As New SqlCommand("SELECT [ID], [Name], [Descr], [Data], [AdmRole] FROM [dbo].[v8users] ORDER BY [Name]", Connection)
|
||||
|
||||
Dim reader = command.ExecuteReader()
|
||||
|
||||
While reader.Read
|
||||
|
||||
Dim SQLUser = New SQLUser
|
||||
SQLUser.ID = reader.GetSqlBinary(0)
|
||||
SQLUser.Name = reader.GetString(1)
|
||||
SQLUser.Descr = reader.GetString(2)
|
||||
SQLUser.Data = reader.GetSqlBinary(3)
|
||||
SQLUser.AdmRole = IIf(BitConverter.ToBoolean(reader.GetSqlBinary(4), 0), "Да", "")
|
||||
|
||||
SQLUser.IDStr = New Guid(SQLUser.ID).ToString
|
||||
SQLUser.DataStr = AccessFunctions.DecodePasswordStructure(SQLUser.Data, SQLUser.KeySize, SQLUser.KeyData)
|
||||
|
||||
Dim AuthStructure = ParserServices.ParsesClass.ParseString(SQLUser.DataStr)
|
||||
|
||||
If AuthStructure(0)(7) = "0" Then
|
||||
'нет авторизации 1С
|
||||
SQLUser.PassHash = "нет авторизации 1С"
|
||||
Else
|
||||
If AuthStructure(0).Count = 17 Then
|
||||
SQLUser.PassHash = AuthStructure(0)(11)
|
||||
SQLUser.PassHash2 = AuthStructure(0)(12)
|
||||
Else
|
||||
SQLUser.PassHash = AuthStructure(0)(12)
|
||||
SQLUser.PassHash2 = AuthStructure(0)(13)
|
||||
End If
|
||||
End If
|
||||
|
||||
SQLUsers.Add(SQLUser)
|
||||
|
||||
End While
|
||||
|
||||
reader.Close()
|
||||
Catch ex As Exception
|
||||
|
||||
MsgBox("Ошибка при попытке чтения пользователей из базы данных:" + vbNewLine + ex.Message, MsgBoxStyle.Critical, "Ошибка работы с базой данных")
|
||||
|
||||
Exit Sub
|
||||
|
||||
End Try
|
||||
|
||||
'*****************************************************
|
||||
|
||||
For Each Row In SQLUsers
|
||||
|
||||
If String.IsNullOrEmpty(Row.Name) Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim itemUserList = New ListViewItem(Row.IDStr)
|
||||
|
||||
itemUserList.SubItems.Add(Row.Name)
|
||||
itemUserList.SubItems.Add(Row.Descr)
|
||||
itemUserList.SubItems.Add(Row.PassHash)
|
||||
itemUserList.SubItems.Add(Row.AdmRole)
|
||||
|
||||
SQLUserList.Items.Add(itemUserList)
|
||||
|
||||
Next
|
||||
'*****************************************************
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonChangePassSQL_Click(sender As Object, e As EventArgs) Handles ButtonChangePassSQL.Click
|
||||
|
||||
If SQLUserList.SelectedItems.Count = 0 Then
|
||||
MsgBox("Не выделены строки с пользователями для установки нового пароля!", MsgBoxStyle.Information, "Не выделены строки с пользователями")
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim Rez = MsgBox("Внесение изменений в базу данных может привести к непредсказуемым последствиям, вплоть до полного разрушения базы. " + vbNewLine +
|
||||
"Продолжая операцию Вы осознаете это и понимаете, что восстановление будет возможно только из резервной копии." + vbNewLine +
|
||||
"Установить новый пароль выбранным пользователям?", MsgBoxStyle.YesNo, "Уверены?")
|
||||
|
||||
If Not Rez = MsgBoxResult.Yes Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Try
|
||||
|
||||
Dim Str = ""
|
||||
|
||||
Dim Connection = New SqlConnection(ConnectionString.Text)
|
||||
Connection.Open()
|
||||
|
||||
Dim command As New SqlCommand("UPDATE [dbo].[v8users] SET [Data] = @data WHERE [ID] = @user", Connection)
|
||||
|
||||
For Each item In SQLUserList.SelectedItems
|
||||
|
||||
For Each SQLUser In SQLUsers
|
||||
If SQLUser.IDStr = item.text _
|
||||
And Not SQLUser.PassHash = """""" Then
|
||||
|
||||
Dim a = 0
|
||||
|
||||
Str = Str + vbNewLine + SQLUser.Name
|
||||
|
||||
Dim NewHash = AccessFunctions.EncryptStringSHA1(NewPassSQL.Text.Trim)
|
||||
|
||||
Dim NewData = SQLUser.DataStr.Replace(SQLUser.PassHash, """" + NewHash + """")
|
||||
NewData = NewData.Replace(SQLUser.PassHash2, """" + NewHash + """")
|
||||
|
||||
Dim NewBytes = AccessFunctions.EncodePasswordStructure(NewData, SQLUser.KeySize, SQLUser.KeyData)
|
||||
|
||||
command.Parameters.Clear()
|
||||
command.Parameters.Add(New SqlParameter("@user", SqlDbType.Binary)).Value = SQLUser.ID
|
||||
command.Parameters.Add(New SqlParameter("@data", SqlDbType.Binary)).Value = NewBytes
|
||||
|
||||
command.ExecuteNonQuery()
|
||||
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
GetUsersSQL()
|
||||
|
||||
MsgBox("Успешно установлен пароль '" + NewPassSQL.Text.Trim + "' для пользователей:" + Str, MsgBoxStyle.Information, "Операция успешно выполнена")
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
MsgBox("Ошибка при попытке записи новых данных пользователей в базу данных:" + vbNewLine + ex.Message, MsgBoxStyle.Critical, "Ошибка работы с базой данных")
|
||||
|
||||
End Try
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonRepo_Click(sender As Object, e As EventArgs) Handles ButtonRepo.Click
|
||||
|
||||
OpenFileDialogRepo.FileName = Repo1C.Text
|
||||
OpenFileDialogRepo.ShowDialog()
|
||||
Repo1C.Text = OpenFileDialogRepo.FileName
|
||||
|
||||
GetUsersRepoUsers()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonGetRepoUsers_Click(sender As Object, e As EventArgs) Handles ButtonGetRepoUsers.Click
|
||||
|
||||
GetUsersRepoUsers()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub GetUsersRepoUsers()
|
||||
|
||||
|
||||
RepoUserList.Items.Clear()
|
||||
|
||||
Try
|
||||
|
||||
TableParams = AccessFunctions.ReadInfoBase(Repo1C.Text, "USERS")
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
TableParams = Nothing
|
||||
|
||||
MsgBox("Ошибка при попытке чтения данных из файла хранилища:" + vbNewLine + ex.Message, MsgBoxStyle.Critical, "Ошибка работы с файлом")
|
||||
|
||||
Exit Sub
|
||||
|
||||
End Try
|
||||
|
||||
If TableParams.Records Is Nothing Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
For Each Row In TableParams.Records
|
||||
|
||||
If Row("NAME").ToString = "" Then
|
||||
Continue For
|
||||
End If
|
||||
|
||||
Dim G = New Guid(DirectCast(Row("USERID"), Byte()))
|
||||
|
||||
Dim itemUserList = New ListViewItem(G.ToString)
|
||||
|
||||
Row.Add("UserGuidStr", G.ToString)
|
||||
|
||||
itemUserList.SubItems.Add(Row("NAME").ToString)
|
||||
If Row("PASSWORD").ToString = "d41d8cd98f00b204e9800998ecf8427e" Then
|
||||
itemUserList.SubItems.Add("<нет>")
|
||||
Else
|
||||
itemUserList.SubItems.Add("пароль установлен")
|
||||
End If
|
||||
|
||||
Dim RIGHTS = BitConverter.ToInt32(Row("RIGHTS"), 0)
|
||||
If RIGHTS = 65535 Or RIGHTS = 32773 Then
|
||||
itemUserList.SubItems.Add("Да")
|
||||
End If
|
||||
|
||||
RepoUserList.Items.Add(itemUserList)
|
||||
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonSetRepoPassword_Click(sender As Object, e As EventArgs) Handles ButtonSetRepoPassword.Click
|
||||
|
||||
If RepoUserList.SelectedItems.Count = 0 Then
|
||||
MsgBox("Не выделены строки с пользователями для сброса пароля!", MsgBoxStyle.Information, "Не выделены строки с пользователями")
|
||||
Else
|
||||
|
||||
Dim Rez = MsgBox("Внесение изменений в файл хранилища конфигурации может привести к непредсказуемым последствиям, вплоть до полного разрушения базы. " + vbNewLine +
|
||||
"Продолжая операцию Вы осознаете это и понимаете, что восстановление будет возможно только из резервной копии." + vbNewLine +
|
||||
"Установить пустой пароль выбранным пользователям?", MsgBoxStyle.YesNo, "Уверены?")
|
||||
|
||||
If Not Rez = MsgBoxResult.Yes Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Try
|
||||
|
||||
Dim Str = ""
|
||||
For Each item In RepoUserList.SelectedItems
|
||||
For Each Row In TableParams.Records
|
||||
If Row("UserGuidStr") = item.text Then
|
||||
|
||||
Str = Str + vbNewLine + Row("NAME").ToString
|
||||
|
||||
AccessFunctions.WritePasswordIntoInfoBaseRepo(Repo1C.Text, TableParams, DirectCast(Row("USERID"), Byte()), "d41d8cd98f00b204e9800998ecf8427e", Row("OFFSET_PASSWORD"))
|
||||
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
GetUsersRepoUsers()
|
||||
|
||||
MsgBox("Успешно установлены пустые пароли для пользователей:" + Str, MsgBoxStyle.Information, "Операция успешно выполнена")
|
||||
|
||||
Catch ex As Exception
|
||||
|
||||
MsgBox("Ошибка при попытке записи данных в файл хранилища:" + vbNewLine + ex.Message, MsgBoxStyle.Critical, "Ошибка работы с файлом")
|
||||
|
||||
End Try
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ButtonChangePwdFileDB_Click(sender As Object, e As EventArgs) Handles ButtonChangePwdFileDB.Click
|
||||
|
||||
If ListViewUsers.SelectedItems.Count = 0 Then
|
||||
MsgBox("Не выделены строки с пользователями для сброса пароля!", MsgBoxStyle.Information, "Не выделены строки с пользователями")
|
||||
Else
|
||||
|
||||
Dim Rez = MsgBox("Внесение изменений в файл информационной базы может привести к непредсказуемым последствиям, вплоть до полного разрушения базы. " + vbNewLine +
|
||||
"Продолжая операцию Вы осознаете это и понимаете, что восстановление будет возможно только из резервной копии." + vbNewLine +
|
||||
"Установить новый пароль выбранным пользователям?", MsgBoxStyle.YesNo, "Уверены?")
|
||||
|
||||
If Not Rez = MsgBoxResult.Yes Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Try
|
||||
|
||||
Dim Str = ""
|
||||
|
||||
For Each item In ListViewUsers.SelectedItems
|
||||
|
||||
For Each Row In TableParams.Records
|
||||
|
||||
If Row("UserGuidStr") = item.text Then
|
||||
|
||||
Str = Str + vbNewLine + Row("NAME").ToString
|
||||
|
||||
Dim NewHash = AccessFunctions.EncryptStringSHA1(NewPassword.Text.Trim)
|
||||
|
||||
Dim OldData = Row("DATA").ToString
|
||||
Dim NewData = OldData.Replace(Row("UserPassHash"), """" + NewHash + """")
|
||||
NewData = NewData.Replace(Row("UserPassHash2"), """" + NewHash + """")
|
||||
|
||||
Dim NewBytes = AccessFunctions.EncodePasswordStructure(NewData, Row("DATA_KEYSIZE"), Row("DATA_KEY"))
|
||||
|
||||
AccessFunctions.WritePasswordIntoInfoBaseIB(FileIB.Text, TableParams, DirectCast(Row("ID"), Byte()), NewBytes, Row("DATA_POS"), Row("DATA_SIZE"))
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
GetUsers()
|
||||
|
||||
MsgBox("Успешно установлен пароль '" + NewPassword.Text.Trim + "' для пользователей:" + Str, MsgBoxStyle.Information, "Операция успешно выполнена")
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Ошибка при попытке записи данных в файл информационной базы:" + vbNewLine + ex.Message, MsgBoxStyle.Critical, "Ошибка работы с файлом")
|
||||
End Try
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub MainForm_HelpButtonClicked(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles MyBase.HelpButtonClicked
|
||||
|
||||
Dim AboutForm = New AboutBox
|
||||
AboutForm.ShowDialog()
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub LinkLabel2_Click(sender As Object, e As EventArgs) Handles LinkLabel2.Click
|
||||
|
||||
Process.Start("http://infostart.ru/profile/15301/")
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub LinkLabel1_Click(sender As Object, e As EventArgs) Handles LinkLabel1.Click
|
||||
|
||||
Process.Start("http://infostart.ru/public/398166/")
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub MainForm_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
||||
|
||||
If Not IAmTheAdministrator() Then
|
||||
|
||||
ButtonChangePwdFileDB.Enabled = False
|
||||
ButtonChangePassSQL.Enabled = False
|
||||
ButtonSetRepoPassword.Enabled = False
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
38
PasswordChanger1C/My Project/Application.Designer.vb
generated
Normal file
38
PasswordChanger1C/My Project/Application.Designer.vb
generated
Normal file
@ -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.PasswordChanger1C.MainForm
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
11
PasswordChanger1C/My Project/Application.myapp
Normal file
11
PasswordChanger1C/My Project/Application.myapp
Normal file
@ -0,0 +1,11 @@
|
||||
<?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>Form1</MainForm>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<ApplicationType>0</ApplicationType>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
35
PasswordChanger1C/My Project/AssemblyInfo.vb
Normal file
35
PasswordChanger1C/My Project/AssemblyInfo.vb
Normal file
@ -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("Password changer for 1C:Enterprise")>
|
||||
<Assembly: AssemblyDescription("Изменение паролей пользователей для баз 1С")>
|
||||
<Assembly: AssemblyCompany("Aleksey Bochkov")>
|
||||
<Assembly: AssemblyProduct("Password changer for 1C:Enterprise")>
|
||||
<Assembly: AssemblyCopyright("Copyright © Aleksey Bochkov")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
<Assembly: Guid("47b7d590-8732-4087-82d0-9c622f809343")>
|
||||
|
||||
' 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")>
|
62
PasswordChanger1C/My Project/Resources.Designer.vb
generated
Normal file
62
PasswordChanger1C/My Project/Resources.Designer.vb
generated
Normal file
@ -0,0 +1,62 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <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.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("PasswordChanger1C.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(ByVal value As Global.System.Globalization.CultureInfo)
|
||||
resourceCulture = value
|
||||
End Set
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
117
PasswordChanger1C/My Project/Resources.resx
Normal file
117
PasswordChanger1C/My Project/Resources.resx
Normal file
@ -0,0 +1,117 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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>
|
||||
</root>
|
73
PasswordChanger1C/My Project/Settings.Designer.vb
generated
Normal file
73
PasswordChanger1C/My Project/Settings.Designer.vb
generated
Normal file
@ -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", "11.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.PasswordChanger1C.My.MySettings
|
||||
Get
|
||||
Return Global.PasswordChanger1C.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
7
PasswordChanger1C/My Project/Settings.settings
Normal file
7
PasswordChanger1C/My Project/Settings.settings
Normal file
@ -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>
|
76
PasswordChanger1C/My Project/app.manifest
Normal file
76
PasswordChanger1C/My Project/app.manifest
Normal file
@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on and is
|
||||
is designed to work with. Uncomment the appropriate elements and Windows will
|
||||
automatically selected the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
65
PasswordChanger1C/Parser.vb
Normal file
65
PasswordChanger1C/Parser.vb
Normal file
@ -0,0 +1,65 @@
|
||||
Namespace ParserServices
|
||||
|
||||
Public Class ParsesClass
|
||||
|
||||
Public Shared Function ParseString(Str As String) As List(Of Object)
|
||||
|
||||
Dim Arr = Str.Split(",")
|
||||
|
||||
Dim List = ParseStringInternal(Arr, 0, Arr.Length - 1)
|
||||
|
||||
Return List
|
||||
|
||||
End Function
|
||||
|
||||
Private Shared Function ParseStringInternal(Arr() As String, ByRef Position As Integer, ArrLength As Integer) As List(Of Object)
|
||||
|
||||
'TODO - не обрабатываются ситуации с двойными кавычками и переносами строк в тексте
|
||||
|
||||
Dim List = New List(Of Object)
|
||||
|
||||
While True
|
||||
|
||||
Dim Val = Arr(Position).Trim
|
||||
If Val.StartsWith("{") Then
|
||||
|
||||
Arr(Position) = Val.Substring(1)
|
||||
|
||||
List.Add(ParseStringInternal(Arr, Position, ArrLength))
|
||||
|
||||
ElseIf String.IsNullOrEmpty(Val) Then
|
||||
Position = Position + 1
|
||||
|
||||
Else
|
||||
|
||||
Dim Pos = Val.IndexOf("}")
|
||||
If Pos > -1 Then
|
||||
|
||||
Dim Vl2 = Val.Substring(0, Pos)
|
||||
If Not String.IsNullOrEmpty(Vl2) Then
|
||||
List.Add(Vl2)
|
||||
End If
|
||||
|
||||
Arr(Position) = Val.Substring(Pos + 1)
|
||||
Exit While
|
||||
Else
|
||||
List.Add(Val)
|
||||
Position = Position + 1
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Position >= ArrLength Then
|
||||
Exit While
|
||||
End If
|
||||
|
||||
End While
|
||||
|
||||
Return List
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
|
||||
End Namespace
|
||||
|
164
PasswordChanger1C/PasswordChanger1C.vbproj
Normal file
164
PasswordChanger1C/PasswordChanger1C.vbproj
Normal file
@ -0,0 +1,164 @@
|
||||
<?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>{932C8B77-0E5E-44F6-92A4-AF13BE862D9A}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>PasswordChanger1C.My.MyApplication</StartupObject>
|
||||
<RootNamespace>PasswordChanger1C</RootNamespace>
|
||||
<AssemblyName>PasswordChanger1C</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
<PublishUrl>publish\</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>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>PasswordChanger1C.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>PasswordChanger1C.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>
|
||||
<ApplicationIcon>user.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||
</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="AboutBox.Designer.vb">
|
||||
<DependentUpon>AboutBox.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="AboutBox.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="AccessFunctions.vb" />
|
||||
<Compile Include="Form1.vb">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.vb">
|
||||
<DependentUpon>Form1.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="Parser.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="AboutBox.resx">
|
||||
<DependentUpon>AboutBox.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\app.manifest" />
|
||||
<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="user.ico" />
|
||||
<Content Include="Users.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</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>
|
BIN
PasswordChanger1C/Users.ico
Normal file
BIN
PasswordChanger1C/Users.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
PasswordChanger1C/user.ico
Normal file
BIN
PasswordChanger1C/user.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Loading…
Reference in New Issue
Block a user