diff --git a/About.Designer.cs b/About.Designer.cs new file mode 100644 index 0000000..292f1fb --- /dev/null +++ b/About.Designer.cs @@ -0,0 +1,100 @@ +using System.ComponentModel; + +namespace RDP_Portal { + partial class About { + /// + /// Required designer variable. + /// + private IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About)); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.labelName = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.buttonOK = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // linkLabel1 + // + this.linkLabel1.Location = new System.Drawing.Point(12, 67); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(503, 23); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "https://github.com/louislam/rdp-portal"; + this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); + // + // labelName + // + this.labelName.Location = new System.Drawing.Point(12, 21); + this.labelName.Name = "labelName"; + this.labelName.Size = new System.Drawing.Size(301, 23); + this.labelName.TabIndex = 1; + this.labelName.Text = "RDP Portal"; + // + // label2 + // + this.label2.Location = new System.Drawing.Point(12, 44); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(301, 23); + this.label2.TabIndex = 2; + this.label2.Text = "By Louis Lam"; + // + // buttonOK + // + this.buttonOK.Location = new System.Drawing.Point(238, 110); + this.buttonOK.Name = "buttonOK"; + this.buttonOK.Size = new System.Drawing.Size(75, 23); + this.buttonOK.TabIndex = 3; + this.buttonOK.Text = "OK"; + this.buttonOK.UseVisualStyleBackColor = true; + this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click); + // + // About + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(325, 145); + this.Controls.Add(this.buttonOK); + this.Controls.Add(this.label2); + this.Controls.Add(this.labelName); + this.Controls.Add(this.linkLabel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "About"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "About"; + this.Load += new System.EventHandler(this.About_Load); + this.ResumeLayout(false); + } + + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label labelName; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button buttonOK; + + #endregion + } +} diff --git a/About.cs b/About.cs new file mode 100644 index 0000000..3bb19f2 --- /dev/null +++ b/About.cs @@ -0,0 +1,32 @@ +using System; +using System.Drawing; +using System.Windows.Forms; + +namespace RDP_Portal { + public partial class About : Form { + public About() { + InitializeComponent(); + } + + private void About_Load(object sender, EventArgs e) { + + Location = new Point(Owner.Location.X + Owner.Width / 2 - ClientSize.Width / 2, + Owner.Location.Y + Owner.Height / 2 - ClientSize.Height / 2); + + // https://stackoverflow.com/questions/909555/how-can-i-get-the-assembly-file-version + System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); + System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location); + string version = fvi.FileVersion; + + labelName.Text = "RDP Portal v" + version; + } + + private void buttonOK_Click(object sender, EventArgs e) { + this.Close(); + } + + private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { + System.Diagnostics.Process.Start(((LinkLabel)sender).Text); + } + } +} diff --git a/About.resx b/About.resx new file mode 100644 index 0000000..6c442c3 --- /dev/null +++ b/About.resx @@ -0,0 +1,1117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + gIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0J + QADYsNPRZBAAARAAARCAAIANgAAIgAAIgIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw + 09FkEAABEAABEIAAgA2AAAiAAAiAgA0JQADYsNPRZBAAARAAARCAAIANgAAIgAAIgIANCUAA2LDT0WQQ + AAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0JQADYsNPRZBAAARAA + ARCAAIANgAAIgAAIgIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAA + gA2AAAiAAAiAgA0JQADYsNPRZBAAARAAARCAAIANgAAIgAAIgIANCUAA2LDT0WQQAAEQAAEQgACADYAA + CIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0JQADYsNPRZBAAARAAARCAAIANgAAIgAAI + gIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0J + QADYsNPRZBAAARAAARCAAIANgAAIgAAIgIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw + 09FkEAABEAABEIAAgA2AAAiAAAiAgA0JQADYsNPRZBAAARAAARCAAIANgAAIgAAIgIANCUAA2LDT0WQQ + AAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0JQADYsNPRZBAAARAA + ARCAAIANgAAIgAAIgIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAA + gA2AAAiAAAiAgA0JQADYsNPRZBAAARAAARCAAIANgAAIgAAIgIANCUAA2LDT0WQQAAEQAAEQgACADYAA + CIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0JQADYsNPRZBAAARAAARCAAIANgAAIgAAI + gIANCUAA2LDT0WQQAAEQAAEQgACADYAACIAACICADQlAANiw09FkEAABEAABEIAAgA2AAAiAAAiAgA0J + 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 + + + \ No newline at end of file diff --git a/FodyWeavers.xml b/FodyWeavers.xml new file mode 100644 index 0000000..5029e70 --- /dev/null +++ b/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/FodyWeavers.xsd b/FodyWeavers.xsd new file mode 100644 index 0000000..05e92c1 --- /dev/null +++ b/FodyWeavers.xsd @@ -0,0 +1,141 @@ + + + + + + + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with line breaks. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with |. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 7a47471..e744a80 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -26,7 +26,7 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); this.checkBoxKeepOpening = new System.Windows.Forms.CheckBox(); - this.button1 = new System.Windows.Forms.Button(); + this.buttonAbout = new System.Windows.Forms.Button(); this.buttonConnect = new System.Windows.Forms.Button(); this.textBoxComputer = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); @@ -62,16 +62,17 @@ this.checkBoxKeepOpening.UseVisualStyleBackColor = true; this.checkBoxKeepOpening.CheckedChanged += new System.EventHandler(this.checkBoxKeepOpening_CheckedChanged); // - // button1 + // buttonAbout // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.button1.Location = new System.Drawing.Point(487, 432); - this.button1.Margin = new System.Windows.Forms.Padding(4); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(100, 28); - this.button1.TabIndex = 2; - this.button1.Text = "About"; - this.button1.UseVisualStyleBackColor = true; + this.buttonAbout.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonAbout.Location = new System.Drawing.Point(487, 432); + this.buttonAbout.Margin = new System.Windows.Forms.Padding(4); + this.buttonAbout.Name = "buttonAbout"; + this.buttonAbout.Size = new System.Drawing.Size(100, 28); + this.buttonAbout.TabIndex = 2; + this.buttonAbout.Text = "About"; + this.buttonAbout.UseVisualStyleBackColor = true; + this.buttonAbout.Click += new System.EventHandler(this.buttonAbout_Click); // // buttonConnect // @@ -296,7 +297,7 @@ this.Controls.Add(this.groupBox1); this.Controls.Add(this.buttonNew); this.Controls.Add(this.buttonConnect); - this.Controls.Add(this.button1); + this.Controls.Add(this.buttonAbout); this.Controls.Add(this.checkBoxKeepOpening); this.Controls.Add(this.listBox); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); @@ -346,7 +347,7 @@ private System.Windows.Forms.Button buttonConnect; - private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button buttonAbout; private System.Windows.Forms.CheckBox checkBoxKeepOpening; diff --git a/MainForm.cs b/MainForm.cs index 268fbca..1f1f6e3 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -174,5 +174,10 @@ namespace RDP_Portal { _config.KeepOpening = checkBoxKeepOpening.Checked; _config.Save(); } + + private void buttonAbout_Click(object sender, EventArgs e) { + About about = new About(); + about.ShowDialog(this); + } } } diff --git a/Mstscpw.cs b/Mstscpw.cs new file mode 100644 index 0000000..a45e820 --- /dev/null +++ b/Mstscpw.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.ComponentModel; +using System.Security.Cryptography; +using System.Linq; +using System.Text; + +namespace RDP_Portal { + /** + * By ChipForster + * https://www.remkoweijnen.nl/blog/2007/10/18/how-rdp-passwords-are-encrypted/ + */ + class Mstscpw { + private const int CRYPTPROTECT_UI_FORBIDDEN = 0x1; + + // Wrapper for the NULL handle or pointer. + static private IntPtr NullPtr = ((IntPtr)((int)(0))); + + // Wrapper for DPAPI CryptProtectData function. + [DllImport( "crypt32.dll", SetLastError = true, + CharSet = System.Runtime.InteropServices.CharSet.Auto )] + + private static extern bool CryptProtectData( + ref DATA_BLOB pPlainText, + [MarshalAs(UnmanagedType.LPWStr)] string szDescription, + IntPtr pEntroy, + IntPtr pReserved, + IntPtr pPrompt, + int dwFlags, + ref DATA_BLOB pCipherText); + + // BLOB structure used to pass data to DPAPI functions. + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] + internal struct DATA_BLOB { + public int cbData; + public IntPtr pbData; + } + + private static void InitBLOB(byte[] data, ref DATA_BLOB blob) { + blob.pbData = Marshal.AllocHGlobal(data.Length); + if (blob.pbData == IntPtr.Zero) + throw new Exception( "Unable to allocate buffer for BLOB data." ); + + blob.cbData = data.Length; + Marshal.Copy(data, 0, blob.pbData, data.Length); + } + + public string encryptpw(string pw) { + byte[] pwba = Encoding.Unicode.GetBytes(pw); + DATA_BLOB dataIn = new DATA_BLOB(); + DATA_BLOB dataOut = new DATA_BLOB(); + StringBuilder epwsb = new StringBuilder(); + try { + try { + InitBLOB(pwba, ref dataIn); + } catch (Exception ex) { + throw new Exception( "Cannot initialize dataIn BLOB.", ex ); + } + + bool success = CryptProtectData( + ref dataIn, + "psw", + NullPtr, + NullPtr, + NullPtr, + CRYPTPROTECT_UI_FORBIDDEN, + ref dataOut ); + + if (!success) { + int errCode = Marshal.GetLastWin32Error(); + throw new Exception( "CryptProtectData failed.", new Win32Exception(errCode) ); + } + + byte[] epwba = new byte[dataOut.cbData]; + Marshal.Copy(dataOut.pbData, epwba, 0, dataOut.cbData); + + // Convert hex data to hex characters (suitable for a string) + for (int i = 0; i < dataOut.cbData; i++) { + epwsb.Append(Convert.ToString(epwba[i], 16).PadLeft(2, '0').ToUpper()); + } + + } catch (Exception ex) { + throw new Exception( "unable to encrypt data.", ex ); + } finally { + if (dataIn.pbData != IntPtr.Zero) + Marshal.FreeHGlobal(dataIn.pbData); + + if (dataOut.pbData != IntPtr.Zero) + Marshal.FreeHGlobal(dataOut.pbData); + } + + return epwsb.ToString(); + } + } +} diff --git a/Profile.cs b/Profile.cs index 294a70c..248c2ed 100644 --- a/Profile.cs +++ b/Profile.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.IO; using System.Windows.Forms; using Newtonsoft.Json; @@ -21,6 +22,17 @@ namespace RDP_Portal { public string Computer { get; set; } public string Username { get; set; } + /** + * Encrypted Password used by mstsc.exe + */ + public string GetRDPEncryptedPassword() { + var mstscpw = new Mstscpw(); + return mstscpw.encryptpw(this.Password); + } + + /** + * Encrypted Password in config.json + */ public string EncryptedPassword { get; set; } = ""; [JsonIgnore] @@ -59,28 +71,56 @@ namespace RDP_Portal { justCreated = true; } - var writer = File.AppendText(Filename); + var lines = File.ReadAllLines(Filename); + var removeList = new [] { + "full address:", + "username:", + "password", + "domain:", + }; + + var result = new List(); + + foreach (var line in lines) { + var ok = true; + + foreach (var startKeyword in removeList) { + if (line.StartsWith(startKeyword)) { + ok = false; + break; + } + } + + if (ok) { + result.Add(line); + } + } if (Computer != "") { - writer.WriteLine("full address:s:" + Computer); + result.Add("full address:s:" + Computer); } if (Username != "") { - writer.WriteLine("username:s:" + Username); + result.Add("username:s:" + Username); } if (Password != "") { - // TODO - writer.WriteLine("password 51:b:" + Password); + result.Add("password 51:b:" + GetRDPEncryptedPassword()); } if (Domain != "") { - writer.WriteLine("domain:s:" + Domain); + result.Add("domain:s:" + Domain); } if (justCreated) { - writer.WriteLine("authentication level:i:0"); - writer.WriteLine("prompt for credentials:i:0"); + result.Add("authentication level:i:0"); + result.Add("prompt for credentials:i:0"); + } + + var writer = new StreamWriter(Filename, false); + + foreach (var line in result) { + writer.WriteLine(line); } writer.Close(); diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 9363b1b..d4416b6 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -5,12 +5,12 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("rdp_portal")] +[assembly: AssemblyTitle("RDP Portal")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("rdp_portal")] -[assembly: AssemblyCopyright("Copyright © 2022")] +[assembly: AssemblyCompany("Louis Lam")] +[assembly: AssemblyProduct("RDP Protal")] +[assembly: AssemblyCopyright("Copyright © 2022 Louis Lam")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -33,4 +33,4 @@ using System.Runtime.InteropServices; // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/extra/banner.ufo b/extra/banner.ufo new file mode 100644 index 0000000..27917fd Binary files /dev/null and b/extra/banner.ufo differ diff --git a/extra/icon.ufo b/extra/icon.ufo new file mode 100644 index 0000000..ca7bc16 Binary files /dev/null and b/extra/icon.ufo differ diff --git a/rdp-portal.csproj b/rdp-portal.csproj index aa6fba0..94c422d 100644 --- a/rdp-portal.csproj +++ b/rdp-portal.csproj @@ -140,6 +140,12 @@ + + Form + + + About.cs + Form @@ -147,11 +153,15 @@ MainForm.cs + + + About.cs + MainForm.cs diff --git a/rdp-portal.sln.DotSettings.user b/rdp-portal.sln.DotSettings.user new file mode 100644 index 0000000..0991bf6 --- /dev/null +++ b/rdp-portal.sln.DotSettings.user @@ -0,0 +1,4 @@ + + False + True + True \ No newline at end of file