diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5d26588
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,126 @@
+# Ignore Visual Studio temporary files, build results, and
+# build logs directory.
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific folders
+.vs/
+.vscode/
+.idea/
+.vscode-test/
+
+# Mono Auto Generated Files
+mono_crash.*
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+$RECYCLE.BIN/
+
+# VS Code directories
+.vscode/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# DotNet Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# NuGet
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+
+# Include only NuGet's .gitignore
+!/.nuget/
+!/.nuget/NuGet.Config
+!/.nuget/NuGet.exe
+
+# If using the new MSBuild .csproj format, uncomment this to ignore .NET Core / NuGet cache
+#!**/[Dd]ebug/
+#!**/[Rr]elease/
+
+# Include only DLLs in the bin directory
+bin/**/*.dll
+
+# Include only the package directory itself
+!**/[Pp]ackages/
+
+# Ignore temp files
+**/bin
+**/obj
+**/TempPE
+
+# Rider specific files
+.idea/
+*.sln.iml
+
+# .NET Core directories
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopCache.xml
+
+# Files generated by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Recycle Bin used by Visual Studio
+*.cachefile
+
+# Exclude folder containing source code
+src/
+!src/**/*.cs
diff --git a/Win_1337_Patch/1337.Designer.cs b/Win_1337_Patch/1337.Designer.cs
index df15762..1cbe49f 100644
--- a/Win_1337_Patch/1337.Designer.cs
+++ b/Win_1337_Patch/1337.Designer.cs
@@ -40,6 +40,7 @@
this.controlloBackup = new System.Windows.Forms.CheckBox();
this.cfileoffsett = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
+ this.cchangeOwnership = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// label7
@@ -61,7 +62,7 @@
this.t1337.Location = new System.Drawing.Point(90, 5);
this.t1337.Name = "t1337";
this.t1337.ReadOnly = true;
- this.t1337.Size = new System.Drawing.Size(309, 20);
+ this.t1337.Size = new System.Drawing.Size(343, 20);
this.t1337.TabIndex = 16;
this.t1337.TabStop = false;
this.t1337.Text = "Select 1337 File...";
@@ -88,7 +89,7 @@
this.texe.Location = new System.Drawing.Point(90, 31);
this.texe.Name = "texe";
this.texe.ReadOnly = true;
- this.texe.Size = new System.Drawing.Size(336, 20);
+ this.texe.Size = new System.Drawing.Size(370, 20);
this.texe.TabIndex = 14;
this.texe.TabStop = false;
this.texe.Text = "Name of Exe/Dll to Patch...";
@@ -99,7 +100,7 @@
this.btnSelect1337.CausesValidation = false;
this.btnSelect1337.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.btnSelect1337.ForeColor = System.Drawing.Color.DarkRed;
- this.btnSelect1337.Location = new System.Drawing.Point(402, 3);
+ this.btnSelect1337.Location = new System.Drawing.Point(436, 2);
this.btnSelect1337.Margin = new System.Windows.Forms.Padding(0);
this.btnSelect1337.Name = "btnSelect1337";
this.btnSelect1337.Size = new System.Drawing.Size(24, 23);
@@ -114,7 +115,7 @@
this.linkdfox.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.linkdfox.ForeColor = System.Drawing.Color.BlueViolet;
this.linkdfox.LinkColor = System.Drawing.Color.Indigo;
- this.linkdfox.Location = new System.Drawing.Point(226, 62);
+ this.linkdfox.Location = new System.Drawing.Point(256, 61);
this.linkdfox.Name = "linkdfox";
this.linkdfox.Size = new System.Drawing.Size(77, 13);
this.linkdfox.TabIndex = 73;
@@ -126,7 +127,7 @@
//
this.Patch.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Patch.ForeColor = System.Drawing.Color.DarkBlue;
- this.Patch.Location = new System.Drawing.Point(338, 57);
+ this.Patch.Location = new System.Drawing.Point(372, 56);
this.Patch.Name = "Patch";
this.Patch.Size = new System.Drawing.Size(88, 23);
this.Patch.TabIndex = 74;
@@ -142,7 +143,7 @@
this.controlloBackup.Cursor = System.Windows.Forms.Cursors.Hand;
this.controlloBackup.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.controlloBackup.ForeColor = System.Drawing.Color.Teal;
- this.controlloBackup.Location = new System.Drawing.Point(3, 61);
+ this.controlloBackup.Location = new System.Drawing.Point(8, 60);
this.controlloBackup.Name = "controlloBackup";
this.controlloBackup.Size = new System.Drawing.Size(69, 17);
this.controlloBackup.TabIndex = 76;
@@ -158,7 +159,7 @@
this.cfileoffsett.Cursor = System.Windows.Forms.Cursors.Hand;
this.cfileoffsett.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cfileoffsett.ForeColor = System.Drawing.Color.Teal;
- this.cfileoffsett.Location = new System.Drawing.Point(74, 61);
+ this.cfileoffsett.Location = new System.Drawing.Point(79, 60);
this.cfileoffsett.Name = "cfileoffsett";
this.cfileoffsett.Size = new System.Drawing.Size(80, 17);
this.cfileoffsett.TabIndex = 77;
@@ -166,11 +167,27 @@
this.cfileoffsett.UseVisualStyleBackColor = true;
this.cfileoffsett.CheckedChanged += new System.EventHandler(this.cfileoffsett_CheckedChanged);
//
+ // cchangeOwnership
+ //
+ this.cchangeOwnership.AutoSize = true;
+ this.cchangeOwnership.Checked = true;
+ this.cchangeOwnership.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.cchangeOwnership.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.cchangeOwnership.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold);
+ this.cchangeOwnership.ForeColor = System.Drawing.Color.Teal;
+ this.cchangeOwnership.Location = new System.Drawing.Point(165, 60);
+ this.cchangeOwnership.Name = "cchangeOwnership";
+ this.cchangeOwnership.Size = new System.Drawing.Size(93, 17);
+ this.cchangeOwnership.TabIndex = 78;
+ this.cchangeOwnership.Text = "Unlock DLL";
+ this.cchangeOwnership.UseVisualStyleBackColor = true;
+ this.cchangeOwnership.CheckedChanged += new System.EventHandler(this.cchangeOwnership_CheckedChanged);
+ //
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(432, 83);
+ this.ClientSize = new System.Drawing.Size(472, 83);
this.Controls.Add(this.cfileoffsett);
this.Controls.Add(this.controlloBackup);
this.Controls.Add(this.Patch);
@@ -180,10 +197,11 @@
this.Controls.Add(this.t1337);
this.Controls.Add(this.label6);
this.Controls.Add(this.texe);
+ this.Controls.Add(this.cchangeOwnership);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
- this.MaximumSize = new System.Drawing.Size(448, 122);
- this.MinimumSize = new System.Drawing.Size(448, 122);
+ this.MaximumSize = new System.Drawing.Size(488, 122);
+ this.MinimumSize = new System.Drawing.Size(488, 122);
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Win 1337 Apply Patch File";
@@ -204,6 +222,7 @@
private System.Windows.Forms.CheckBox controlloBackup;
private System.Windows.Forms.CheckBox cfileoffsett;
private System.Windows.Forms.ToolTip toolTip1;
+ private System.Windows.Forms.CheckBox cchangeOwnership;
}
}
diff --git a/Win_1337_Patch/1337.cs b/Win_1337_Patch/1337.cs
index 5c14d26..289be29 100644
--- a/Win_1337_Patch/1337.cs
+++ b/Win_1337_Patch/1337.cs
@@ -3,6 +3,8 @@ using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
+using System.Security.AccessControl;
+using System.Security.Principal;
namespace Win_1337_Patch
{
@@ -284,5 +286,63 @@ namespace Win_1337_Patch
{
btnSelect1337.PerformClick();
}
+
+ private void cchangeOwnership_CheckedChanged(object sender, EventArgs e)
+ {
+ if (cchangeOwnership.Checked)
+ {
+ try
+ {
+ if (!string.IsNullOrEmpty(exe))
+ {
+ UnlockDLL(exe);
+ MessageBox.Show($"Ownership of {exe} changed to Administrators and full control granted.", "Ownership Changed", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ else
+ {
+ MessageBox.Show("Please select a DLL/EXE file first.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ cchangeOwnership.Checked = false;
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ cchangeOwnership.Checked = false;
+ }
+ }
+ }
+
+ private void UnlockDLL(string filePath)
+ {
+ if (!File.Exists(filePath))
+ {
+ MessageBox.Show("The specified file does not exist.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ try
+ {
+ FileSecurity fileSecurity = File.GetAccessControl(filePath);
+ IdentityReference administrators = new NTAccount("Administrators");
+
+ fileSecurity.SetOwner(administrators);
+
+ File.SetAccessControl(filePath, fileSecurity);
+
+ FileSystemAccessRule accessRule = new FileSystemAccessRule(administrators,
+ FileSystemRights.FullControl,
+ AccessControlType.Allow);
+
+ fileSecurity.AddAccessRule(accessRule);
+
+ File.SetAccessControl(filePath, fileSecurity);
+
+ MessageBox.Show($"Owner changed to 'Administrators' and full control permissions granted to 'Administrators' for file: {filePath}", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while changing ownership: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
}
}
diff --git a/Win_1337_Patch/Properties/AssemblyInfo.cs b/Win_1337_Patch/Properties/AssemblyInfo.cs
index 4221447..a4f19ff 100644
--- a/Win_1337_Patch/Properties/AssemblyInfo.cs
+++ b/Win_1337_Patch/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.9.0.0")]
-[assembly: AssemblyFileVersion("1.9.0.0")]
+[assembly: AssemblyVersion("2.0.0.0")]
+[assembly: AssemblyFileVersion("2.0.0.0")]
diff --git a/Win_1337_Patch/Properties/Resources.Designer.cs b/Win_1337_Patch/Properties/Resources.Designer.cs
index 157385d..11ac648 100644
--- a/Win_1337_Patch/Properties/Resources.Designer.cs
+++ b/Win_1337_Patch/Properties/Resources.Designer.cs
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
//
-// Il codice è stato generato da uno strumento.
-// Versione runtime:4.0.30319.42000
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
//
-// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
-// il codice viene rigenerato.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
@@ -13,13 +13,13 @@ namespace Win_1337_Patch.Properties {
///
- /// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via.
+ /// A strongly-typed resource class, for looking up localized strings, etc.
///
- // Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder.
- // tramite uno strumento quale ResGen o Visual Studio.
- // Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen
- // con l'opzione /str oppure ricompilare il progetto VS.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -33,7 +33,7 @@ namespace Win_1337_Patch.Properties {
}
///
- /// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe.
+ /// Returns the cached ResourceManager instance used by this class.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +47,8 @@ namespace Win_1337_Patch.Properties {
}
///
- /// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le
- /// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata.
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
diff --git a/Win_1337_Patch/Properties/Settings.Designer.cs b/Win_1337_Patch/Properties/Settings.Designer.cs
index 5bd05e4..65b8fd8 100644
--- a/Win_1337_Patch/Properties/Settings.Designer.cs
+++ b/Win_1337_Patch/Properties/Settings.Designer.cs
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
//
-// Il codice è stato generato da uno strumento.
-// Versione runtime:4.0.30319.42000
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
//
-// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
-// il codice viene rigenerato.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@ namespace Win_1337_Patch.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.8.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/Win_1337_Patch/Win_1337_Patch.csproj b/Win_1337_Patch/Win_1337_Patch.csproj
index 1ab5e23..03b0204 100644
--- a/Win_1337_Patch/Win_1337_Patch.csproj
+++ b/Win_1337_Patch/Win_1337_Patch.csproj
@@ -8,9 +8,10 @@
WinExe
Win_1337_Patch
Win_1337_Patch
- v4.0
+ v4.8
512
true
+
AnyCPU
@@ -21,6 +22,7 @@
DEBUG;TRACE
prompt
4
+ false
AnyCPU
@@ -30,6 +32,7 @@
TRACE
prompt
4
+ false
vampire.ico
diff --git a/Win_1337_Patch/app.config b/Win_1337_Patch/app.config
index d5c3fae..fb31ed4 100644
--- a/Win_1337_Patch/app.config
+++ b/Win_1337_Patch/app.config
@@ -1,17 +1,17 @@
-
+
-
-
+
+
-
+
-
+
True
@@ -21,4 +21,4 @@
-
\ No newline at end of file
+