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 ba472be..1cbe49f 100644
--- a/Win_1337_Patch/1337.Designer.cs
+++ b/Win_1337_Patch/1337.Designer.cs
@@ -37,10 +37,10 @@
this.btnSelect1337 = new System.Windows.Forms.Button();
this.linkdfox = new System.Windows.Forms.LinkLabel();
this.Patch = new System.Windows.Forms.Button();
- this.cfixoff = new System.Windows.Forms.Button();
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
@@ -62,10 +62,10 @@
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...";
+ this.t1337.Text = "Select 1337 File...";
this.t1337.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.t1337.DragDrop += new System.Windows.Forms.DragEventHandler(this.t1337_DragDrop);
this.t1337.DragEnter += new System.Windows.Forms.DragEventHandler(this.t1337_DragEnter);
@@ -89,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...";
@@ -100,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);
@@ -115,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(255, 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;
@@ -127,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;
@@ -135,18 +135,6 @@
this.Patch.UseVisualStyleBackColor = true;
this.Patch.Click += new System.EventHandler(this.Patch_Click);
//
- // cfixoff
- //
- this.cfixoff.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.cfixoff.ForeColor = System.Drawing.Color.Crimson;
- this.cfixoff.Location = new System.Drawing.Point(156, 57);
- this.cfixoff.Name = "cfixoff";
- this.cfixoff.Size = new System.Drawing.Size(88, 23);
- this.cfixoff.TabIndex = 75;
- this.cfixoff.Text = "Exit";
- this.cfixoff.UseVisualStyleBackColor = true;
- this.cfixoff.Click += new System.EventHandler(this.Esci_Click);
- //
// controlloBackup
//
this.controlloBackup.AutoSize = true;
@@ -155,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;
@@ -171,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;
@@ -179,14 +167,29 @@
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.cfixoff);
this.Controls.Add(this.Patch);
this.Controls.Add(this.linkdfox);
this.Controls.Add(this.btnSelect1337);
@@ -194,13 +197,14 @@
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 v1.7...";
+ this.Text = "Win 1337 Apply Patch File";
this.Load += new System.EventHandler(this.DFoX_Load);
this.ResumeLayout(false);
this.PerformLayout();
@@ -215,10 +219,10 @@
private System.Windows.Forms.Button btnSelect1337;
private System.Windows.Forms.LinkLabel linkdfox;
private System.Windows.Forms.Button Patch;
- private System.Windows.Forms.Button cfixoff;
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 0590cac..e84405e 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
{
@@ -17,89 +19,36 @@ namespace Win_1337_Patch
public Form1()
{
InitializeComponent();
+ var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
+ string ver = "v" + version.Major + "." + version.Minor;
+ this.Text = "Win 1337 Apply Patch File " + ver;
+ linkdfox.Text = ver + " By DeltaFoX";
}
- private void btnSelect1337_Click(object sender, EventArgs e)
+ private void set()
{
try
{
- string url1337 = Properties.Settings.Default["url1337"].ToString();
- OpenFileDialog apriDialogoFile1 = new OpenFileDialog();
- apriDialogoFile1.Filter = "File 1337|*.*";
- apriDialogoFile1.FilterIndex = 0;
- apriDialogoFile1.Title = "Select the file 1337 File...";
- apriDialogoFile1.InitialDirectory = url1337 != "" ? url1337 : Directory.GetCurrentDirectory() + "\\";
- apriDialogoFile1.RestoreDirectory = true;
- if (apriDialogoFile1.ShowDialog() == DialogResult.OK)
- {
- f1337 = apriDialogoFile1.FileName;
- t1337.Text = Ellipsis.Compact(f1337, t1337, EllipsisFormat.Path);
- toolTip1.SetToolTip(t1337, f1337);
- Properties.Settings.Default["url1337"] = f1337;
- Properties.Settings.Default.Save();
- string[] lines = File.ReadAllLines(f1337);
- if (lines[0].Substring(0, 1) != ">")
- {
- MessageBox.Show("File 1337 is not valid...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- string unf = lines[0].Substring(1).ToLower().Trim();
- string nf = Path.GetFileName(unf);
- string ext = Path.GetExtension(unf);
- apriDialogoFile1.FileName = nf;
- apriDialogoFile1.Filter = "File " + ext + "|" + nf;
- apriDialogoFile1.FilterIndex = 0;
- apriDialogoFile1.Title = "Select the file \"" + nf + "\" File...";
- if (apriDialogoFile1.ShowDialog() == DialogResult.OK)
- {
- exe = apriDialogoFile1.FileName;
- texe.Text = Ellipsis.Compact(Path.GetFileName(exe), texe, EllipsisFormat.Path);
- toolTip1.SetToolTip(texe, exe);
- Properties.Settings.Default["urlexe"] = exe;
- Properties.Settings.Default.Save();
- }
- else
- {
- t1337.Text = "Select .1337 File...";
- f1337 = String.Empty;
- }
- }
- }
- catch
- {
- //Nothing;
- }
- return;
- }
-
- private void t1337_DragEnter(object sender, DragEventArgs e)
- {
- e.Effect = DragDropEffects.All;
- }
-
- private void t1337_DragDrop(object sender, DragEventArgs e)
- {
- try
- {
- f1337 = ((string[])e.Data.GetData(DataFormats.FileDrop, false))[0];
t1337.Text = Ellipsis.Compact(f1337, t1337, EllipsisFormat.Path);
toolTip1.SetToolTip(t1337, f1337);
Properties.Settings.Default["url1337"] = f1337;
Properties.Settings.Default.Save();
+
string[] lines = File.ReadAllLines(f1337);
- if (lines[0].Substring(0, 1) != ">")
- {
- MessageBox.Show("File 1337 is not valid...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ if (!check_Symbol(lines[0]))
return;
- }
+
string unf = lines[0].Substring(1).ToLower().Trim();
string nf = Path.GetFileName(unf);
string ext = Path.GetExtension(unf);
- OpenFileDialog apriDialogoFile1 = new OpenFileDialog();
- apriDialogoFile1.FileName = nf;
- apriDialogoFile1.Filter = "File " + ext + "|" + nf;
- apriDialogoFile1.FilterIndex = 0;
- apriDialogoFile1.Title = "Select the file \"" + nf + "\" File...";
+ OpenFileDialog apriDialogoFile1 = new OpenFileDialog
+ {
+ FileName = nf,
+ Filter = "File " + ext + "|" + nf,
+ FilterIndex = 0,
+ Title = "Select the file \"" + nf + "\" File..."
+ };
+
if (apriDialogoFile1.ShowDialog() == DialogResult.OK)
{
exe = apriDialogoFile1.FileName;
@@ -110,42 +59,95 @@ namespace Win_1337_Patch
}
else
{
- t1337.Text = "Select .1337 File...";
+ t1337.Text = "Select a .1337 File...";
+ texe.Text = "Select the Exe/Dll to Patch...";
f1337 = String.Empty;
+ exe = String.Empty;
}
}
- catch
+ catch (Exception ex)
{
- //Nothing;
+ MessageBox.Show($"An error occurred while setting up the file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- return;
}
- private void Esci_Click(object sender, EventArgs e)
+
+ private void t1337_DragDrop(object sender, DragEventArgs e)
{
- Application.Exit();
+ try
+ {
+ f1337 = ((string[])e.Data.GetData(DataFormats.FileDrop, false))[0];
+ set();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while processing drag and drop: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void btnSelect1337_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ string url1337 = Properties.Settings.Default["url1337"].ToString();
+ OpenFileDialog apriDialogoFile1 = new OpenFileDialog
+ {
+ Filter = "File 1337|*.*",
+ FilterIndex = 0,
+ Title = "Select the .1337 File...",
+ InitialDirectory = url1337 != "" ? url1337 : Directory.GetCurrentDirectory() + "\\",
+ RestoreDirectory = true
+ };
+ if (apriDialogoFile1.ShowDialog() == DialogResult.OK)
+ {
+ f1337 = apriDialogoFile1.FileName;
+ set();
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while selecting the .1337 file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void t1337_DragEnter(object sender, DragEventArgs e)
+ {
+ try
+ {
+ e.Effect = DragDropEffects.All;
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred during DragEnter: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private bool check_Symbol(string s)
+ {
+ if (!s.StartsWith(">"))
+ {
+ MessageBox.Show("The .1337 File is not valid...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return false;
+ }
+ return true;
}
private void Patch_Click(object sender, EventArgs e)
{
if (f1337 == String.Empty)
{
- MessageBox.Show("Select a 1337 File...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("Select a .1337 File...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
try
{
DFoX_Patch();
}
- catch (UnauthorizedAccessException)
+ catch (Exception ex)
{
- MessageBox.Show("Sorry !!!\nYou Run the Program as Administrator...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- catch
- {
- MessageBox.Show("Problems on Patch...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
+ MessageBox.Show($"A problem occurred when patching: {ex.Message}", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
+
private void DFoX_Patch()
{
if (!File.Exists(exe) || !File.Exists(f1337))
@@ -153,15 +155,26 @@ namespace Win_1337_Patch
MessageBox.Show("Files are no Longer Present...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
- string[] lines = File.ReadAllLines(f1337);
- if (lines[0].Substring(0, 1) != ">")
+
+ if (cchangeOwnership.Checked)
{
- MessageBox.Show("File 1337 is not valid...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
+ try
+ {
+ UnlockDLL(exe);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while changing ownership: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
}
+
+ string[] lines = File.ReadAllLines(f1337);
+ if (!check_Symbol(lines[0]))
+ return;
if (lines[0].Substring(1).ToLower().Trim() != Path.GetFileName(exe).ToLower().Trim())
{
- MessageBox.Show("File 1337 is not valid for selected exe/dll...\n\n(\"" + lines[0].Substring(1).ToLower() + "\" but you have selected \"" + Path.GetFileName(exe).ToLower() + "\")", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("The .1337 File is not valid for selected exe/dll...\n\n(\"" + lines[0].Substring(1).ToLower() + "\" but you have selected \"" + Path.GetFileName(exe).ToLower() + "\")", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
byte[] bexe = File.ReadAllBytes(exe);
@@ -189,9 +202,12 @@ namespace Win_1337_Patch
{
if (controlloBackup.Checked == true)
{
- if (File.Exists(exe + ".BAK"))
- File.Delete(exe + ".BAK");
- File.Copy(exe, exe + ".BAK");
+ string dateSuffix = DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss-tt");
+ string backupFileName = $"{exe}.{dateSuffix}.BAK";
+
+ if (File.Exists(backupFileName))
+ File.Delete(backupFileName);
+ File.Copy(exe, backupFileName);
}
if (File.Exists(exe))
File.Delete(exe);
@@ -199,8 +215,8 @@ namespace Win_1337_Patch
SistemaPeCks(exe);
MessageBox.Show("File " + Path.GetFileName(exe) + " Patched...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
- return;
}
+
private void SistemaPeCks(string file)
{
try
@@ -208,57 +224,109 @@ namespace Win_1337_Patch
using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.ReadWrite))
{
ImageRemoveCertificate(fs.SafeFileHandle.DangerousGetHandle(), 0);
- fs.Close();
}
- mCheckSum PE = new mCheckSum();
- PE.FixCheckSum(file);
+
+ checked
+ {
+ mCheckSum PE = new mCheckSum();
+ PE.FixCheckSum(file);
+ }
}
- catch
+ catch (OverflowException ex)
{
- //Nothing
+ MessageBox.Show($"Overflow error occurred while processing PE checksum: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while processing PE checksum: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- return;
}
+
private void DFoX_Load(object sender, EventArgs e)
{
- string urlexe = Properties.Settings.Default["urlexe"].ToString().Trim();
- string url1337 = Properties.Settings.Default["url1337"].ToString().Trim();
- cfileoffsett.Checked = (bool)Properties.Settings.Default["fixoffset"];
- controlloBackup.Checked = (bool)Properties.Settings.Default["backup"];
- if (urlexe != "")
+ try
{
- texe.Text = Ellipsis.Compact(Path.GetFileName(urlexe), texe, EllipsisFormat.Path);
- toolTip1.SetToolTip(texe, urlexe);
- exe = urlexe;
+ string urlexe = Properties.Settings.Default["urlexe"].ToString().Trim();
+ string url1337 = Properties.Settings.Default["url1337"].ToString().Trim();
+ cfileoffsett.Checked = (bool)Properties.Settings.Default["fixoffset"];
+ controlloBackup.Checked = (bool)Properties.Settings.Default["backup"];
+ cchangeOwnership.Checked = (bool)Properties.Settings.Default["changeOwnership"];
+
+ if (urlexe != "")
+ {
+ texe.Text = Ellipsis.Compact(Path.GetFileName(urlexe), texe, EllipsisFormat.Path);
+ toolTip1.SetToolTip(texe, urlexe);
+ exe = urlexe;
+ }
+ else
+ texe.Text = "Select the Exe/Dll to Patch...";
+
+ if (url1337 != "" && urlexe != "")
+ {
+ t1337.Text = Ellipsis.Compact(url1337, t1337, EllipsisFormat.Path);
+ toolTip1.SetToolTip(t1337, url1337);
+ f1337 = url1337;
+ }
+ else
+ t1337.Text = "Select a .1337 File...";
}
- else
- texe.Text = "Name of Exe/Dll to Patch...";
- if (url1337 != "" && urlexe != "")
+ catch (Exception ex)
{
- t1337.Text = Ellipsis.Compact(url1337, t1337, EllipsisFormat.Path);
- toolTip1.SetToolTip(t1337, url1337);
- f1337 = url1337;
+ MessageBox.Show($"An error occurred during form load: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
- else
- t1337.Text = "Select .1337 File...";
}
private void cfileoffsett_CheckedChanged(object sender, EventArgs e)
{
- Properties.Settings.Default["fixoffset"] = cfileoffsett.Checked;
- Properties.Settings.Default.Save();
+ try
+ {
+ Properties.Settings.Default["fixoffset"] = cfileoffsett.Checked;
+ Properties.Settings.Default.Save();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while saving fix offset setting: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
}
private void controlloBackup_CheckedChanged(object sender, EventArgs e)
{
- Properties.Settings.Default["backup"] = controlloBackup.Checked;
- Properties.Settings.Default.Save();
+ try
+ {
+ Properties.Settings.Default["backup"] = controlloBackup.Checked;
+ Properties.Settings.Default.Save();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while saving backup setting: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void cchangeOwnership_CheckedChanged(object sender, EventArgs e)
+ {
+ try
+ {
+ Properties.Settings.Default["changeOwnership"] = cchangeOwnership.Checked;
+ Properties.Settings.Default.Save();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while saving change ownership setting: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
}
private void linkdfox_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
- _apriUrl(@"https://github.com/Deltafox79/Win_1337_Apply_Patch");
+ try
+ {
+ _apriUrl(@"https://github.com/Deltafox79/Win_1337_Apply_Patch");
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred while opening the URL: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
}
+
private void _apriUrl(string url)
{
try
@@ -266,16 +334,21 @@ namespace Win_1337_Patch
string browserPath = ottieniLaPathBrowser();
if (browserPath == string.Empty)
browserPath = "iexplore";
- Process process = new Process();
- process.StartInfo = new ProcessStartInfo(browserPath);
- process.StartInfo.Arguments = url;
+ Process process = new Process
+ {
+ StartInfo = new ProcessStartInfo(browserPath)
+ {
+ Arguments = url
+ }
+ };
process.Start();
}
- catch
+ catch (Exception ex)
{
- //Nothing
+ MessageBox.Show($"An error occurred while opening the browser: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
+
private static string ottieniLaPathBrowser()
{
string name = String.Empty;
@@ -290,11 +363,10 @@ namespace Win_1337_Patch
if (!name.EndsWith("exe"))
name = name.Substring(0, name.LastIndexOf(".exe") + 4);
-
}
- catch
+ catch (Exception ex)
{
- return String.Empty;
+ MessageBox.Show($"An error occurred while retrieving browser path: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
@@ -306,7 +378,57 @@ namespace Win_1337_Patch
private void t1337_DoubleClick(object sender, EventArgs e)
{
- btnSelect1337.PerformClick();
+ try
+ {
+ btnSelect1337.PerformClick();
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show($"An error occurred during double click: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void UnlockDLL(string filePath)
+ {
+ if (!File.Exists(filePath))
+ {
+ MessageBox.Show("The specified file does not exist.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ try
+ {
+ ProcessStartInfo psi = new ProcessStartInfo("cmd.exe")
+ {
+ UseShellExecute = false,
+ RedirectStandardInput = true,
+ RedirectStandardOutput = true,
+ CreateNoWindow = true
+ };
+
+ using (Process process = new Process())
+ {
+ process.StartInfo = psi;
+ process.Start();
+
+ using (StreamWriter sw = process.StandardInput)
+ {
+ if (sw.BaseStream.CanWrite)
+ {
+ sw.WriteLine($"takeown /F \"{filePath}\"");
+ sw.WriteLine($"icacls \"{filePath}\" /grant Administrators:F");
+ }
+ }
+
+ process.WaitForExit();
+ }
+
+ MessageBox.Show($"Ownership and permissions of {filePath} have been successfully changed.", "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 42f429a..316d6a0 100644
--- a/Win_1337_Patch/Properties/AssemblyInfo.cs
+++ b/Win_1337_Patch/Properties/AssemblyInfo.cs
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("DeFconX")]
[assembly: AssemblyProduct("Win_1337_Patch")]
-[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
[assembly: AssemblyTrademark("DeltaFoX")]
[assembly: AssemblyCulture("")]
@@ -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.7.0.0")]
-[assembly: AssemblyFileVersion("1.7.0.0")]
+[assembly: AssemblyVersion("2.1.0.0")]
+[assembly: AssemblyFileVersion("2.1.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..a3b03e2 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())));
@@ -70,5 +70,17 @@ namespace Win_1337_Patch.Properties {
this["backup"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("True")]
+ public bool changeOwnership {
+ get {
+ return ((bool)(this["changeOwnership"]));
+ }
+ set {
+ this["changeOwnership"] = value;
+ }
+ }
}
}
diff --git a/Win_1337_Patch/Properties/Settings.settings b/Win_1337_Patch/Properties/Settings.settings
index 5645b6b..e1b8d1f 100644
--- a/Win_1337_Patch/Properties/Settings.settings
+++ b/Win_1337_Patch/Properties/Settings.settings
@@ -14,5 +14,8 @@
True
+
+ True
+
\ No newline at end of file
diff --git a/Win_1337_Patch/Win_1337_Patch.csproj b/Win_1337_Patch/Win_1337_Patch.csproj
index be928de..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,10 +32,14 @@
TRACE
prompt
4
+ false
vampire.ico
+
+ app.manifest
+
@@ -71,6 +77,7 @@
True
+
SettingsSingleFileGenerator
Settings.Designer.cs
diff --git a/Win_1337_Patch/app.config b/Win_1337_Patch/app.config
index d5c3fae..9ac6901 100644
--- a/Win_1337_Patch/app.config
+++ b/Win_1337_Patch/app.config
@@ -1,8 +1,8 @@
-
+
-
-
+
+
@@ -19,6 +19,9 @@
True
+
+ True
+
-
\ No newline at end of file
+
diff --git a/Win_1337_Patch/app.manifest b/Win_1337_Patch/app.manifest
new file mode 100644
index 0000000..5910f3c
--- /dev/null
+++ b/Win_1337_Patch/app.manifest
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Win_1337_Patch/mCheckSum.cs b/Win_1337_Patch/mCheckSum.cs
index 316b37d..962b532 100644
--- a/Win_1337_Patch/mCheckSum.cs
+++ b/Win_1337_Patch/mCheckSum.cs
@@ -28,7 +28,7 @@ namespace Win_1337_Patch
IMAGE_DOS_HEADER DHD = new IMAGE_DOS_HEADER();
IMAGE_NT_HEADERS NHD = new IMAGE_NT_HEADERS();
- int iPointer = 0;
+ long iPointer = 0;
uint uOriginal = 0;
uint uRecalculated = 0;
uint uRet = 0;
@@ -36,16 +36,23 @@ namespace Win_1337_Patch
try
{
- BinaryReader bReader = new BinaryReader(new FileStream(sFilePath, FileMode.Open, FileAccess.Read));
- fBytes = bReader.ReadBytes((int)bReader.BaseStream.Length);
- bReader.Close();
+ using (BinaryReader bReader = new BinaryReader(new FileStream(sFilePath, FileMode.Open, FileAccess.Read)))
+ {
+ fBytes = bReader.ReadBytes((int)bReader.BaseStream.Length);
+ }
+ }
+ catch
+ {
+ return false;
}
- catch { }
if (fBytes.Length <= 0) { return false; }
GCHandle gHandle = GCHandle.Alloc(fBytes, GCHandleType.Pinned);
- iPointer = gHandle.AddrOfPinnedObject().ToInt32();
+ checked
+ {
+ iPointer = gHandle.AddrOfPinnedObject().ToInt64();
+ }
DHD = (IMAGE_DOS_HEADER)Marshal.PtrToStructure(new IntPtr(iPointer), typeof(IMAGE_DOS_HEADER));
NHD = (IMAGE_NT_HEADERS)Marshal.PtrToStructure(new IntPtr(iPointer + DHD.e_lfanew), typeof(IMAGE_NT_HEADERS));
gHandle.Free();
@@ -74,17 +81,23 @@ namespace Win_1337_Patch
NHD.OptionalHeader.CheckSum = uRecalculated;
byte[] bNHD = getBytes_(NHD);
- if (fBytes.Length - (DHD.e_lfanew + bNHD.Length) <= 0) { Array.Resize(ref fBytes, (int)(fBytes.Length + bNHD.Length)); }
+ if (fBytes.Length - (DHD.e_lfanew + bNHD.Length) <= 0)
+ {
+ Array.Resize(ref fBytes, (int)(fBytes.Length + bNHD.Length));
+ }
Array.Copy(bNHD, 0, fBytes, DHD.e_lfanew, bNHD.Length);
try
{
- BinaryWriter bWriter = new BinaryWriter(new FileStream(sFilePath, FileMode.Open));
- bWriter.Write(fBytes);
- bWriter.Flush();
- bWriter.Close();
+ using (BinaryWriter bWriter = new BinaryWriter(new FileStream(sFilePath, FileMode.Open)))
+ {
+ bWriter.Write(fBytes);
+ }
+ }
+ catch
+ {
+ return false;
}
- catch { return false; }
return true;
}