Version 20180904
This commit is contained in:
BIN
DPMLizenzmanagement/.vs/DPMLizenzmanagement/v15/.suo
Normal file
BIN
DPMLizenzmanagement/.vs/DPMLizenzmanagement/v15/.suo
Normal file
Binary file not shown.
Binary file not shown.
31
DPMLizenzmanagement/DPMLizenzmanagement.sln
Normal file
31
DPMLizenzmanagement/DPMLizenzmanagement.sln
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27428.2015
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DPMLizenzmanagement", "DPMLizenzmanagement\DPMLizenzmanagement.vbproj", "{D59BF43B-C82B-4D40-84B0-95A556371D99}"
|
||||
EndProject
|
||||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SHUKeyGen", "SHUKeyGen\SHUKeyGen.vbproj", "{9C0E2055-23AC-4209-8C03-0364C5AF2BAB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D59BF43B-C82B-4D40-84B0-95A556371D99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D59BF43B-C82B-4D40-84B0-95A556371D99}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D59BF43B-C82B-4D40-84B0-95A556371D99}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D59BF43B-C82B-4D40-84B0-95A556371D99}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9C0E2055-23AC-4209-8C03-0364C5AF2BAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9C0E2055-23AC-4209-8C03-0364C5AF2BAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9C0E2055-23AC-4209-8C03-0364C5AF2BAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9C0E2055-23AC-4209-8C03-0364C5AF2BAB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {8E2287CD-16FC-4F81-81E9-BBF928A679BE}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
6
DPMLizenzmanagement/DPMLizenzmanagement/App.config
Normal file
6
DPMLizenzmanagement/DPMLizenzmanagement/App.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,127 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" 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>{D59BF43B-C82B-4D40-84B0-95A556371D99}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<StartupObject>DPMLizenzmanagement.My.MyApplication</StartupObject>
|
||||
<RootNamespace>DPMLizenzmanagement</RootNamespace>
|
||||
<AssemblyName>DPMLizenzmanagement</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>WindowsForms</MyType>
|
||||
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>DPMLizenzmanagement.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>DPMLizenzmanagement.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>
|
||||
<ItemGroup>
|
||||
<Reference Include="SHUKeyGen, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\SHUKeyGen\bin\Debug\SHUKeyGen.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</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" />
|
||||
<Import Include="System.Linq" />
|
||||
<Import Include="System.Xml.Linq" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<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>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.vb</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</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\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>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
</Project>
|
||||
359
DPMLizenzmanagement/DPMLizenzmanagement/Form1.Designer.vb
generated
Normal file
359
DPMLizenzmanagement/DPMLizenzmanagement/Form1.Designer.vb
generated
Normal file
@@ -0,0 +1,359 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class Form1
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||
<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
|
||||
|
||||
'Wird vom Windows Form-Designer benötigt.
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
|
||||
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
|
||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.lblLizenznehmer = New System.Windows.Forms.Label()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.txtLizenznehmer = New System.Windows.Forms.TextBox()
|
||||
Me.txtSN = New System.Windows.Forms.TextBox()
|
||||
Me.Button1 = New System.Windows.Forms.Button()
|
||||
Me.txtKeyCode = New System.Windows.Forms.TextBox()
|
||||
Me.txtProductName = New System.Windows.Forms.TextBox()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.CheckBox1 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox2 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox3 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox4 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox5 = New System.Windows.Forms.CheckBox()
|
||||
Me.CheckBox6 = New System.Windows.Forms.CheckBox()
|
||||
Me.Button2 = New System.Windows.Forms.Button()
|
||||
Me.Button3 = New System.Windows.Forms.Button()
|
||||
Me.Button4 = New System.Windows.Forms.Button()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker()
|
||||
Me.txtLizenzgeber = New System.Windows.Forms.TextBox()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
|
||||
Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.lblclasskey = New System.Windows.Forms.Label()
|
||||
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
|
||||
Me.ToolStripStatusLabel1 = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.Button5 = New System.Windows.Forms.Button()
|
||||
Me.ComboBox1 = New System.Windows.Forms.ComboBox()
|
||||
Me.StatusStrip1.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'lblLizenznehmer
|
||||
'
|
||||
Me.lblLizenznehmer.AutoSize = True
|
||||
Me.lblLizenznehmer.Location = New System.Drawing.Point(12, 24)
|
||||
Me.lblLizenznehmer.Name = "lblLizenznehmer"
|
||||
Me.lblLizenznehmer.Size = New System.Drawing.Size(75, 13)
|
||||
Me.lblLizenznehmer.TabIndex = 0
|
||||
Me.lblLizenznehmer.Text = "Lizenznehmer:"
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(12, 50)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(77, 13)
|
||||
Me.Label1.TabIndex = 1
|
||||
Me.Label1.Text = "Seriennummer:"
|
||||
'
|
||||
'txtLizenznehmer
|
||||
'
|
||||
Me.txtLizenznehmer.Location = New System.Drawing.Point(115, 21)
|
||||
Me.txtLizenznehmer.Name = "txtLizenznehmer"
|
||||
Me.txtLizenznehmer.Size = New System.Drawing.Size(238, 20)
|
||||
Me.txtLizenznehmer.TabIndex = 2
|
||||
'
|
||||
'txtSN
|
||||
'
|
||||
Me.txtSN.Location = New System.Drawing.Point(115, 50)
|
||||
Me.txtSN.Name = "txtSN"
|
||||
Me.txtSN.Size = New System.Drawing.Size(238, 20)
|
||||
Me.txtSN.TabIndex = 3
|
||||
'
|
||||
'Button1
|
||||
'
|
||||
Me.Button1.Location = New System.Drawing.Point(12, 249)
|
||||
Me.Button1.Name = "Button1"
|
||||
Me.Button1.Size = New System.Drawing.Size(142, 23)
|
||||
Me.Button1.TabIndex = 4
|
||||
Me.Button1.Text = "Schlüssen generieren"
|
||||
Me.Button1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'txtKeyCode
|
||||
'
|
||||
Me.txtKeyCode.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.txtKeyCode.Location = New System.Drawing.Point(12, 301)
|
||||
Me.txtKeyCode.Name = "txtKeyCode"
|
||||
Me.txtKeyCode.ReadOnly = True
|
||||
Me.txtKeyCode.Size = New System.Drawing.Size(445, 23)
|
||||
Me.txtKeyCode.TabIndex = 5
|
||||
Me.txtKeyCode.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'txtProductName
|
||||
'
|
||||
Me.txtProductName.Location = New System.Drawing.Point(115, 76)
|
||||
Me.txtProductName.Name = "txtProductName"
|
||||
Me.txtProductName.Size = New System.Drawing.Size(238, 20)
|
||||
Me.txtProductName.TabIndex = 7
|
||||
Me.txtProductName.Text = "DPM - Dental Practice Manager"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Location = New System.Drawing.Point(12, 76)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(47, 13)
|
||||
Me.Label2.TabIndex = 6
|
||||
Me.Label2.Text = "Produkt:"
|
||||
'
|
||||
'CheckBox1
|
||||
'
|
||||
Me.CheckBox1.AutoSize = True
|
||||
Me.CheckBox1.Location = New System.Drawing.Point(115, 161)
|
||||
Me.CheckBox1.Name = "CheckBox1"
|
||||
Me.CheckBox1.Size = New System.Drawing.Size(97, 17)
|
||||
Me.CheckBox1.TabIndex = 8
|
||||
Me.CheckBox1.Text = "Mulit-Database"
|
||||
Me.CheckBox1.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox2
|
||||
'
|
||||
Me.CheckBox2.AutoSize = True
|
||||
Me.CheckBox2.Location = New System.Drawing.Point(115, 184)
|
||||
Me.CheckBox2.Name = "CheckBox2"
|
||||
Me.CheckBox2.Size = New System.Drawing.Size(103, 17)
|
||||
Me.CheckBox2.TabIndex = 9
|
||||
Me.CheckBox2.Text = "Report-Designer"
|
||||
Me.CheckBox2.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox3
|
||||
'
|
||||
Me.CheckBox3.AutoSize = True
|
||||
Me.CheckBox3.Location = New System.Drawing.Point(115, 207)
|
||||
Me.CheckBox3.Name = "CheckBox3"
|
||||
Me.CheckBox3.Size = New System.Drawing.Size(84, 17)
|
||||
Me.CheckBox3.TabIndex = 10
|
||||
Me.CheckBox3.Text = "Firmendaten"
|
||||
Me.CheckBox3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox4
|
||||
'
|
||||
Me.CheckBox4.AutoSize = True
|
||||
Me.CheckBox4.Location = New System.Drawing.Point(272, 161)
|
||||
Me.CheckBox4.Name = "CheckBox4"
|
||||
Me.CheckBox4.Size = New System.Drawing.Size(89, 17)
|
||||
Me.CheckBox4.TabIndex = 11
|
||||
Me.CheckBox4.Text = "Demo-Modus"
|
||||
Me.CheckBox4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox5
|
||||
'
|
||||
Me.CheckBox5.AutoSize = True
|
||||
Me.CheckBox5.Location = New System.Drawing.Point(272, 184)
|
||||
Me.CheckBox5.Name = "CheckBox5"
|
||||
Me.CheckBox5.Size = New System.Drawing.Size(81, 17)
|
||||
Me.CheckBox5.TabIndex = 12
|
||||
Me.CheckBox5.Text = "CheckBox5"
|
||||
Me.CheckBox5.UseVisualStyleBackColor = True
|
||||
'
|
||||
'CheckBox6
|
||||
'
|
||||
Me.CheckBox6.AutoSize = True
|
||||
Me.CheckBox6.Location = New System.Drawing.Point(272, 207)
|
||||
Me.CheckBox6.Name = "CheckBox6"
|
||||
Me.CheckBox6.Size = New System.Drawing.Size(89, 17)
|
||||
Me.CheckBox6.TabIndex = 13
|
||||
Me.CheckBox6.Text = "Demo-Modus"
|
||||
Me.CheckBox6.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button2
|
||||
'
|
||||
Me.Button2.Location = New System.Drawing.Point(475, 151)
|
||||
Me.Button2.Name = "Button2"
|
||||
Me.Button2.Size = New System.Drawing.Size(75, 23)
|
||||
Me.Button2.TabIndex = 14
|
||||
Me.Button2.Text = "Button2"
|
||||
Me.Button2.UseVisualStyleBackColor = True
|
||||
Me.Button2.Visible = False
|
||||
'
|
||||
'Button3
|
||||
'
|
||||
Me.Button3.Location = New System.Drawing.Point(167, 249)
|
||||
Me.Button3.Name = "Button3"
|
||||
Me.Button3.Size = New System.Drawing.Size(142, 23)
|
||||
Me.Button3.TabIndex = 15
|
||||
Me.Button3.Text = "Schlüsseldatei speichern"
|
||||
Me.Button3.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Button4
|
||||
'
|
||||
Me.Button4.Location = New System.Drawing.Point(315, 249)
|
||||
Me.Button4.Name = "Button4"
|
||||
Me.Button4.Size = New System.Drawing.Size(142, 23)
|
||||
Me.Button4.TabIndex = 16
|
||||
Me.Button4.Text = "Schlüsseldatei laden"
|
||||
Me.Button4.UseVisualStyleBackColor = True
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Location = New System.Drawing.Point(12, 105)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(50, 13)
|
||||
Me.Label3.TabIndex = 17
|
||||
Me.Label3.Text = "Gültig bis"
|
||||
'
|
||||
'DateTimePicker1
|
||||
'
|
||||
Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
|
||||
Me.DateTimePicker1.Location = New System.Drawing.Point(115, 103)
|
||||
Me.DateTimePicker1.Name = "DateTimePicker1"
|
||||
Me.DateTimePicker1.Size = New System.Drawing.Size(105, 20)
|
||||
Me.DateTimePicker1.TabIndex = 18
|
||||
'
|
||||
'txtLizenzgeber
|
||||
'
|
||||
Me.txtLizenzgeber.Location = New System.Drawing.Point(115, 129)
|
||||
Me.txtLizenzgeber.Name = "txtLizenzgeber"
|
||||
Me.txtLizenzgeber.Size = New System.Drawing.Size(285, 20)
|
||||
Me.txtLizenzgeber.TabIndex = 20
|
||||
Me.txtLizenzgeber.Text = "Stefan Hutter Unternehmensberatung, 8808 Pfäffikon"
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Location = New System.Drawing.Point(12, 129)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(64, 13)
|
||||
Me.Label4.TabIndex = 19
|
||||
Me.Label4.Text = "Lizenzgeber"
|
||||
'
|
||||
'OpenFileDialog1
|
||||
'
|
||||
Me.OpenFileDialog1.FileName = "OpenFileDialog1"
|
||||
'
|
||||
'lblclasskey
|
||||
'
|
||||
Me.lblclasskey.AutoSize = True
|
||||
Me.lblclasskey.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lblclasskey.Location = New System.Drawing.Point(164, 318)
|
||||
Me.lblclasskey.Name = "lblclasskey"
|
||||
Me.lblclasskey.Size = New System.Drawing.Size(0, 17)
|
||||
Me.lblclasskey.TabIndex = 22
|
||||
Me.lblclasskey.Visible = False
|
||||
'
|
||||
'StatusStrip1
|
||||
'
|
||||
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabel1})
|
||||
Me.StatusStrip1.Location = New System.Drawing.Point(0, 356)
|
||||
Me.StatusStrip1.Name = "StatusStrip1"
|
||||
Me.StatusStrip1.Size = New System.Drawing.Size(678, 22)
|
||||
Me.StatusStrip1.TabIndex = 23
|
||||
Me.StatusStrip1.Text = "StatusStrip1"
|
||||
'
|
||||
'ToolStripStatusLabel1
|
||||
'
|
||||
Me.ToolStripStatusLabel1.Name = "ToolStripStatusLabel1"
|
||||
Me.ToolStripStatusLabel1.Size = New System.Drawing.Size(120, 17)
|
||||
Me.ToolStripStatusLabel1.Text = "ToolStripStatusLabel1"
|
||||
'
|
||||
'Button5
|
||||
'
|
||||
Me.Button5.Location = New System.Drawing.Point(475, 180)
|
||||
Me.Button5.Name = "Button5"
|
||||
Me.Button5.Size = New System.Drawing.Size(142, 23)
|
||||
Me.Button5.TabIndex = 24
|
||||
Me.Button5.Text = "Datatabelle"
|
||||
Me.Button5.UseVisualStyleBackColor = True
|
||||
'
|
||||
'ComboBox1
|
||||
'
|
||||
Me.ComboBox1.FormattingEnabled = True
|
||||
Me.ComboBox1.Location = New System.Drawing.Point(359, 75)
|
||||
Me.ComboBox1.Name = "ComboBox1"
|
||||
Me.ComboBox1.Size = New System.Drawing.Size(238, 21)
|
||||
Me.ComboBox1.TabIndex = 25
|
||||
'
|
||||
'Form1
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(678, 378)
|
||||
Me.Controls.Add(Me.ComboBox1)
|
||||
Me.Controls.Add(Me.Button5)
|
||||
Me.Controls.Add(Me.StatusStrip1)
|
||||
Me.Controls.Add(Me.lblclasskey)
|
||||
Me.Controls.Add(Me.txtLizenzgeber)
|
||||
Me.Controls.Add(Me.Label4)
|
||||
Me.Controls.Add(Me.DateTimePicker1)
|
||||
Me.Controls.Add(Me.Label3)
|
||||
Me.Controls.Add(Me.Button4)
|
||||
Me.Controls.Add(Me.Button3)
|
||||
Me.Controls.Add(Me.Button2)
|
||||
Me.Controls.Add(Me.CheckBox6)
|
||||
Me.Controls.Add(Me.CheckBox5)
|
||||
Me.Controls.Add(Me.CheckBox4)
|
||||
Me.Controls.Add(Me.CheckBox3)
|
||||
Me.Controls.Add(Me.CheckBox2)
|
||||
Me.Controls.Add(Me.CheckBox1)
|
||||
Me.Controls.Add(Me.txtProductName)
|
||||
Me.Controls.Add(Me.Label2)
|
||||
Me.Controls.Add(Me.txtKeyCode)
|
||||
Me.Controls.Add(Me.Button1)
|
||||
Me.Controls.Add(Me.txtSN)
|
||||
Me.Controls.Add(Me.txtLizenznehmer)
|
||||
Me.Controls.Add(Me.Label1)
|
||||
Me.Controls.Add(Me.lblLizenznehmer)
|
||||
Me.Name = "Form1"
|
||||
Me.Text = "Form1"
|
||||
Me.StatusStrip1.ResumeLayout(False)
|
||||
Me.StatusStrip1.PerformLayout()
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents lblLizenznehmer As Label
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents txtLizenznehmer As TextBox
|
||||
Friend WithEvents txtSN As TextBox
|
||||
Friend WithEvents Button1 As Button
|
||||
Friend WithEvents txtKeyCode As TextBox
|
||||
Friend WithEvents txtProductName As TextBox
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents CheckBox1 As CheckBox
|
||||
Friend WithEvents CheckBox2 As CheckBox
|
||||
Friend WithEvents CheckBox3 As CheckBox
|
||||
Friend WithEvents CheckBox4 As CheckBox
|
||||
Friend WithEvents CheckBox5 As CheckBox
|
||||
Friend WithEvents CheckBox6 As CheckBox
|
||||
Friend WithEvents Button2 As Button
|
||||
Friend WithEvents Button3 As Button
|
||||
Friend WithEvents Button4 As Button
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents DateTimePicker1 As DateTimePicker
|
||||
Friend WithEvents txtLizenzgeber As TextBox
|
||||
Friend WithEvents Label4 As Label
|
||||
Friend WithEvents SaveFileDialog1 As SaveFileDialog
|
||||
Friend WithEvents OpenFileDialog1 As OpenFileDialog
|
||||
Friend WithEvents lblclasskey As Label
|
||||
Friend WithEvents StatusStrip1 As StatusStrip
|
||||
Friend WithEvents ToolStripStatusLabel1 As ToolStripStatusLabel
|
||||
Friend WithEvents Button5 As Button
|
||||
Friend WithEvents ComboBox1 As ComboBox
|
||||
End Class
|
||||
129
DPMLizenzmanagement/DPMLizenzmanagement/Form1.resx
Normal file
129
DPMLizenzmanagement/DPMLizenzmanagement/Form1.resx
Normal file
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>154, 17</value>
|
||||
</metadata>
|
||||
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>296, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
158
DPMLizenzmanagement/DPMLizenzmanagement/Form1.vb
Normal file
158
DPMLizenzmanagement/DPMLizenzmanagement/Form1.vb
Normal file
@@ -0,0 +1,158 @@
|
||||
Imports System.Security.Cryptography
|
||||
Imports System.IO
|
||||
Public Class Form1
|
||||
Dim ckeygen As New SHUKeyGen.clsKeyGen("", "", "", "", "", ":DPMKEY:", "Steafn Hutter Unternehmensberatung, 8808 Pfäffikon SZ")
|
||||
Dim ds As New DataSet
|
||||
Dim OnLoad As Boolean = True
|
||||
|
||||
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
ds.ReadXml(Application.StartupPath + "\keygendata.xml")
|
||||
Me.ComboBox1.Items.Clear()
|
||||
For Each r As DataRow In ds.Tables(0).Rows
|
||||
Me.ComboBox1.Items.Add(r(0))
|
||||
Next
|
||||
OnLoad = False
|
||||
End Sub
|
||||
|
||||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||||
GenNewKey_Class()
|
||||
Me.ToolStripStatusLabel1.Text = ckeygen.Status
|
||||
End Sub
|
||||
|
||||
Private Sub GenNewKey_Class()
|
||||
Me.ckeygen.Lizenznahmer = Me.txtLizenznehmer.Text
|
||||
Me.ckeygen.Seriennummer = Me.txtSN.Text
|
||||
Me.ckeygen.Produktname = Me.txtProductName.Text
|
||||
Me.ckeygen.Gueltigbis = Me.DateTimePicker1.Value.ToShortDateString
|
||||
Me.ckeygen.Lizenzgeber = Me.txtLizenzgeber.Text
|
||||
|
||||
ckeygen.Option1 = Me.CheckBox1.Checked
|
||||
ckeygen.Option2 = Me.CheckBox2.Checked
|
||||
ckeygen.Option3 = Me.CheckBox3.Checked
|
||||
ckeygen.Option4 = Me.CheckBox4.Checked
|
||||
ckeygen.Option5 = Me.CheckBox5.Checked
|
||||
ckeygen.Option6 = Me.CheckBox6.Checked
|
||||
ckeygen.GenNewKey()
|
||||
Me.lblclasskey.Text = ckeygen.KeyCode
|
||||
Me.txtKeyCode.Text = ckeygen.KeyCode
|
||||
Me.ToolStripStatusLabel1.Text = ckeygen.Status
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||||
Me.ckeygen.Save_Licensefile()
|
||||
Me.ToolStripStatusLabel1.Text = ckeygen.Status
|
||||
Exit Sub
|
||||
End Sub
|
||||
|
||||
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
||||
Me.txtLizenzgeber.Text = ""
|
||||
Me.txtSN.Text = ""
|
||||
Me.txtProductName.Text = ""
|
||||
Me.txtLizenzgeber.Text = ""
|
||||
Me.txtKeyCode.Text = ""
|
||||
Me.DateTimePicker1.Value = Now()
|
||||
Me.CheckBox1.Checked = False
|
||||
Me.CheckBox2.Checked = False
|
||||
Me.CheckBox3.Checked = False
|
||||
Me.CheckBox4.Checked = False
|
||||
Me.CheckBox5.Checked = False
|
||||
Me.CheckBox6.Checked = False
|
||||
Me.lblLizenznehmer.Text = ""
|
||||
Me.ckeygen.Read_LicenseFile("")
|
||||
Me.txtKeyCode.Text = ""
|
||||
Me.txtLizenznehmer.Text = ckeygen.Lizenznahmer
|
||||
Me.txtSN.Text = ckeygen.Seriennummer
|
||||
Me.txtProductName.Text = ckeygen.Produktname
|
||||
Me.ComboBox1.Text = ckeygen.Produktname
|
||||
Me.DateTimePicker1.Value = ckeygen.Gueltigbis
|
||||
Me.txtLizenzgeber.Text = ckeygen.Lizenzgeber
|
||||
Me.lblclasskey.Text = ckeygen.KeyCode
|
||||
Me.CheckBox1.Checked = ckeygen.Option1
|
||||
Me.CheckBox2.Checked = ckeygen.Option2
|
||||
Me.CheckBox3.Checked = ckeygen.Option3
|
||||
Me.CheckBox4.Checked = ckeygen.Option4
|
||||
Me.CheckBox5.Checked = ckeygen.Option5
|
||||
Me.CheckBox6.Checked = ckeygen.Option6
|
||||
Me.ToolStripStatusLabel1.Text = ckeygen.Status
|
||||
Me.txtKeyCode.Text = ckeygen.KeyCode
|
||||
Exit Sub
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
|
||||
Dim t As New DataTable
|
||||
t.TableName = "Produkte"
|
||||
t.Columns.Add("Produktname")
|
||||
t.Columns.Add("SerienNummer")
|
||||
t.Columns.Add("Lizenzgeber")
|
||||
t.Columns.Add("Option1")
|
||||
t.Columns.Add("Option2")
|
||||
t.Columns.Add("Option3")
|
||||
t.Columns.Add("Option4")
|
||||
t.Columns.Add("Option5")
|
||||
t.Columns.Add("Option6")
|
||||
Dim r As DataRow = t.NewRow
|
||||
r(0) = "Dental Practice Manager - Alle Optonen"
|
||||
r(1) = "1.001.2018"
|
||||
r(2) = "Stefan Hutter Unternehmensberatung, 8808 Pfäffikon"
|
||||
r(3) = "Multi-Database;1"
|
||||
r(4) = "Report-Designer;1"
|
||||
r(5) = "Firmendaten;1"
|
||||
r(6) = "n.a.;0"
|
||||
r(7) = "n.a.;0"
|
||||
r(8) = "Demo-Modus;0"
|
||||
t.Rows.Add(r)
|
||||
Dim ds As New DataSet
|
||||
ds.Tables.Add(t)
|
||||
|
||||
ds.WriteXml("K:\keygendata.xml")
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
|
||||
If OnLoad = True Then Exit Sub
|
||||
For Each r As DataRow In ds.Tables(0).Rows
|
||||
If r(0) = Me.ComboBox1.Text Then
|
||||
Me.txtLizenzgeber.Text = r.Item("Lizenzgeber")
|
||||
Me.txtSN.Text = r.Item("Seriennummer")
|
||||
Me.txtProductName.Text = r.Item("Produktname")
|
||||
Dim s As String
|
||||
|
||||
s = Microsoft.VisualBasic.Right(r.Item("Option1"), 1)
|
||||
If s = "1" Then Me.CheckBox1.Checked = True Else Me.CheckBox1.Checked = False
|
||||
s = Microsoft.VisualBasic.Left(r.Item("Option1"), Len(r.Item("Option1")) - 2)
|
||||
Me.CheckBox1.Text = s
|
||||
|
||||
s = Microsoft.VisualBasic.Right(r.Item("Option2"), 1)
|
||||
If s = "1" Then Me.CheckBox2.Checked = True Else Me.CheckBox2.Checked = False
|
||||
s = Microsoft.VisualBasic.Left(r.Item("Option2"), Len(r.Item("Option2")) - 2)
|
||||
Me.CheckBox2.Text = s
|
||||
|
||||
s = Microsoft.VisualBasic.Right(r.Item("Option3"), 1)
|
||||
If s = "1" Then Me.CheckBox3.Checked = True Else Me.CheckBox3.Checked = False
|
||||
s = Microsoft.VisualBasic.Left(r.Item("Option3"), Len(r.Item("Option3")) - 2)
|
||||
Me.CheckBox3.Text = s
|
||||
|
||||
s = Microsoft.VisualBasic.Right(r.Item("Option4"), 1)
|
||||
If s = "1" Then Me.CheckBox4.Checked = True Else Me.CheckBox4.Checked = False
|
||||
s = Microsoft.VisualBasic.Left(r.Item("Option4"), Len(r.Item("Option4")) - 2)
|
||||
Me.CheckBox4.Text = s
|
||||
|
||||
s = Microsoft.VisualBasic.Right(r.Item("Option5"), 1)
|
||||
If s = "1" Then Me.CheckBox5.Checked = True Else Me.CheckBox5.Checked = False
|
||||
s = Microsoft.VisualBasic.Left(r.Item("Option5"), Len(r.Item("Option5")) - 2)
|
||||
Me.CheckBox5.Text = s
|
||||
|
||||
s = Microsoft.VisualBasic.Right(r.Item("Option6"), 1)
|
||||
If s = "1" Then Me.CheckBox6.Checked = True Else Me.CheckBox6.Checked = False
|
||||
s = Microsoft.VisualBasic.Left(r.Item("Option6"), Len(r.Item("Option6")) - 2)
|
||||
Me.CheckBox6.Text = s
|
||||
End If
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
38
DPMLizenzmanagement/DPMLizenzmanagement/My Project/Application.Designer.vb
generated
Normal file
38
DPMLizenzmanagement/DPMLizenzmanagement/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.DPMLizenzmanagement.Form1
|
||||
End Sub
|
||||
End Class
|
||||
End Namespace
|
||||
@@ -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>
|
||||
@@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
' die einer Assembly zugeordnet sind.
|
||||
|
||||
' Werte der Assemblyattribute überprüfen
|
||||
|
||||
<Assembly: AssemblyTitle("DPMLizenzmanagement")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("DPMLizenzmanagement")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2018")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird.
|
||||
<Assembly: Guid("4498a431-4b34-4a9f-ae90-7ac14bfeb96a")>
|
||||
|
||||
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
'
|
||||
' Hauptversion
|
||||
' Nebenversion
|
||||
' Buildnummer
|
||||
' Revision
|
||||
'
|
||||
' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
62
DPMLizenzmanagement/DPMLizenzmanagement/My Project/Resources.Designer.vb
generated
Normal file
62
DPMLizenzmanagement/DPMLizenzmanagement/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("DPMLizenzmanagement.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
|
||||
@@ -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
DPMLizenzmanagement/DPMLizenzmanagement/My Project/Settings.Designer.vb
generated
Normal file
73
DPMLizenzmanagement/DPMLizenzmanagement/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.DPMLizenzmanagement.My.MySettings
|
||||
Get
|
||||
Return Global.DPMLizenzmanagement.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
|
||||
</startup>
|
||||
</configuration>
|
||||
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
DPMLizenzmanagement
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:DPMLizenzmanagement.My.Resources.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DPMLizenzmanagement.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DPMLizenzmanagement.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
BIN
DPMLizenzmanagement/DPMLizenzmanagement/bin/Debug/SHUKeyGen.dll
Normal file
BIN
DPMLizenzmanagement/DPMLizenzmanagement/bin/Debug/SHUKeyGen.dll
Normal file
Binary file not shown.
BIN
DPMLizenzmanagement/DPMLizenzmanagement/bin/Debug/SHUKeyGen.pdb
Normal file
BIN
DPMLizenzmanagement/DPMLizenzmanagement/bin/Debug/SHUKeyGen.pdb
Normal file
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
SHUKeyGen
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:SHUKeyGen.My.Resources.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:SHUKeyGen.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:SHUKeyGen.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" standalone="yes"?>
|
||||
<NewDataSet>
|
||||
<Produkte>
|
||||
<Produktname>DPM - 1 - Dental Practice Manager</Produktname>
|
||||
<SerienNummer>1.001.2018</SerienNummer>
|
||||
<Lizenzgeber>Stefan Hutter Unternehmensberatung, 8808 Pfäffikon</Lizenzgeber>
|
||||
<Option1>Multi-Database;1</Option1>
|
||||
<Option2>Report-Designer;1</Option2>
|
||||
<Option3>Firmendaten;1</Option3>
|
||||
<Option4>n.a.;0</Option4>
|
||||
<Option5>n.a.;0</Option5>
|
||||
<Option6>n.a.;0</Option6>
|
||||
</Produkte>
|
||||
<Produkte>
|
||||
<Produktname>DPM - 2 - Dental Practice Manager</Produktname>
|
||||
<SerienNummer>1.001.2018</SerienNummer>
|
||||
<Lizenzgeber>Stefan Hutter Unternehmensberatung, 8808 Pfäffikon</Lizenzgeber>
|
||||
<Option1>Multi-Database;1</Option1>
|
||||
<Option2>Report-Designer;0</Option2>
|
||||
<Option3>Firmendaten;0</Option3>
|
||||
<Option4>n.a.;0</Option4>
|
||||
<Option5>n.a.;0</Option5>
|
||||
<Option6>n.a.;0</Option6>
|
||||
</Produkte>
|
||||
<Produkte>
|
||||
<Produktname>DPM - 2 - Dental Practice Manager</Produktname>
|
||||
<SerienNummer>1.001.2018</SerienNummer>
|
||||
<Lizenzgeber>Stefan Hutter Unternehmensberatung, 8808 Pfäffikon</Lizenzgeber>
|
||||
<Option1>Multi-Database;1</Option1>
|
||||
<Option2>Report-Designer;0</Option2>
|
||||
<Option3>Firmendaten;0</Option3>
|
||||
<Option4>n.a.;0</Option4>
|
||||
<Option5>n.a.;0</Option5>
|
||||
<Option6>Demo-Modus;1</Option6>
|
||||
</Produkte>
|
||||
</NewDataSet>
|
||||
3
DPMLizenzmanagement/DPMLizenzmanagement/md5.vb
Normal file
3
DPMLizenzmanagement/DPMLizenzmanagement/md5.vb
Normal file
@@ -0,0 +1,3 @@
|
||||
Module md5
|
||||
|
||||
End Module
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
81a6f3093dacb1a85679097b13537ec331a6301a
|
||||
@@ -0,0 +1,32 @@
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbprojResolveAssemblyReference.cache
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.Form1.resources
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.Resources.resources
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbproj.GenerateResource.cache
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbproj.CoreCompileInputs.cache
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.exe.config
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.exe
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.pdb
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.xml
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.exe
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.xml
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.pdb
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\SHUKeyGen.dll
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\SHUKeyGen.pdb
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\SHUKeyGen.xml
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbproj.CopyComplete
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.exe.config
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.exe
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.pdb
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\DPMLizenzmanagement.xml
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\SHUKeyGen.dll
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\SHUKeyGen.pdb
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\bin\Debug\SHUKeyGen.xml
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.Form1.resources
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.Resources.resources
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbproj.GenerateResource.cache
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbproj.CoreCompileInputs.cache
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbproj.CopyComplete
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.exe
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.xml
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.pdb
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\DPMLizenzmanagement\obj\Debug\DPMLizenzmanagement.vbprojResolveAssemblyReference.cache
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
DPMLizenzmanagement
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:DPMLizenzmanagement.My.Resources.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DPMLizenzmanagement.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:DPMLizenzmanagement.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
81a6f3093dacb1a85679097b13537ec331a6301a
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
3
DPMLizenzmanagement/KeyGen/Class1.vb
Normal file
3
DPMLizenzmanagement/KeyGen/Class1.vb
Normal file
@@ -0,0 +1,3 @@
|
||||
Public Class Class1
|
||||
|
||||
End Class
|
||||
8
DPMLizenzmanagement/KeyGen/KeyGen.vbproj
Normal file
8
DPMLizenzmanagement/KeyGen/KeyGen.vbproj
Normal file
@@ -0,0 +1,8 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<RootNamespace>KeyGen</RootNamespace>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,24 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' Dieser Code wurde von einem Tool generiert.
|
||||
' Laufzeitversion:4.0.30319.42000
|
||||
'
|
||||
' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
|
||||
' der Code erneut generiert wird.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict Off
|
||||
Option Explicit On
|
||||
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
<Assembly: System.Reflection.AssemblyCompanyAttribute("KeyGen"), _
|
||||
Assembly: System.Reflection.AssemblyConfigurationAttribute("Debug"), _
|
||||
Assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0"), _
|
||||
Assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0"), _
|
||||
Assembly: System.Reflection.AssemblyProductAttribute("KeyGen"), _
|
||||
Assembly: System.Reflection.AssemblyTitleAttribute("KeyGen"), _
|
||||
Assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")>
|
||||
|
||||
'Von der MSBuild WriteCodeFragment-Klasse generiert.
|
||||
@@ -0,0 +1 @@
|
||||
92d1b0a3fbcf5709f18954ae031c6454108e0662
|
||||
@@ -0,0 +1 @@
|
||||
e66739b61668e7211a783f0cb82685791abfd60c
|
||||
Binary file not shown.
5
DPMLizenzmanagement/KeyGen/obj/KeyGen.vbproj.nuget.cache
Normal file
5
DPMLizenzmanagement/KeyGen/obj/KeyGen.vbproj.nuget.cache
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 1,
|
||||
"dgSpecHash": "UqhfyB3ynhxsZ8NqDMHP+wNiLRLqKtInPP9mf71RVp/jOWcNwQjkWpE7OWZ9Y5lo7wpXfJCMMMKwQHmbQy8a1Q==",
|
||||
"success": true
|
||||
}
|
||||
15
DPMLizenzmanagement/KeyGen/obj/KeyGen.vbproj.nuget.g.props
Normal file
15
DPMLizenzmanagement/KeyGen/obj/KeyGen.vbproj.nuget.g.props
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">E:\Software-Projekte\_Demos\DPMLizenzmanagement\KeyGen\obj\project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Stefan Hutter\.nuget\packages\;C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">4.6.1</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
</PropertyGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\netstandard.library\2.0.1\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('C:\Program Files (x86)\Microsoft SDKs\NuGetPackagesFallback\netstandard.library\2.0.1\build\netstandard2.0\NETStandard.Library.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
239
DPMLizenzmanagement/KeyGen/obj/project.assets.json
Normal file
239
DPMLizenzmanagement/KeyGen/obj/project.assets.json
Normal file
@@ -0,0 +1,239 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
".NETStandard,Version=v2.0": {
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
"lib/netstandard1.0/_._": {}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.0/_._": {}
|
||||
}
|
||||
},
|
||||
"NETStandard.Library/2.0.1": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/netstandard1.0/_._": {}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard1.0/_._": {}
|
||||
},
|
||||
"build": {
|
||||
"build/netstandard2.0/NETStandard.Library.targets": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Microsoft.NETCore.Platforms/1.1.0": {
|
||||
"sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
|
||||
"type": "package",
|
||||
"path": "microsoft.netcore.platforms/1.1.0",
|
||||
"files": [
|
||||
"ThirdPartyNotices.txt",
|
||||
"dotnet_library_license.txt",
|
||||
"lib/netstandard1.0/_._",
|
||||
"microsoft.netcore.platforms.1.1.0.nupkg.sha512",
|
||||
"microsoft.netcore.platforms.nuspec",
|
||||
"runtime.json"
|
||||
]
|
||||
},
|
||||
"NETStandard.Library/2.0.1": {
|
||||
"sha512": "oA6nwv9MhEKYvLpjZ0ggSpb1g4CQViDVQjLUcDWg598jtvJbpfeP2reqwI1GLW2TbxC/Ml7xL6BBR1HmKPXlTg==",
|
||||
"type": "package",
|
||||
"path": "netstandard.library/2.0.1",
|
||||
"files": [
|
||||
"LICENSE.TXT",
|
||||
"NETStandard.Library.2.0.1.nupkg.sha512",
|
||||
"NETStandard.Library.nuspec",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"build/NETStandard.Library.targets",
|
||||
"build/netstandard2.0/NETStandard.Library.targets",
|
||||
"build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.AppContext.dll",
|
||||
"build/netstandard2.0/ref/System.Collections.Concurrent.dll",
|
||||
"build/netstandard2.0/ref/System.Collections.NonGeneric.dll",
|
||||
"build/netstandard2.0/ref/System.Collections.Specialized.dll",
|
||||
"build/netstandard2.0/ref/System.Collections.dll",
|
||||
"build/netstandard2.0/ref/System.ComponentModel.Composition.dll",
|
||||
"build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll",
|
||||
"build/netstandard2.0/ref/System.ComponentModel.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll",
|
||||
"build/netstandard2.0/ref/System.ComponentModel.dll",
|
||||
"build/netstandard2.0/ref/System.Console.dll",
|
||||
"build/netstandard2.0/ref/System.Core.dll",
|
||||
"build/netstandard2.0/ref/System.Data.Common.dll",
|
||||
"build/netstandard2.0/ref/System.Data.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.Contracts.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.Debug.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.Process.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.Tools.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll",
|
||||
"build/netstandard2.0/ref/System.Diagnostics.Tracing.dll",
|
||||
"build/netstandard2.0/ref/System.Drawing.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.Drawing.dll",
|
||||
"build/netstandard2.0/ref/System.Dynamic.Runtime.dll",
|
||||
"build/netstandard2.0/ref/System.Globalization.Calendars.dll",
|
||||
"build/netstandard2.0/ref/System.Globalization.Extensions.dll",
|
||||
"build/netstandard2.0/ref/System.Globalization.dll",
|
||||
"build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll",
|
||||
"build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll",
|
||||
"build/netstandard2.0/ref/System.IO.Compression.dll",
|
||||
"build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll",
|
||||
"build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll",
|
||||
"build/netstandard2.0/ref/System.IO.FileSystem.dll",
|
||||
"build/netstandard2.0/ref/System.IO.IsolatedStorage.dll",
|
||||
"build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll",
|
||||
"build/netstandard2.0/ref/System.IO.Pipes.dll",
|
||||
"build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll",
|
||||
"build/netstandard2.0/ref/System.IO.dll",
|
||||
"build/netstandard2.0/ref/System.Linq.Expressions.dll",
|
||||
"build/netstandard2.0/ref/System.Linq.Parallel.dll",
|
||||
"build/netstandard2.0/ref/System.Linq.Queryable.dll",
|
||||
"build/netstandard2.0/ref/System.Linq.dll",
|
||||
"build/netstandard2.0/ref/System.Net.Http.dll",
|
||||
"build/netstandard2.0/ref/System.Net.NameResolution.dll",
|
||||
"build/netstandard2.0/ref/System.Net.NetworkInformation.dll",
|
||||
"build/netstandard2.0/ref/System.Net.Ping.dll",
|
||||
"build/netstandard2.0/ref/System.Net.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.Net.Requests.dll",
|
||||
"build/netstandard2.0/ref/System.Net.Security.dll",
|
||||
"build/netstandard2.0/ref/System.Net.Sockets.dll",
|
||||
"build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll",
|
||||
"build/netstandard2.0/ref/System.Net.WebSockets.Client.dll",
|
||||
"build/netstandard2.0/ref/System.Net.WebSockets.dll",
|
||||
"build/netstandard2.0/ref/System.Net.dll",
|
||||
"build/netstandard2.0/ref/System.Numerics.dll",
|
||||
"build/netstandard2.0/ref/System.ObjectModel.dll",
|
||||
"build/netstandard2.0/ref/System.Reflection.Extensions.dll",
|
||||
"build/netstandard2.0/ref/System.Reflection.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.Reflection.dll",
|
||||
"build/netstandard2.0/ref/System.Resources.Reader.dll",
|
||||
"build/netstandard2.0/ref/System.Resources.ResourceManager.dll",
|
||||
"build/netstandard2.0/ref/System.Resources.Writer.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Extensions.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Handles.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.InteropServices.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Numerics.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.Serialization.dll",
|
||||
"build/netstandard2.0/ref/System.Runtime.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Claims.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll",
|
||||
"build/netstandard2.0/ref/System.Security.Principal.dll",
|
||||
"build/netstandard2.0/ref/System.Security.SecureString.dll",
|
||||
"build/netstandard2.0/ref/System.ServiceModel.Web.dll",
|
||||
"build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll",
|
||||
"build/netstandard2.0/ref/System.Text.Encoding.dll",
|
||||
"build/netstandard2.0/ref/System.Text.RegularExpressions.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.Overlapped.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.Tasks.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.Thread.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.ThreadPool.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.Timer.dll",
|
||||
"build/netstandard2.0/ref/System.Threading.dll",
|
||||
"build/netstandard2.0/ref/System.Transactions.dll",
|
||||
"build/netstandard2.0/ref/System.ValueTuple.dll",
|
||||
"build/netstandard2.0/ref/System.Web.dll",
|
||||
"build/netstandard2.0/ref/System.Windows.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.Linq.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.ReaderWriter.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.Serialization.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.XDocument.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.XPath.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.XmlDocument.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.XmlSerializer.dll",
|
||||
"build/netstandard2.0/ref/System.Xml.dll",
|
||||
"build/netstandard2.0/ref/System.dll",
|
||||
"build/netstandard2.0/ref/mscorlib.dll",
|
||||
"build/netstandard2.0/ref/netstandard.dll",
|
||||
"build/netstandard2.0/ref/netstandard.xml",
|
||||
"lib/netstandard1.0/_._"
|
||||
]
|
||||
}
|
||||
},
|
||||
"projectFileDependencyGroups": {
|
||||
".NETStandard,Version=v2.0": [
|
||||
"NETStandard.Library >= 2.0.1"
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\Stefan Hutter\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackagesFallback\\": {},
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "E:\\Software-Projekte\\_Demos\\DPMLizenzmanagement\\KeyGen\\KeyGen.vbproj",
|
||||
"projectName": "KeyGen",
|
||||
"projectPath": "E:\\Software-Projekte\\_Demos\\DPMLizenzmanagement\\KeyGen\\KeyGen.vbproj",
|
||||
"packagesPath": "C:\\Users\\Stefan Hutter\\.nuget\\packages\\",
|
||||
"outputPath": "E:\\Software-Projekte\\_Demos\\DPMLizenzmanagement\\KeyGen\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackagesFallback\\",
|
||||
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Stefan Hutter\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.Fallback.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"netstandard2.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"http://nuget.grapecity.com/nuget": {},
|
||||
"https://www.nuget.org/api/v2/": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
}
|
||||
},
|
||||
"frameworks": {
|
||||
"netstandard2.0": {
|
||||
"dependencies": {
|
||||
"NETStandard.Library": {
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[2.0.1, )",
|
||||
"autoReferenced": true
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
34
DPMLizenzmanagement/SHUKeyGen/Crypto.vb
Normal file
34
DPMLizenzmanagement/SHUKeyGen/Crypto.vb
Normal file
@@ -0,0 +1,34 @@
|
||||
Module Crypto
|
||||
Public Function EncryptText(ByVal strText As String, ByVal strPwd As String)
|
||||
Dim i As Integer, c As Integer
|
||||
Dim strBuff As String
|
||||
|
||||
strPwd = UCase$(strPwd)
|
||||
If Len(strPwd) Then
|
||||
For i = 1 To Len(strText)
|
||||
c = Asc(Mid$(strText, i, 1))
|
||||
c = c + Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
|
||||
strBuff = strBuff & Chr(c And &HFF)
|
||||
Next i
|
||||
Else
|
||||
strBuff = strText
|
||||
End If
|
||||
EncryptText = strBuff
|
||||
End Function
|
||||
|
||||
Public Function DecryptText(ByVal strText As String, ByVal strPwd As String)
|
||||
Dim i As Integer, c As Integer
|
||||
Dim strBuff As String
|
||||
strPwd = UCase$(strPwd)
|
||||
If Len(strPwd) Then
|
||||
For i = 1 To Len(strText)
|
||||
c = Asc(Mid$(strText, i, 1))
|
||||
c = c - Asc(Mid$(strPwd, (i Mod Len(strPwd)) + 1, 1))
|
||||
strBuff = strBuff & Chr(c And &HFF)
|
||||
Next i
|
||||
Else
|
||||
strBuff = strText
|
||||
End If
|
||||
DecryptText = strBuff
|
||||
End Function
|
||||
End Module
|
||||
256
DPMLizenzmanagement/SHUKeyGen/KeyCode.vb
Normal file
256
DPMLizenzmanagement/SHUKeyGen/KeyCode.vb
Normal file
@@ -0,0 +1,256 @@
|
||||
Module KeyCode
|
||||
'Attribute VB_Name = "KeyCode"
|
||||
' *
|
||||
' * KeyCodeGen Module
|
||||
' * Copyright (C) 2007 John Mazza.
|
||||
' *
|
||||
' * Written by John Mazza <maz@mgcworks.com>
|
||||
' *
|
||||
' * This library is free software; you can redistribute it and/or
|
||||
' * modify it under the terms of the GNU Lesser General Public
|
||||
' * License Version 2.1 as published by the Free Software Foundation.
|
||||
' *
|
||||
' * This library is distributed in the hope that it will be useful,
|
||||
' * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
' * Lesser General Public License for more details.
|
||||
' *
|
||||
' * You should have received a copy of the GNU Lesser General Public
|
||||
' * License along with this library; if not, write to the Free Software
|
||||
' * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
' ****************************************************************************
|
||||
'
|
||||
'
|
||||
' PURPOSE
|
||||
' Generate a licening key code that encodes product features into the
|
||||
' "keycode" string securely.
|
||||
'
|
||||
' LANGUAGE
|
||||
' Visual Basic 6.0 or VBA6
|
||||
' Should work in VB.NET as well
|
||||
'
|
||||
' DEPENDENCIES:
|
||||
' Requires 'Visual Basic MD5 Implementation' by
|
||||
' Robert Hubley and David Midkiff (mdj2023@hotmail.com) and
|
||||
' StrFuncs module by John Mazza
|
||||
'
|
||||
|
||||
|
||||
' GenKeyString() generates the actual keycode string based on
|
||||
' modified MD5 hashes of Username, Product, and licensed "features"
|
||||
|
||||
Public Function GenKeyString(ByVal UserName As String, ProdName As String, F_Code As Long) As String
|
||||
|
||||
Dim TempStr As String
|
||||
Dim KeyStr As String
|
||||
Dim KeyVal As String
|
||||
Dim CodeVal As Long
|
||||
Dim CodeLow As Byte
|
||||
Dim CodeHigh As Byte
|
||||
Dim KeyLowV1 As Byte
|
||||
Dim KeyLowV2 As Byte
|
||||
Dim KeyLow1 As Object
|
||||
Dim KeyLow2 As Object
|
||||
Dim ChrV1 As Char
|
||||
Dim ChrV2 As Char
|
||||
Dim RawChk As Object
|
||||
Dim RC1 As Object
|
||||
Dim RC2 As Object
|
||||
Dim StubStr As String
|
||||
|
||||
|
||||
|
||||
' Make sure we're not case-sensitive since that is a pain for end users
|
||||
|
||||
TempStr = LCase(UserName) & LCase(ProdName)
|
||||
KeyStr = DigestStrToHexStr(TempStr)
|
||||
KeyVal = HexStrToBinStr(KeyStr)
|
||||
|
||||
' Mask off low order 16 bits from F_Code
|
||||
CodeVal = F_Code And &HFFFF
|
||||
CodeLow = CodeVal And &HFF
|
||||
CodeHigh = (((CodeVal And &HFF00) / 256) And &HFF)
|
||||
|
||||
KeyLow1 = Mid(KeyVal, Len(KeyVal), 1)
|
||||
KeyLow2 = Mid(KeyVal, Len(KeyVal) - 1, 1)
|
||||
|
||||
KeyLowV1 = Asc(KeyLow1)
|
||||
KeyLowV2 = Asc(KeyLow2)
|
||||
|
||||
KeyLowV1 = (KeyLowV1 Xor CodeLow)
|
||||
KeyLowV2 = (KeyLowV2 Xor CodeHigh)
|
||||
|
||||
'KeyLowV1 = KeyLowV1 Xor KeyLowV2
|
||||
ChrV1 = Chr(KeyLowV1)
|
||||
ChrV2 = Chr(KeyLowV2)
|
||||
|
||||
' Cut original first 2 bytes from KeyVal string
|
||||
KeyVal = Mid(KeyVal, 1, Len(KeyVal) - 2)
|
||||
|
||||
' Now append modified bytes
|
||||
KeyVal = KeyVal & ChrV2 & ChrV1
|
||||
'KeyVal = KeyVal & ChrV1
|
||||
|
||||
' Now we get sneaky and modify the KeyVal by replacing the first 2 bytes
|
||||
' of KeyVal with the first and last bytes of the MD5 of KeyVal minus first 2 bytes
|
||||
|
||||
KeyVal = Mid(KeyVal, 3, Len(KeyVal) - 2)
|
||||
|
||||
RawChk = DigestStrToHexStr(KeyVal)
|
||||
|
||||
RC1 = Mid(RawChk, 1, 2)
|
||||
RC2 = Mid(RawChk, Len(RawChk) - 1, 2)
|
||||
|
||||
StubStr = BinStrToHexStr(KeyVal)
|
||||
|
||||
GenKeyString = RC1 & RC2 & StubStr
|
||||
|
||||
End Function
|
||||
|
||||
' ValidateKeyCode() validates that a keycode is valid.
|
||||
' Basically it is the inverse of GenKeyString()
|
||||
|
||||
Public Function ValidateKeyCode(ByVal KeyCode As String, UserName As String, ProjName As String) As Boolean
|
||||
Dim ActiveBytes As String
|
||||
Dim LUNameHash As String
|
||||
Dim LUName As String
|
||||
Dim ValidKey As Boolean
|
||||
Dim KeyMD5 As String
|
||||
Dim KeySig As String
|
||||
|
||||
Dim BinKeyCode As Object
|
||||
Dim ValidSig As Object
|
||||
|
||||
ValidKey = False
|
||||
|
||||
' Key must be 32 bytes long - otherwise reject immediately
|
||||
|
||||
If Len(KeyCode) = 32 Then
|
||||
BinKeyCode = HexStrToBinStr(KeyCode)
|
||||
ActiveBytes = Right(BinKeyCode, 14)
|
||||
KeyMD5 = DigestStrToHexStr(ActiveBytes)
|
||||
ValidSig = Left(KeyMD5, 2) & Right(KeyMD5, 2)
|
||||
KeySig = Left(KeyCode, 4)
|
||||
|
||||
If KeySig = ValidSig Then
|
||||
ValidKey = True
|
||||
Else
|
||||
ValidKey = False
|
||||
End If
|
||||
|
||||
If ValidKey Then
|
||||
LUName = LCase(UserName) & LCase(ProjName)
|
||||
LUNameHash = DigestStrToHexStr(LUName)
|
||||
|
||||
ActiveBytes = Mid(KeyCode, 5, 24)
|
||||
LUNameHash = Mid(LUNameHash, 5, 24)
|
||||
|
||||
If ActiveBytes = LUNameHash Then
|
||||
ValidKey = True
|
||||
Else
|
||||
ValidKey = False
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
ValidKey = False
|
||||
End If
|
||||
|
||||
ValidateKeyCode = ValidKey
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
' ExtractKeyFBits() returns the bitmap originally passed as F_Code
|
||||
' when a key is created with GenKeyString()
|
||||
' Note: it will return zero (0) if an invalid keycode is passed or if
|
||||
' username or projectname are not a match.
|
||||
|
||||
Public Function ExtractKeyFBits(ByVal KeyCode As String, UserName As String, ProjName As String)
|
||||
Dim PermVal As Long
|
||||
Dim RealHash As String
|
||||
Dim LUser As String
|
||||
Dim Perms As Long
|
||||
Dim BinCodePerm As String
|
||||
Dim BinUHashPerm As String
|
||||
Dim HiCodePerm As Byte
|
||||
Dim HIUMask As Byte
|
||||
Dim LoUMask As Byte
|
||||
Dim HiPerm As Long
|
||||
Dim LoPerm As Long
|
||||
|
||||
Dim UserHash As Object
|
||||
Dim KCodedPerm As Object
|
||||
Dim UHashPerm As Object
|
||||
Dim LoCodePerm As Object
|
||||
PermVal = 0
|
||||
|
||||
If ValidateKeyCode(KeyCode, UserName, ProjName) Then
|
||||
|
||||
LUser = LCase(UserName) & LCase(ProjName)
|
||||
UserHash = DigestStrToHexStr(LUser)
|
||||
KCodedPerm = Right(KeyCode, 4)
|
||||
UHashPerm = Right(UserHash, 4)
|
||||
|
||||
BinCodePerm = HexStrToBinStr(KCodedPerm)
|
||||
BinUHashPerm = HexStrToBinStr(UHashPerm)
|
||||
|
||||
HiCodePerm = Asc(Mid(BinCodePerm, 1, 1))
|
||||
LoCodePerm = Asc(Mid(BinCodePerm, 2, 1))
|
||||
|
||||
HIUMask = Asc(Mid(BinUHashPerm, 1, 1))
|
||||
LoUMask = Asc(Mid(BinUHashPerm, 2, 1))
|
||||
|
||||
HiPerm = HiCodePerm Xor HIUMask
|
||||
LoPerm = LoCodePerm Xor LoUMask
|
||||
PermVal = (HiPerm * 256) Or LoPerm
|
||||
|
||||
Else
|
||||
PermVal = 0
|
||||
End If
|
||||
|
||||
ExtractKeyFBits = PermVal
|
||||
|
||||
End Function
|
||||
|
||||
Public Function FormatKeyCode(ByVal StrIn As String, ByVal GrpLen As Long) As String
|
||||
Dim StrLen As Long
|
||||
Dim CurGrp As Long
|
||||
Dim OutStr As String
|
||||
Dim GrpStr As String
|
||||
Dim GrpStart As Long
|
||||
|
||||
Dim StrGroups As Object
|
||||
Dim StrLeftOver As Object
|
||||
StrLen = Len(StrIn)
|
||||
|
||||
StrGroups = Int(StrLen / GrpLen)
|
||||
StrLeftOver = StrLen Mod GrpLen
|
||||
|
||||
' Run loop to add dashes into StrIn
|
||||
|
||||
For CurGrp = 0 To (StrGroups - 1)
|
||||
GrpStart = (CurGrp * GrpLen) + 1
|
||||
GrpStr = Mid(StrIn, GrpStart, GrpLen)
|
||||
|
||||
If CurGrp > 0 Then
|
||||
OutStr = OutStr & "-" & GrpStr
|
||||
Else
|
||||
OutStr = OutStr & GrpStr
|
||||
End If
|
||||
|
||||
Next CurGrp
|
||||
|
||||
' Append a final group if any leftover charaters
|
||||
' exist in StrIn
|
||||
|
||||
If StrLeftOver > 0 Then
|
||||
OutStr = OutStr & "-" & Right(StrIn, StrLeftOver)
|
||||
End If
|
||||
|
||||
FormatKeyCode = OutStr
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
End Module
|
||||
348
DPMLizenzmanagement/SHUKeyGen/MD5_Crypt.vb
Normal file
348
DPMLizenzmanagement/SHUKeyGen/MD5_Crypt.vb
Normal file
@@ -0,0 +1,348 @@
|
||||
Imports System.IO
|
||||
Module MD5_Crypt
|
||||
'Attribute VB_Name = "MD5_Crypt"
|
||||
'Option Explicit On
|
||||
|
||||
' Visual Basic MD5 Implementation
|
||||
' Robert Hubley and David MidkiFF ((mdj2023@hotmail.com)
|
||||
'
|
||||
' Standard MD5 implementation optimised for the Visual Basic environment.
|
||||
' Conforms to all standards and can be used in digital signature or password
|
||||
' protection related schemes.
|
||||
'
|
||||
' NOTE - JDM 5/23/2007
|
||||
' (Research indicates this code is Licensed for free use)
|
||||
'
|
||||
|
||||
Private Const OFFSET_4 = 4294967296.0#
|
||||
Private Const MAXINT_4 = 2147483647
|
||||
Private State(4) As Long
|
||||
Dim ByteCounter As Long
|
||||
Dim ByteBuffer(63) As Byte
|
||||
Private Const S11 = 7
|
||||
Private Const S12 = 12
|
||||
Private Const S13 = 17
|
||||
Private Const S14 = 22
|
||||
Private Const S21 = 5
|
||||
Private Const S22 = 9
|
||||
Private Const S23 = 14
|
||||
Private Const S24 = 20
|
||||
Private Const S31 = 4
|
||||
Private Const S32 = 11
|
||||
Private Const S33 = 16
|
||||
Private Const S34 = 23
|
||||
Private Const S41 = 6
|
||||
Private Const S42 = 10
|
||||
Private Const S43 = 15
|
||||
Private Const S44 = 21
|
||||
|
||||
Dim M_RegistryA As String
|
||||
Dim M_RegistryB As String
|
||||
Dim M_RegistryC As String
|
||||
Dim M_RegistryD As String
|
||||
Property RegistryA As String
|
||||
Get
|
||||
Return M_RegistryA
|
||||
End Get
|
||||
Set(value As String)
|
||||
M_RegistryA = State(1)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property RegistryB As String
|
||||
Get
|
||||
Return M_RegistryB
|
||||
End Get
|
||||
Set(value As String)
|
||||
M_RegistryB = State(2)
|
||||
End Set
|
||||
End Property
|
||||
Property RegistryC As String
|
||||
Get
|
||||
Return M_RegistryC
|
||||
End Get
|
||||
Set(value As String)
|
||||
M_RegistryC = State(3)
|
||||
End Set
|
||||
End Property
|
||||
Property RegistryD As String
|
||||
Get
|
||||
Return M_RegistryD
|
||||
End Get
|
||||
Set(value As String)
|
||||
M_RegistryD = State(4)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
Public Function DigestStrToHexStr(ByVal SourceString As String) As String
|
||||
MD5Init()
|
||||
MD5Update(Len(SourceString), StringToArray(SourceString))
|
||||
MD5Final()
|
||||
DigestStrToHexStr = GetValues()
|
||||
End Function
|
||||
|
||||
Public Function DigestFileToHexStr(InFile As String) As String
|
||||
Try
|
||||
Dim fInfo As New System.IO.FileInfo(InFile)
|
||||
Dim numBytes As Long = fInfo.Length
|
||||
Dim fs As New FileStream(InFile, FileMode.Open, FileAccess.Read)
|
||||
Dim br As New System.IO.BinaryReader(fs)
|
||||
Dim bytes As Byte() = br.ReadBytes(CInt(numBytes))
|
||||
br.Close()
|
||||
fs.Close()
|
||||
|
||||
MD5Init()
|
||||
|
||||
MD5Transform(bytes)
|
||||
|
||||
ByteCounter = bytes.Count Mod 64
|
||||
|
||||
|
||||
MD5Final()
|
||||
|
||||
DigestFileToHexStr = GetValues()
|
||||
|
||||
Catch ex As Exception
|
||||
DigestFileToHexStr = ""
|
||||
Exit Function
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function StringToArray(InString As String) As Byte()
|
||||
Dim i As Integer, bytBuffer() As Byte
|
||||
ReDim bytBuffer(Len(InString))
|
||||
For i = 0 To Len(InString) - 1
|
||||
bytBuffer(i) = Asc(Mid$(InString, i + 1, 1))
|
||||
Next i
|
||||
StringToArray = bytBuffer
|
||||
End Function
|
||||
|
||||
Public Function GetValues() As String
|
||||
GetValues = LongToString(State(1)) & LongToString(State(2)) & LongToString(State(3)) & LongToString(State(4))
|
||||
End Function
|
||||
|
||||
Private Function LongToString(Num As Long) As String
|
||||
Dim A As Byte, B As Byte, C As Byte, D As Byte
|
||||
A = Num And &HFF&
|
||||
If A < 16 Then LongToString = "0" & Hex(A) Else LongToString = Hex(A)
|
||||
B = (Num And &HFF00&) \ 256
|
||||
If B < 16 Then LongToString = LongToString & "0" & Hex(B) Else LongToString = LongToString & Hex(B)
|
||||
C = (Num And &HFF0000) \ 65536
|
||||
If C < 16 Then LongToString = LongToString & "0" & Hex(C) Else LongToString = LongToString & Hex(C)
|
||||
If Num < 0 Then D = ((Num And &H7F000000) \ 16777216) Or &H80& Else D = (Num And &HFF000000) \ 16777216
|
||||
If D < 16 Then LongToString = LongToString & "0" & Hex(D) Else LongToString = LongToString & Hex(D)
|
||||
End Function
|
||||
|
||||
Public Sub MD5Init()
|
||||
ByteCounter = 0
|
||||
State(1) = UnsignedToLong(1732584193.0#)
|
||||
State(2) = UnsignedToLong(4023233417.0#)
|
||||
State(3) = UnsignedToLong(2562383102.0#)
|
||||
State(4) = UnsignedToLong(271733878.0#)
|
||||
End Sub
|
||||
|
||||
Public Sub MD5Final()
|
||||
Dim dblBits As Double, padding(72) As Byte, lngBytesBuffered As Long
|
||||
padding(0) = &H80
|
||||
dblBits = ByteCounter * 8
|
||||
lngBytesBuffered = ByteCounter Mod 64
|
||||
If lngBytesBuffered <= 56 Then MD5Update(56 - lngBytesBuffered, padding) Else MD5Update(120 - ByteCounter, padding)
|
||||
padding(0) = UnsignedToLong(dblBits) And &HFF&
|
||||
padding(1) = UnsignedToLong(dblBits) \ 256 And &HFF&
|
||||
padding(2) = UnsignedToLong(dblBits) \ 65536 And &HFF&
|
||||
padding(3) = UnsignedToLong(dblBits) \ 16777216 And &HFF&
|
||||
padding(4) = 0
|
||||
padding(5) = 0
|
||||
padding(6) = 0
|
||||
padding(7) = 0
|
||||
MD5Update(8, padding)
|
||||
End Sub
|
||||
|
||||
Public Sub MD5Update(InputLen As Long, InputBuffer() As Byte)
|
||||
Dim II As Integer, i As Integer, J As Integer, K As Integer, lngBufferedBytes As Long, lngBufferRemaining As Long, lngRem As Long
|
||||
|
||||
lngBufferedBytes = ByteCounter Mod 64
|
||||
lngBufferRemaining = 64 - lngBufferedBytes
|
||||
ByteCounter = ByteCounter + InputLen
|
||||
|
||||
If InputLen >= lngBufferRemaining Then
|
||||
For II = 0 To lngBufferRemaining - 1
|
||||
ByteBuffer(lngBufferedBytes + II) = InputBuffer(II)
|
||||
Next II
|
||||
MD5Transform(ByteBuffer)
|
||||
lngRem = (InputLen) Mod 64
|
||||
For i = lngBufferRemaining To InputLen - II - lngRem Step 64
|
||||
For J = 0 To 63
|
||||
ByteBuffer(J) = InputBuffer(i + J)
|
||||
Next J
|
||||
MD5Transform(ByteBuffer)
|
||||
Next i
|
||||
lngBufferedBytes = 0
|
||||
Else
|
||||
i = 0
|
||||
End If
|
||||
For K = 0 To InputLen - i - 1
|
||||
ByteBuffer(lngBufferedBytes + K) = InputBuffer(i + K)
|
||||
Next K
|
||||
End Sub
|
||||
|
||||
Dim X(16) As Long, A As Long, B As Long, C As Long, D As Long
|
||||
Private Sub MD5Transform(Buffer() As Byte)
|
||||
|
||||
|
||||
A = State(1)
|
||||
B = State(2)
|
||||
C = State(3)
|
||||
D = State(4)
|
||||
Decode(64, X, Buffer)
|
||||
FF(A, B, C, D, X(0), S11, -680876936)
|
||||
FF(D, A, B, C, X(1), S12, -389564586)
|
||||
FF(C, D, A, B, X(2), S13, 606105819)
|
||||
FF(B, C, D, A, X(3), S14, -1044525330)
|
||||
FF(A, B, C, D, X(4), S11, -176418897)
|
||||
FF(D, A, B, C, X(5), S12, 1200080426)
|
||||
FF(C, D, A, B, X(6), S13, -1473231341)
|
||||
FF(B, C, D, A, X(7), S14, -45705983)
|
||||
FF(A, B, C, D, X(8), S11, 1770035416)
|
||||
FF(D, A, B, C, X(9), S12, -1958414417)
|
||||
FF(C, D, A, B, X(10), S13, -42063)
|
||||
FF(B, C, D, A, X(11), S14, -1990404162)
|
||||
FF(A, B, C, D, X(12), S11, 1804603682)
|
||||
FF(D, A, B, C, X(13), S12, -40341101)
|
||||
FF(C, D, A, B, X(14), S13, -1502002290)
|
||||
FF(B, C, D, A, X(15), S14, 1236535329)
|
||||
|
||||
GG(A, B, C, D, X(1), S21, -165796510)
|
||||
GG(D, A, B, C, X(6), S22, -1069501632)
|
||||
GG(C, D, A, B, X(11), S23, 643717713)
|
||||
GG(B, C, D, A, X(0), S24, -373897302)
|
||||
GG(A, B, C, D, X(5), S21, -701558691)
|
||||
GG(D, A, B, C, X(10), S22, 38016083)
|
||||
GG(C, D, A, B, X(15), S23, -660478335)
|
||||
GG(B, C, D, A, X(4), S24, -405537848)
|
||||
GG(A, B, C, D, X(9), S21, 568446438)
|
||||
GG(D, A, B, C, X(14), S22, -1019803690)
|
||||
GG(C, D, A, B, X(3), S23, -187363961)
|
||||
GG(B, C, D, A, X(8), S24, 1163531501)
|
||||
GG(A, B, C, D, X(13), S21, -1444681467)
|
||||
GG(D, A, B, C, X(2), S22, -51403784)
|
||||
GG(C, D, A, B, X(7), S23, 1735328473)
|
||||
GG(B, C, D, A, X(12), S24, -1926607734)
|
||||
|
||||
HH(A, B, C, D, X(5), S31, -378558)
|
||||
HH(D, A, B, C, X(8), S32, -2022574463)
|
||||
HH(C, D, A, B, X(11), S33, 1839030562)
|
||||
HH(B, C, D, A, X(14), S34, -35309556)
|
||||
HH(A, B, C, D, X(1), S31, -1530992060)
|
||||
HH(D, A, B, C, X(4), S32, 1272893353)
|
||||
HH(C, D, A, B, X(7), S33, -155497632)
|
||||
HH(B, C, D, A, X(10), S34, -1094730640)
|
||||
HH(A, B, C, D, X(13), S31, 681279174)
|
||||
HH(D, A, B, C, X(0), S32, -358537222)
|
||||
HH(C, D, A, B, X(3), S33, -722521979)
|
||||
HH(B, C, D, A, X(6), S34, 76029189)
|
||||
HH(A, B, C, D, X(9), S31, -640364487)
|
||||
HH(D, A, B, C, X(12), S32, -421815835)
|
||||
HH(C, D, A, B, X(15), S33, 530742520)
|
||||
HH(B, C, D, A, X(2), S34, -995338651)
|
||||
|
||||
II(A, B, C, D, X(0), S41, -198630844)
|
||||
II(D, A, B, C, X(7), S42, 1126891415)
|
||||
II(C, D, A, B, X(14), S43, -1416354905)
|
||||
II(B, C, D, A, X(5), S44, -57434055)
|
||||
II(A, B, C, D, X(12), S41, 1700485571)
|
||||
II(D, A, B, C, X(3), S42, -1894986606)
|
||||
II(C, D, A, B, X(10), S43, -1051523)
|
||||
II(B, C, D, A, X(1), S44, -2054922799)
|
||||
II(A, B, C, D, X(8), S41, 1873313359)
|
||||
II(D, A, B, C, X(15), S42, -30611744)
|
||||
II(C, D, A, B, X(6), S43, -1560198380)
|
||||
II(B, C, D, A, X(13), S44, 1309151649)
|
||||
II(A, B, C, D, X(4), S41, -145523070)
|
||||
II(D, A, B, C, X(11), S42, -1120210379)
|
||||
II(C, D, A, B, X(2), S43, 718787259)
|
||||
II(B, C, D, A, X(9), S44, -343485551)
|
||||
|
||||
State(1) = LongOverflowAdd(State(1), A)
|
||||
State(2) = LongOverflowAdd(State(2), B)
|
||||
State(3) = LongOverflowAdd(State(3), C)
|
||||
State(4) = LongOverflowAdd(State(4), D)
|
||||
End Sub
|
||||
|
||||
Private Sub Decode(Length As Integer, OutputBuffer() As Long, InputBuffer() As Byte)
|
||||
Dim intDblIndex As Integer, intByteIndex As Integer, dblSum As Double
|
||||
For intByteIndex = 0 To Length - 1 Step 4
|
||||
dblSum = InputBuffer(intByteIndex) + InputBuffer(intByteIndex + 1) * 256.0# + InputBuffer(intByteIndex + 2) * 65536.0# + InputBuffer(intByteIndex + 3) * 16777216.0#
|
||||
OutputBuffer(intDblIndex) = UnsignedToLong(dblSum)
|
||||
intDblIndex = intDblIndex + 1
|
||||
Next intByteIndex
|
||||
End Sub
|
||||
|
||||
Private Function FF(ByRef A As Long, ByRef B As Long, ByRef C As Long, ByRef D As Long, ByRef X As Long, ByRef S As Long, ByRef ac As Long) As Long
|
||||
A = LongOverflowAdd4(A, (B And C) Or (Not (B) And D), X, ac)
|
||||
A = LongLeftRotate(A, S)
|
||||
A = LongOverflowAdd(A, B)
|
||||
End Function
|
||||
|
||||
Private Function GG(ByRef A As Long, ByRef B As Long, ByRef C As Long, ByRef D As Long, ByRef X As Long, ByRef S As Long, ByRef ac As Long) As Long
|
||||
A = LongOverflowAdd4(A, (B And D) Or (C And Not (D)), X, ac)
|
||||
A = LongLeftRotate(A, S)
|
||||
A = LongOverflowAdd(A, B)
|
||||
End Function
|
||||
|
||||
Private Function HH(ByRef A As Long, ByRef B As Long, ByRef C As Long, ByRef D As Long, ByRef X As Long, ByRef S As Long, ByRef ac As Long) As Long
|
||||
A = LongOverflowAdd4(A, B Xor C Xor D, X, ac)
|
||||
A = LongLeftRotate(A, S)
|
||||
A = LongOverflowAdd(A, B)
|
||||
End Function
|
||||
|
||||
Private Function II(ByRef A As Long, ByRef B As Long, ByRef C As Long, ByRef D As Long, ByRef X As Long, ByRef S As Long, ByRef ac As Long) As Long
|
||||
A = LongOverflowAdd4(A, C Xor (B Or Not (D)), X, ac)
|
||||
A = LongLeftRotate(A, S)
|
||||
A = LongOverflowAdd(A, B)
|
||||
End Function
|
||||
|
||||
Function LongLeftRotate(value As Long, Bits As Long) As Long
|
||||
Dim lngSign As Long, lngI As Long
|
||||
Bits = Bits Mod 32
|
||||
If Bits = 0 Then LongLeftRotate = value : Exit Function
|
||||
For lngI = 1 To Bits
|
||||
lngSign = value And &HC0000000
|
||||
value = (value And &H3FFFFFFF) * 2
|
||||
value = value Or ((lngSign < 0) And 1) Or (CBool(lngSign And &H40000000) And &H80000000)
|
||||
Next
|
||||
LongLeftRotate = value
|
||||
End Function
|
||||
|
||||
Private Function LongOverflowAdd(Val1 As Long, Val2 As Long) As Long
|
||||
Dim lngHighWord As Long, lngLowWord As Long, lngOverflow As Long
|
||||
lngLowWord = (Val1 And &HFFFF&) + (Val2 And &HFFFF&)
|
||||
lngOverflow = lngLowWord \ 65536
|
||||
lngHighWord = (((Val1 And &HFFFF0000) \ 65536) + ((Val2 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
|
||||
LongOverflowAdd = UnsignedToLong((lngHighWord * 65536.0#) + (lngLowWord And &HFFFF&))
|
||||
End Function
|
||||
|
||||
Private Function LongOverflowAdd4(Val1 As Long, Val2 As Long, val3 As Long, val4 As Long) As Long
|
||||
Dim lngHighWord As Long, lngLowWord As Long, lngOverflow As Long
|
||||
lngLowWord = (Val1 And &HFFFF&) + (Val2 And &HFFFF&) + (val3 And &HFFFF&) + (val4 And &HFFFF&)
|
||||
lngOverflow = lngLowWord \ 65536
|
||||
lngHighWord = (((Val1 And &HFFFF0000) \ 65536) + ((Val2 And &HFFFF0000) \ 65536) + ((val3 And &HFFFF0000) \ 65536) + ((val4 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
|
||||
LongOverflowAdd4 = UnsignedToLong((lngHighWord * 65536.0#) + (lngLowWord And &HFFFF&))
|
||||
End Function
|
||||
|
||||
Private Function UnsignedToLong(value As Double) As Long
|
||||
If value < 0 Or value >= OFFSET_4 Then Error 6
|
||||
If value <= MAXINT_4 Then UnsignedToLong = value Else UnsignedToLong = value - OFFSET_4
|
||||
End Function
|
||||
|
||||
Private Function LongToUnsigned(value As Long) As Double
|
||||
If value < 0 Then LongToUnsigned = value + OFFSET_4 Else LongToUnsigned = value
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
End Module
|
||||
13
DPMLizenzmanagement/SHUKeyGen/My Project/Application.Designer.vb
generated
Normal file
13
DPMLizenzmanagement/SHUKeyGen/My Project/Application.Designer.vb
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
' </auto-generated>
|
||||
'------------------------------------------------------------------------------
|
||||
|
||||
Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
10
DPMLizenzmanagement/SHUKeyGen/My Project/Application.myapp
Normal file
10
DPMLizenzmanagement/SHUKeyGen/My Project/Application.myapp
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<MySubMain>false</MySubMain>
|
||||
<SingleInstance>false</SingleInstance>
|
||||
<ShutdownMode>0</ShutdownMode>
|
||||
<EnableVisualStyles>true</EnableVisualStyles>
|
||||
<AuthenticationMode>0</AuthenticationMode>
|
||||
<ApplicationType>1</ApplicationType>
|
||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
||||
</MyApplicationData>
|
||||
35
DPMLizenzmanagement/SHUKeyGen/My Project/AssemblyInfo.vb
Normal file
35
DPMLizenzmanagement/SHUKeyGen/My Project/AssemblyInfo.vb
Normal file
@@ -0,0 +1,35 @@
|
||||
Imports System
|
||||
Imports System.Reflection
|
||||
Imports System.Runtime.InteropServices
|
||||
|
||||
' Allgemeine Informationen über eine Assembly werden über die folgenden
|
||||
' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||
' die einer Assembly zugeordnet sind.
|
||||
|
||||
' Werte der Assemblyattribute überprüfen
|
||||
|
||||
<Assembly: AssemblyTitle("SHUKeyGen")>
|
||||
<Assembly: AssemblyDescription("")>
|
||||
<Assembly: AssemblyCompany("")>
|
||||
<Assembly: AssemblyProduct("SHUKeyGen")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2018")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
|
||||
<Assembly: ComVisible(False)>
|
||||
|
||||
'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird.
|
||||
<Assembly: Guid("f196bbba-a086-4e96-b4a8-d6136473234a")>
|
||||
|
||||
' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||
'
|
||||
' Hauptversion
|
||||
' Nebenversion
|
||||
' Buildnummer
|
||||
' Revision
|
||||
'
|
||||
' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.0.0.0")>
|
||||
<Assembly: AssemblyFileVersion("1.0.0.0")>
|
||||
62
DPMLizenzmanagement/SHUKeyGen/My Project/Resources.Designer.vb
generated
Normal file
62
DPMLizenzmanagement/SHUKeyGen/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("SHUKeyGen.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
DPMLizenzmanagement/SHUKeyGen/My Project/Resources.resx
Normal file
117
DPMLizenzmanagement/SHUKeyGen/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
DPMLizenzmanagement/SHUKeyGen/My Project/Settings.Designer.vb
generated
Normal file
73
DPMLizenzmanagement/SHUKeyGen/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.SHUKeyGen.My.MySettings
|
||||
Get
|
||||
Return Global.SHUKeyGen.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
108
DPMLizenzmanagement/SHUKeyGen/SHUKeyGen.vbproj
Normal file
108
DPMLizenzmanagement/SHUKeyGen/SHUKeyGen.vbproj
Normal file
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" 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>{9C0E2055-23AC-4209-8C03-0364C5AF2BAB}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>SHUKeyGen</RootNamespace>
|
||||
<AssemblyName>SHUKeyGen</AssemblyName>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<MyType>Windows</MyType>
|
||||
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DocumentationFile>SHUKeyGen.xml</DocumentationFile>
|
||||
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DocumentationFile>SHUKeyGen.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>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Import Include="Microsoft.VisualBasic" />
|
||||
<Import Include="System" />
|
||||
<Import Include="System.Collections" />
|
||||
<Import Include="System.Collections.Generic" />
|
||||
<Import Include="System.Data" />
|
||||
<Import Include="System.Diagnostics" />
|
||||
<Import Include="System.Linq" />
|
||||
<Import Include="System.Xml.Linq" />
|
||||
<Import Include="System.Threading.Tasks" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="clsKeyGen.vb" />
|
||||
<Compile Include="Crypto.vb" />
|
||||
<Compile Include="KeyCode.vb" />
|
||||
<Compile Include="MD5_Crypt.vb" />
|
||||
<Compile Include="My Project\AssemblyInfo.vb" />
|
||||
<Compile Include="My Project\Application.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Application.myapp</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Resources.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="My Project\Settings.Designer.vb">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="StrFunc.vb" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="My Project\Resources.resx">
|
||||
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="My Project\Application.myapp">
|
||||
<Generator>MyApplicationCodeGenerator</Generator>
|
||||
<LastGenOutput>Application.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
<None Include="My Project\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<CustomToolNamespace>My</CustomToolNamespace>
|
||||
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
</Project>
|
||||
396
DPMLizenzmanagement/SHUKeyGen/StrFunc.vb
Normal file
396
DPMLizenzmanagement/SHUKeyGen/StrFunc.vb
Normal file
@@ -0,0 +1,396 @@
|
||||
Module StrFunc
|
||||
'Attribute VB_Name = "StrFuncs"
|
||||
' *
|
||||
' * StrFuncs Module
|
||||
' * Copyright (C) 2007 John Mazza.
|
||||
' *
|
||||
' * Written by John Mazza <maz@mgcworks.com>
|
||||
' *
|
||||
' * This library is free software; you can redistribute it and/or
|
||||
' * modify it under the terms of the GNU Lesser General Public
|
||||
' * License Version 2.1 as published by the Free Software Foundation.
|
||||
' *
|
||||
' * This library is distributed in the hope that it will be useful,
|
||||
' * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
' * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
' * Lesser General Public License for more details.
|
||||
' *
|
||||
' * You should have received a copy of the GNU Lesser General Public
|
||||
' * License along with this library; if not, write to the Free Software
|
||||
' * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
' ****************************************************************************
|
||||
'
|
||||
' PURPOSE
|
||||
' String manipulation routines
|
||||
'
|
||||
' LANGUAGE
|
||||
' Visual Basic 6.0 or VBA6
|
||||
' Should work in VB.NET as well
|
||||
'
|
||||
' DEPENDENCIES:
|
||||
' None known
|
||||
'
|
||||
|
||||
|
||||
' Helper for Base32 numbers
|
||||
Const B32Map = "0123456789ABCDEFGHJKLMNPRSTVWXYZ"
|
||||
|
||||
|
||||
' General String Functions
|
||||
|
||||
' RemoveDashes() - Trivial function to delete "-" character from a string
|
||||
|
||||
Public Function RemoveDashes(ByVal StrIn As String) As String
|
||||
RemoveDashes = Replace(StrIn, "-", "")
|
||||
End Function
|
||||
|
||||
|
||||
' ShiftStrLeft() - Shift a string left by a number of bits
|
||||
|
||||
Public Function ShiftStrLeft(ByVal StrIn As String, ByVal Bits As Long) As String
|
||||
Dim CurPos As Long
|
||||
Dim WorkStr As String
|
||||
Dim RetStr As String
|
||||
Dim CurByteVal As Byte
|
||||
Dim BitMask As Byte
|
||||
Dim InvMask As Byte
|
||||
Dim ShiftBits As Byte
|
||||
Dim WholeBytes As Long
|
||||
Dim LeftPart As Byte
|
||||
Dim RightPart As Byte
|
||||
Dim Carry As Byte
|
||||
Dim PrevChar As Byte
|
||||
Dim TrimMask As Byte
|
||||
|
||||
Dim StrLen As Integer
|
||||
Dim StrBits As Integer
|
||||
|
||||
' Figure out some metrics on our input string
|
||||
|
||||
WholeBytes = Int(Bits / 8)
|
||||
ShiftBits = Bits Mod 8
|
||||
|
||||
BitMask = 255 - (2 ^ (8 - ShiftBits) - 1)
|
||||
InvMask = Not (BitMask)
|
||||
TrimMask = (2 ^ ShiftBits) - 1
|
||||
|
||||
CurPos = 1
|
||||
StrLen = Len(StrIn)
|
||||
StrBits = StrLen * 8
|
||||
WorkStr = StrIn
|
||||
|
||||
' Check we're not trying to shift more bits than
|
||||
' we have in the string.
|
||||
|
||||
If (StrBits > Bits) Then
|
||||
' First, shift string by whole bytes
|
||||
If (WholeBytes > 0) Then
|
||||
WorkStr = Right(WorkStr, StrLen - WholeBytes)
|
||||
|
||||
' Pad zero bytes to end of WorkStr to make length match
|
||||
|
||||
For CurPos = 1 To WholeBytes
|
||||
WorkStr = WorkStr & Chr(0)
|
||||
Next CurPos
|
||||
|
||||
' Ensure RetStr contains shifted string in case no other
|
||||
' bitwise shifting is performed later
|
||||
|
||||
RetStr = WorkStr
|
||||
End If
|
||||
|
||||
' Now handle the bitwise shift
|
||||
If (ShiftBits > 0) Then
|
||||
|
||||
For CurPos = 1 To Len(WorkStr)
|
||||
' Read next character of input and mask it appropriately
|
||||
CurByteVal = Asc(Mid(WorkStr, CurPos, 1))
|
||||
LeftPart = (CurByteVal And BitMask) And &HFF
|
||||
RightPart = (CurByteVal And InvMask) And &HFF
|
||||
|
||||
' Shift the masked portions
|
||||
LeftPart = Int(LeftPart / (2 ^ (8 - ShiftBits)))
|
||||
RightPart = (RightPart * (2 ^ ShiftBits))
|
||||
|
||||
If CurPos = 1 Then
|
||||
' Put the non-discarded part into PrevChar for later use
|
||||
PrevChar = (RightPart)
|
||||
RetStr = ""
|
||||
Else
|
||||
' Put carryover part into PrevChar and combine
|
||||
' the other bits with the carry from previous step
|
||||
PrevChar = PrevChar Or LeftPart
|
||||
RetStr = RetStr & Chr(PrevChar)
|
||||
PrevChar = RightPart
|
||||
End If
|
||||
|
||||
Next CurPos
|
||||
|
||||
' Combine our final carry with last char of string and mask off
|
||||
PrevChar = (PrevChar Or (LeftPart And Not (TrimMask)))
|
||||
RetStr = RetStr & Chr(PrevChar)
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
' If we're trying to shift by more bits than
|
||||
' input string, return an equal length string
|
||||
' full of zeroes (null characters).
|
||||
|
||||
For CurPos = 1 To StrLen
|
||||
RetStr = RetStr & Chr(0)
|
||||
Next CurPos
|
||||
End If
|
||||
|
||||
ShiftStrLeft = RetStr
|
||||
|
||||
End Function
|
||||
|
||||
' ShiftStringRight() - Shift a string right a number of bits
|
||||
|
||||
Public Function ShiftStrRight(ByVal StrIn As String, ByVal Bits As Long) As String
|
||||
Dim CurPos As Long
|
||||
Dim WorkStr As String
|
||||
Dim RetStr As String
|
||||
Dim CurByteVal As Byte
|
||||
Dim BitMask As Byte
|
||||
Dim InvMask As Byte
|
||||
Dim ShiftBits As Byte
|
||||
Dim WholeBytes As Long
|
||||
Dim LeftPart As Byte
|
||||
Dim RightPart As Byte
|
||||
Dim Carry As Byte
|
||||
Dim PrevChar As Byte
|
||||
Dim TrimMask As Byte
|
||||
|
||||
Dim StrLen As Integer
|
||||
Dim StrBits As Integer
|
||||
' Calculate metrics on input
|
||||
|
||||
WholeBytes = Int(Bits / 8)
|
||||
ShiftBits = Bits Mod 8
|
||||
|
||||
BitMask = 255 - ((2 ^ ShiftBits) - 1)
|
||||
InvMask = Not (BitMask)
|
||||
TrimMask = (2 ^ ShiftBits) - 1
|
||||
|
||||
CurPos = 1
|
||||
StrLen = Len(StrIn)
|
||||
StrBits = StrLen * 8
|
||||
|
||||
' Check we're not trying to shift more bits than
|
||||
' we have in the string.
|
||||
WorkStr = StrIn
|
||||
|
||||
If (StrBits > Bits) Then
|
||||
|
||||
' First, shift string by whole bytes
|
||||
|
||||
If (WholeBytes > 0) Then
|
||||
WorkStr = Left(WorkStr, StrLen - WholeBytes)
|
||||
|
||||
' Pad zero bytes to end of WorkStr
|
||||
|
||||
For CurPos = 1 To WholeBytes
|
||||
WorkStr = Chr(0) & WorkStr
|
||||
Next CurPos
|
||||
|
||||
' Ensure RetStr contains shifted string in case no other
|
||||
' bitwise shifting later
|
||||
|
||||
RetStr = WorkStr
|
||||
End If
|
||||
|
||||
' Now handle the bitwise shift
|
||||
If (ShiftBits > 0) Then
|
||||
|
||||
RetStr = ""
|
||||
|
||||
For CurPos = Len(WorkStr) To 1 Step -1
|
||||
|
||||
CurByteVal = Asc(Mid(WorkStr, CurPos, 1))
|
||||
|
||||
LeftPart = CurByteVal And BitMask
|
||||
LeftPart = LeftPart / (2 ^ ShiftBits)
|
||||
|
||||
RightPart = CurByteVal And InvMask
|
||||
RightPart = RightPart * (2 ^ (8 - ShiftBits))
|
||||
|
||||
If CurPos = Len(WorkStr) Then
|
||||
Carry = LeftPart
|
||||
Else
|
||||
CurByteVal = RightPart Or Carry
|
||||
Carry = LeftPart
|
||||
RetStr = Chr(CurByteVal) & RetStr
|
||||
End If
|
||||
|
||||
Next CurPos
|
||||
|
||||
RetStr = Chr(Carry) & RetStr
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
' If we're trying to shift by more bits than
|
||||
' input string, return an equal length string
|
||||
' full of zeroes.
|
||||
|
||||
For CurPos = 1 To StrLen
|
||||
RetStr = RetStr & Chr(0)
|
||||
Next CurPos
|
||||
End If
|
||||
|
||||
ShiftStrRight = RetStr
|
||||
|
||||
End Function
|
||||
|
||||
' Base32Enc() - Takes a "binary" string and represents as a Base32 number
|
||||
' Net result is an encoding where each "character" represents 5 bits
|
||||
|
||||
Public Function Base32Enc(ByVal StrIn As String) As String
|
||||
Dim CurBit As Long
|
||||
Dim Mask32 As Byte
|
||||
Dim CurPos As Long
|
||||
Dim CurVal As Byte
|
||||
Dim StrBits As Long
|
||||
Dim BitsProc As Long
|
||||
Dim WorkStr As String
|
||||
Dim RetStr As String
|
||||
Dim CurConv As String
|
||||
|
||||
Dim StrGroups As Integer
|
||||
Dim StrChar As Integer
|
||||
|
||||
RetStr = ""
|
||||
WorkStr = StrIn
|
||||
StrBits = Len(StrIn) * 8
|
||||
StrGroups = Int(StrBits / 5)
|
||||
|
||||
If (StrBits Mod 5) <> 0 Then StrGroups = StrGroups + 1
|
||||
|
||||
StrChar = Len(StrIn)
|
||||
BitsProc = 0
|
||||
Mask32 = &H1F
|
||||
|
||||
' Work from back of string to front.
|
||||
' and output the character representing each 5-bit group
|
||||
|
||||
For CurPos = 1 To StrGroups
|
||||
CurVal = Asc(Mid(WorkStr, Len(WorkStr), 1))
|
||||
CurVal = (CurVal And Mask32) + 1
|
||||
CurConv = Mid(B32Map, CurVal, 1)
|
||||
WorkStr = ShiftStrRight(WorkStr, 5)
|
||||
RetStr = CurConv & RetStr
|
||||
Next CurPos
|
||||
|
||||
Base32Enc = RetStr
|
||||
|
||||
End Function
|
||||
|
||||
' Base32Dec() - Takes a string encoded with Base32Enc() and returns the
|
||||
' original "binary" string it represents.
|
||||
|
||||
Public Function Base32Dec(ByVal StrIn As String) As String
|
||||
Dim CurPos As Long
|
||||
Dim CurVal As Byte
|
||||
Dim CurChr As String
|
||||
Dim RetStr As String
|
||||
Dim WorkStr As String
|
||||
Dim Carry As Byte
|
||||
Dim CarryMask As Byte
|
||||
Dim CurMask As Byte
|
||||
Dim ThisVal As Byte
|
||||
Dim ThisChar As String
|
||||
Dim ShiftBits As Long
|
||||
Dim OutBytes As Long
|
||||
Dim InBits As Long
|
||||
|
||||
' Calculate metrics
|
||||
Dim BitsProc As Integer
|
||||
Dim BaseMask As Object
|
||||
|
||||
BitsProc = 0
|
||||
BaseMask = &H1F
|
||||
Carry = 0
|
||||
WorkStr = StrIn
|
||||
|
||||
InBits = Len(StrIn) * 5
|
||||
OutBytes = Int(InBits / 8)
|
||||
|
||||
' Setup a string of zero bytes to push values into later
|
||||
|
||||
For CurPos = 1 To OutBytes
|
||||
RetStr = RetStr & Chr(0)
|
||||
Next CurPos
|
||||
|
||||
' Convert input string into binary representation
|
||||
|
||||
For CurPos = 1 To Len(StrIn)
|
||||
|
||||
' Derive 5-bit value of current char in StrIn
|
||||
CurChr = Mid(WorkStr, CurPos, 1)
|
||||
CurVal = InStr(1, B32Map, CurChr)
|
||||
CurVal = CurVal - 1
|
||||
|
||||
' Now, shift RetStr left 5 bits and pop last char off
|
||||
RetStr = ShiftStrLeft(RetStr, 5)
|
||||
ThisChar = Mid(RetStr, Len(RetStr), 1)
|
||||
RetStr = Left(RetStr, Len(RetStr) - 1)
|
||||
|
||||
' Now, OR our CurChr with the popped value
|
||||
' and push result back to end of string
|
||||
ThisVal = Asc(ThisChar)
|
||||
ThisVal = ThisVal Or CurVal
|
||||
ThisChar = Chr(ThisVal)
|
||||
RetStr = RetStr & ThisChar
|
||||
Next CurPos
|
||||
|
||||
Base32Dec = RetStr
|
||||
|
||||
End Function
|
||||
|
||||
' HexStrToBinStr() - Convert a hexadecimal string into a binary representation
|
||||
|
||||
Public Function HexStrToBinStr(ByVal StrIn As String) As String
|
||||
Dim StrOut As String
|
||||
Dim Ch As Long
|
||||
Dim HexByte As String
|
||||
Dim ByteVal As Long
|
||||
Dim ByteCh As String
|
||||
|
||||
StrOut = ""
|
||||
|
||||
For Ch = 1 To Len(StrIn) Step 2
|
||||
HexByte = Mid(StrIn, Ch, 2)
|
||||
ByteVal = Val("&H" & HexByte)
|
||||
ByteCh = Chr(ByteVal)
|
||||
StrOut = StrOut & ByteCh
|
||||
Next Ch
|
||||
|
||||
HexStrToBinStr = StrOut
|
||||
|
||||
End Function
|
||||
|
||||
' BinStrToHexStr() - Convert a binary string to a hexadecimal representation
|
||||
|
||||
Public Function BinStrToHexStr(ByVal StrIn As String) As String
|
||||
Dim StrOut As String
|
||||
Dim Ch As Long
|
||||
Dim HexByte As String
|
||||
Dim HexChr As String
|
||||
|
||||
StrOut = ""
|
||||
|
||||
For Ch = 1 To Len(StrIn)
|
||||
HexByte = Mid(StrIn, Ch, 1)
|
||||
HexChr = Hex$(Asc(HexByte))
|
||||
If Len(HexChr) = 1 Then HexChr = "0" & HexChr
|
||||
StrOut = StrOut & HexChr
|
||||
Next Ch
|
||||
|
||||
BinStrToHexStr = StrOut
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Module
|
||||
BIN
DPMLizenzmanagement/SHUKeyGen/bin/Debug/SHUKeyGen.dll
Normal file
BIN
DPMLizenzmanagement/SHUKeyGen/bin/Debug/SHUKeyGen.dll
Normal file
Binary file not shown.
BIN
DPMLizenzmanagement/SHUKeyGen/bin/Debug/SHUKeyGen.pdb
Normal file
BIN
DPMLizenzmanagement/SHUKeyGen/bin/Debug/SHUKeyGen.pdb
Normal file
Binary file not shown.
26
DPMLizenzmanagement/SHUKeyGen/bin/Debug/SHUKeyGen.xml
Normal file
26
DPMLizenzmanagement/SHUKeyGen/bin/Debug/SHUKeyGen.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
SHUKeyGen
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:SHUKeyGen.My.Resources.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:SHUKeyGen.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:SHUKeyGen.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
367
DPMLizenzmanagement/SHUKeyGen/clsKeyGen.vb
Normal file
367
DPMLizenzmanagement/SHUKeyGen/clsKeyGen.vb
Normal file
@@ -0,0 +1,367 @@
|
||||
Imports System.IO
|
||||
Imports System.Windows
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class clsKeyGen
|
||||
Dim m_demomode As Boolean
|
||||
Property DemoMode As Boolean
|
||||
Get
|
||||
Return m_demomode
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_demomode = value
|
||||
End Set
|
||||
End Property
|
||||
Dim m_delimiter As String
|
||||
Property Delimiter As String
|
||||
Get
|
||||
Return m_delimiter
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_delimiter = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_cryptokey As String
|
||||
Property Cryptokey As String
|
||||
Get
|
||||
Return m_cryptokey
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_cryptokey = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_lizenznehmer As String
|
||||
Property Lizenznahmer As String
|
||||
Get
|
||||
Return m_lizenznehmer
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_lizenznehmer = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_seriennummer As String
|
||||
Property Seriennummer As String
|
||||
Get
|
||||
Return m_seriennummer
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_seriennummer = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_Produktname As String
|
||||
Property Produktname As String
|
||||
Get
|
||||
Return m_Produktname
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_Produktname = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_Gueltigbis As DateTime
|
||||
Property Gueltigbis As DateTime
|
||||
Get
|
||||
Return m_Gueltigbis
|
||||
End Get
|
||||
Set(value As DateTime)
|
||||
m_Gueltigbis = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_lizenzgeber As String
|
||||
Property Lizenzgeber As String
|
||||
Get
|
||||
Return m_lizenzgeber
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_lizenzgeber = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_option1 As Boolean
|
||||
Dim m_option2 As Boolean
|
||||
Dim m_option3 As Boolean
|
||||
Dim m_option4 As Boolean
|
||||
Dim m_option5 As Boolean
|
||||
Dim m_option6 As Boolean
|
||||
|
||||
Property Option1 As Boolean
|
||||
Get
|
||||
Return m_option1
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_option1 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property Option2 As Boolean
|
||||
Get
|
||||
Return m_option2
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_option2 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property Option3 As Boolean
|
||||
Get
|
||||
Return m_option3
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_option3 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property Option4 As Boolean
|
||||
Get
|
||||
Return m_option4
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_option4 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property Option5 As Boolean
|
||||
Get
|
||||
Return m_option5
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_option5 = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property Option6 As Boolean
|
||||
Get
|
||||
Return m_option6
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_option6 = value
|
||||
If m_option6 = True Then Me.DemoMode = True
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_keycode As String
|
||||
Property KeyCode As String
|
||||
Get
|
||||
Return m_keycode
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_keycode = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim m_status As String
|
||||
Property Status As String
|
||||
Get
|
||||
Return m_status
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_status = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Dim tempkeycode As Object
|
||||
Dim rawkey As Object
|
||||
Dim binkey As Object
|
||||
|
||||
Sub New(Optional Lizenznehmer As String = "", Optional Seriennummer As String = "", Optional Produktname As String = "", Optional Gueltigbis As String = "", Optional Lizenzgeber As String = "", Optional Delimiter As String = "", Optional Cryptostring As String = "")
|
||||
Try
|
||||
Me.Lizenznahmer = Lizenznehmer
|
||||
Me.Seriennummer = Seriennummer
|
||||
Me.Produktname = Produktname
|
||||
Me.Lizenzgeber = Lizenzgeber
|
||||
Me.Delimiter = Delimiter
|
||||
Me.Cryptokey = Cryptostring
|
||||
Me.Gueltigbis = Gueltigbis
|
||||
Catch
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
Sub GenNewKey()
|
||||
Try
|
||||
Dim FeatID As Long
|
||||
|
||||
FeatID = 0
|
||||
Dim UsernameT As String
|
||||
Dim ProdNameT As String
|
||||
|
||||
'Build bitmap from checkboxes
|
||||
If Me.Option1 Then FeatID = FeatID Or 1
|
||||
If Me.Option2 Then FeatID = FeatID Or 2
|
||||
If Me.Option3 Then FeatID = FeatID Or 4
|
||||
If Me.Option4 Then FeatID = FeatID Or 8
|
||||
If Me.Option5 Then FeatID = FeatID Or 16
|
||||
If Me.Option6 Then FeatID = FeatID Or 32
|
||||
|
||||
UsernameT = Trim(Me.Lizenznahmer)
|
||||
ProdNameT = Trim(Me.Seriennummer)
|
||||
|
||||
If Not (UsernameT = "") Or Not (ProdNameT = "") Then
|
||||
rawkey = GenKeyString(Trim(Lizenznahmer), Trim(Seriennummer) & Trim(Produktname), FeatID)
|
||||
'rawkey = GenKeyString(UsernameT, ProdNameT & Me.txtProductName.Text + Me.DateTimePicker1.ToString, FeatID)
|
||||
binkey = HexStrToBinStr(rawkey)
|
||||
Me.KeyCode = FormatKeyCode(Base32Enc(binkey), 4)
|
||||
Me.Status = "Key generated"
|
||||
Else
|
||||
Me.KeyCode = "n.a."
|
||||
Me.Status = "Key generation error"
|
||||
End If
|
||||
Catch ex As Exception
|
||||
Me.Status = "Key generation error"
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Sub Save_Licensefile()
|
||||
Try
|
||||
Dim sd As New SaveFileDialog
|
||||
sd.Filter = "Key-Files|*.key|All files|*.*"
|
||||
sd.FilterIndex = 0
|
||||
If sd.ShowDialog <> DialogResult.OK Then
|
||||
Exit Sub
|
||||
End If
|
||||
Dim Cryptedstring = Me.Lizenznahmer + Me.Delimiter + Seriennummer + Delimiter + Me.Gueltigbis.ToShortDateString + Delimiter + Me.Lizenzgeber + Delimiter + Me.Produktname
|
||||
binkey = binkey + Delimiter + Cryptedstring
|
||||
binkey = Crypto.EncryptText(binkey, Cryptokey)
|
||||
Me.Status = "File: " + sd.FileName + " saved"
|
||||
Dim fs As System.IO.FileStream
|
||||
fs = New System.IO.FileStream(sd.FileName, System.IO.FileMode.Create)
|
||||
Dim b As Byte()
|
||||
b = UnicodeStringToBytes(binkey)
|
||||
fs.Write(b, 0, b.Length)
|
||||
fs.Close()
|
||||
sd.Dispose()
|
||||
Catch
|
||||
Me.Status = "Save file error"
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Function UnicodeStringToBytes(ByVal str As String) As Byte()
|
||||
Return System.Text.Encoding.Unicode.GetBytes(str)
|
||||
End Function
|
||||
|
||||
Private Function UnicodeBytesToString(
|
||||
ByVal bytes() As Byte) As String
|
||||
Return System.Text.Encoding.Unicode.GetString(bytes)
|
||||
End Function
|
||||
|
||||
#Region "GetFile"
|
||||
Dim features As Object
|
||||
Public Sub Read_LicenseFile(ByVal Filename As String)
|
||||
|
||||
Dim od As New OpenFileDialog
|
||||
If Filename = "" Then
|
||||
od.Filter = "Key-Files|*.key|All files|*.*"
|
||||
od.FilterIndex = 0
|
||||
If od.ShowDialog <> DialogResult.OK Then
|
||||
Exit Sub
|
||||
End If
|
||||
Else
|
||||
If System.IO.File.Exists(Filename) Then
|
||||
od.FileName = Filename
|
||||
Else
|
||||
Me.Status = "KeyFile not found."
|
||||
Me.DemoMode = True
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim fInfo As New System.IO.FileInfo(od.FileName)
|
||||
Dim numBytes As Long = fInfo.Length
|
||||
Dim fs As New FileStream(od.FileName, FileMode.Open, FileAccess.Read)
|
||||
Dim br As New System.IO.BinaryReader(fs)
|
||||
Dim bytes As Byte() = br.ReadBytes(CInt(numBytes))
|
||||
|
||||
Dim s As String
|
||||
s = UnicodeBytesToString(bytes)
|
||||
s = Crypto.DecryptText(s, Me.Cryptokey)
|
||||
Dim splitter As String()
|
||||
splitter = s.Split(Me.Delimiter)
|
||||
Me.KeyCode = FormatKeyCode(Base32Enc(splitter(0)), 4)
|
||||
Me.Lizenznahmer = splitter(2)
|
||||
Me.Seriennummer = splitter(4)
|
||||
Me.Gueltigbis = splitter(6)
|
||||
Me.Lizenzgeber = splitter(8)
|
||||
Me.Produktname = splitter(10)
|
||||
|
||||
If IsKeyValid(Me.KeyCode, Me.Lizenznahmer, Me.Seriennummer) Then
|
||||
features = GetKeyFeat(Me.KeyCode, Me.Lizenznahmer, Me.Seriennummer)
|
||||
DoCheckBoxes(features)
|
||||
Me.Status = "Fileread OK"
|
||||
Else
|
||||
Me.Status = "License is not valid."
|
||||
Me.DemoMode = True
|
||||
End If
|
||||
|
||||
br.Close()
|
||||
fs.Close()
|
||||
od.Dispose()
|
||||
End Sub
|
||||
|
||||
Private Function IsKeyValid(ByVal KeyCode As String, ByVal UserName As String, ByVal ProdName As String) As Boolean
|
||||
Dim BinKey As String
|
||||
Dim IsValid As Boolean
|
||||
Dim HexKey As String
|
||||
|
||||
IsValid = False
|
||||
|
||||
' First, decode Base32 string into binary one
|
||||
' Remove any dashes in input string
|
||||
|
||||
BinKey = Base32Dec(RemoveDashes(KeyCode))
|
||||
|
||||
HexKey = BinStrToHexStr(BinKey)
|
||||
IsValid = ValidateKeyCode(HexKey, Me.Lizenznahmer, Me.Seriennummer & Me.Produktname)
|
||||
|
||||
|
||||
IsKeyValid = IsValid
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Dim Isvalid As Boolean
|
||||
Private Function GetKeyFeat(ByVal KeyCode As String, UserName As String, ProdName As String) As Long
|
||||
Dim BinKey As String
|
||||
Dim FeatBMP As Long
|
||||
Dim HexKey As String
|
||||
|
||||
Isvalid = False
|
||||
|
||||
' First, decode Base32 string into binary one
|
||||
' Remove any dashes in input string
|
||||
|
||||
BinKey = Base32Dec(RemoveDashes(KeyCode))
|
||||
|
||||
' Check length of BinKey - must be 16 to be valid
|
||||
If Len(BinKey) = 16 Then
|
||||
HexKey = BinStrToHexStr(BinKey)
|
||||
FeatBMP = ExtractKeyFBits(HexKey, Me.Lizenznahmer, Me.Seriennummer & Me.Produktname)
|
||||
Else
|
||||
FeatBMP = 0
|
||||
End If
|
||||
|
||||
GetKeyFeat = FeatBMP
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Private Sub DoCheckBoxes(ByVal ChkVal As Long)
|
||||
Me.Option1 = ChkVal And 1
|
||||
Me.Option2 = (ChkVal And 2) / 2
|
||||
Me.Option3 = (ChkVal And 4) / 4
|
||||
Me.Option4 = (ChkVal And 8) / 8
|
||||
Me.Option5 = (ChkVal And 16) / 16
|
||||
Me.Option6 = (ChkVal And 32) / 32
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
Binary file not shown.
Binary file not shown.
BIN
DPMLizenzmanagement/SHUKeyGen/obj/Debug/SHUKeyGen.dll
Normal file
BIN
DPMLizenzmanagement/SHUKeyGen/obj/Debug/SHUKeyGen.dll
Normal file
Binary file not shown.
BIN
DPMLizenzmanagement/SHUKeyGen/obj/Debug/SHUKeyGen.pdb
Normal file
BIN
DPMLizenzmanagement/SHUKeyGen/obj/Debug/SHUKeyGen.pdb
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
3199ede46b0738d56294ca8ad1362ea89d39dec0
|
||||
@@ -0,0 +1,19 @@
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.Resources.resources
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.vbproj.GenerateResource.cache
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.vbproj.CoreCompileInputs.cache
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\bin\Debug\SHUKeyGen.dll
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\bin\Debug\SHUKeyGen.pdb
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\bin\Debug\SHUKeyGen.xml
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.dll
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.xml
|
||||
E:\Software-Projekte\_Demos\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.pdb
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\bin\Debug\SHUKeyGen.dll
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\bin\Debug\SHUKeyGen.pdb
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\bin\Debug\SHUKeyGen.xml
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.vbprojResolveAssemblyReference.cache
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.Resources.resources
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.vbproj.GenerateResource.cache
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.vbproj.CoreCompileInputs.cache
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.dll
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.xml
|
||||
E:\Software-Projekte\DPM\DPM2016\DPMLizenzmanagement\SHUKeyGen\obj\Debug\SHUKeyGen.pdb
|
||||
Binary file not shown.
Binary file not shown.
26
DPMLizenzmanagement/SHUKeyGen/obj/Debug/SHUKeyGen.xml
Normal file
26
DPMLizenzmanagement/SHUKeyGen/obj/Debug/SHUKeyGen.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>
|
||||
SHUKeyGen
|
||||
</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:SHUKeyGen.My.Resources.Resources">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:SHUKeyGen.My.Resources.Resources.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:SHUKeyGen.My.Resources.Resources.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
3199ede46b0738d56294ca8ad1362ea89d39dec0
|
||||
Binary file not shown.
Reference in New Issue
Block a user