Compare commits

...

11 commits

Author SHA1 Message Date
Paolo
962a773ece
Merge pull request #10 from ramhaidar/v2.1
Comprehensive Code Refactor and Configuration Update
2024-08-25 16:43:30 +02:00
ramhaidar
11d01e8693 Comprehensive Code Refactor and Configuration Update
- Error Handling: Standardized across methods, added descriptive error messages.
- File Selection: Simplified `OpenFileDialog`, improved backup naming, added user-friendly prompts.
- Ownership Management: Added ownership change feature with success messages.
- UX: Added tooltips, enhanced drag-and-drop feedback.
- Code Cleanup: Removed redundant code, modernized constructs, consistent formatting.
- Config: Streamlined `app.config`, ensured .NET 4.8 target.
- Checksum Refactor: Switched to 64-bit pointers, optimized resource management.
- Version Update: Incremented assembly and file versions to 2.1.0.0.
- Settings: Added `changeOwnership` setting with default `True`, scoped per user.
2024-08-25 09:30:38 +07:00
Paolo
f319888c36
Merge pull request #8 from ramhaidar/master
Added Method to Change DLL Ownership and Minor UI Changes
2024-07-28 09:38:09 +02:00
ramhaidar
b5e095e691 Added Method to Change DLL Ownership and Minor UI Changes
- **1337.Designer.cs**:
  - Added a new checkbox for changing ownership (`cchangeOwnership`).
  - Adjusted the size and layout of various UI components (`t1337`, `texe`, `btnSelect1337`).

- **1337.cs**:
  - Added "cchangeOwnership_CheckedChanged" and "UnlockDLL" functions to change DLL ownership as instructed by [@VorlonCD](https://github.com/VorlonCD) described in [this issue](https://github.com/keylase/nvidia-patch/issues/795#issuecomment-2225573296).

- Win_1337_Patch.csproj**:
  - Updated project reference and target framework to ensure compatibility.
  - Includes new resources and dependencies required for additional features.

- app.config**:
  - Fixed XML formatting issues and improved structure.
  - Added support for the .NET Framework 4.8 runtime.
2024-07-28 11:35:27 +07:00
Paolo
9566cbc482
Merge pull request #1 from ShinobiSheep/master
Require admin privileges
2018-11-28 00:22:30 +01:00
ShinobiSheep
4a51cff5dc Various small changes 2018-11-27 13:55:41 +01:00
ShinobiSheep
71ce22e358 Request admin priviledges by default 2018-11-27 13:54:07 +01:00
Paolo
7f0c8f2c68
v1.8
v1.8 Released..
Code optimization...
2018-10-26 14:55:09 +02:00
Paolo
eff9c84b80
v1.7 Released
Minor Bug Fix...
2018-10-24 10:19:46 +02:00
Paolo
c58bf684ef
v1.6 released
From this version just select the 1337 file only.
2018-10-24 10:11:40 +02:00
Paolo
e12f52d7c3
v1.5 Release
Minor Bug Fix..
2018-10-23 20:54:36 +02:00
11 changed files with 638 additions and 193 deletions

126
.gitignore vendored Normal file
View file

@ -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

View file

@ -30,7 +30,6 @@
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.btnSelectExe = new System.Windows.Forms.Button();
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.t1337 = new System.Windows.Forms.TextBox(); this.t1337 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label();
@ -38,31 +37,18 @@
this.btnSelect1337 = new System.Windows.Forms.Button(); this.btnSelect1337 = new System.Windows.Forms.Button();
this.linkdfox = new System.Windows.Forms.LinkLabel(); this.linkdfox = new System.Windows.Forms.LinkLabel();
this.Patch = new System.Windows.Forms.Button(); this.Patch = new System.Windows.Forms.Button();
this.cfixoff = new System.Windows.Forms.Button();
this.controlloBackup = new System.Windows.Forms.CheckBox(); this.controlloBackup = new System.Windows.Forms.CheckBox();
this.cfileoffsett = new System.Windows.Forms.CheckBox(); this.cfileoffsett = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.cchangeOwnership = new System.Windows.Forms.CheckBox();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnSelectExe
//
this.btnSelectExe.CausesValidation = false;
this.btnSelectExe.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.btnSelectExe.Location = new System.Drawing.Point(397, 4);
this.btnSelectExe.Margin = new System.Windows.Forms.Padding(0);
this.btnSelectExe.Name = "btnSelectExe";
this.btnSelectExe.Size = new System.Drawing.Size(24, 23);
this.btnSelectExe.TabIndex = 18;
this.btnSelectExe.Text = "...";
this.btnSelectExe.UseVisualStyleBackColor = true;
this.btnSelectExe.Click += new System.EventHandler(this.btnSelectExe_Click);
//
// label7 // label7
// //
this.label7.AutoSize = true; this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.ForeColor = System.Drawing.Color.DarkGreen; this.label7.ForeColor = System.Drawing.Color.DarkGreen;
this.label7.Location = new System.Drawing.Point(12, 35); this.label7.Location = new System.Drawing.Point(7, 8);
this.label7.Name = "label7"; this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(67, 13); this.label7.Size = new System.Drawing.Size(67, 13);
this.label7.TabIndex = 17; this.label7.TabIndex = 17;
@ -73,47 +59,48 @@
this.t1337.AllowDrop = true; this.t1337.AllowDrop = true;
this.t1337.BackColor = System.Drawing.SystemColors.Info; this.t1337.BackColor = System.Drawing.SystemColors.Info;
this.t1337.ForeColor = System.Drawing.Color.DarkRed; this.t1337.ForeColor = System.Drawing.Color.DarkRed;
this.t1337.Location = new System.Drawing.Point(85, 32); this.t1337.Location = new System.Drawing.Point(90, 5);
this.t1337.Name = "t1337"; this.t1337.Name = "t1337";
this.t1337.ReadOnly = true; 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.TabIndex = 16;
this.t1337.Text = "Select .1337 File..."; this.t1337.TabStop = false;
this.t1337.Text = "Select 1337 File...";
this.t1337.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.t1337.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.t1337.DragDrop += new System.Windows.Forms.DragEventHandler(this.t1337_DragDrop); this.t1337.DragDrop += new System.Windows.Forms.DragEventHandler(this.t1337_DragDrop);
this.t1337.DragEnter += new System.Windows.Forms.DragEventHandler(this.t1337_DragEnter); this.t1337.DragEnter += new System.Windows.Forms.DragEventHandler(this.t1337_DragEnter);
this.t1337.DoubleClick += new System.EventHandler(this.t1337_DoubleClick);
// //
// label6 // label6
// //
this.label6.AutoSize = true; this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.DarkGreen; this.label6.ForeColor = System.Drawing.Color.DarkGreen;
this.label6.Location = new System.Drawing.Point(12, 9); this.label6.Location = new System.Drawing.Point(7, 34);
this.label6.Name = "label6"; this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(60, 13); this.label6.Size = new System.Drawing.Size(81, 13);
this.label6.TabIndex = 15; this.label6.TabIndex = 15;
this.label6.Text = "Exe File :"; this.label6.Text = "Exe/Dll File :";
// //
// texe // texe
// //
this.texe.AllowDrop = true;
this.texe.BackColor = System.Drawing.SystemColors.Info; this.texe.BackColor = System.Drawing.SystemColors.Info;
this.texe.ForeColor = System.Drawing.Color.DarkRed; this.texe.ForeColor = System.Drawing.Color.DarkRed;
this.texe.Location = new System.Drawing.Point(85, 6); this.texe.Location = new System.Drawing.Point(90, 31);
this.texe.Name = "texe"; this.texe.Name = "texe";
this.texe.ReadOnly = true; this.texe.ReadOnly = true;
this.texe.Size = new System.Drawing.Size(309, 20); this.texe.Size = new System.Drawing.Size(370, 20);
this.texe.TabIndex = 14; this.texe.TabIndex = 14;
this.texe.Text = "Select Exe to Patch..."; this.texe.TabStop = false;
this.texe.Text = "Name of Exe/Dll to Patch...";
this.texe.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.texe.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.texe.DragDrop += new System.Windows.Forms.DragEventHandler(this.texe_DragDrop);
this.texe.DragEnter += new System.Windows.Forms.DragEventHandler(this.texe_DragEnter);
// //
// btnSelect1337 // btnSelect1337
// //
this.btnSelect1337.CausesValidation = false; this.btnSelect1337.CausesValidation = false;
this.btnSelect1337.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); this.btnSelect1337.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.btnSelect1337.Location = new System.Drawing.Point(397, 30); this.btnSelect1337.ForeColor = System.Drawing.Color.DarkRed;
this.btnSelect1337.Location = new System.Drawing.Point(436, 2);
this.btnSelect1337.Margin = new System.Windows.Forms.Padding(0); this.btnSelect1337.Margin = new System.Windows.Forms.Padding(0);
this.btnSelect1337.Name = "btnSelect1337"; this.btnSelect1337.Name = "btnSelect1337";
this.btnSelect1337.Size = new System.Drawing.Size(24, 23); this.btnSelect1337.Size = new System.Drawing.Size(24, 23);
@ -128,18 +115,19 @@
this.linkdfox.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 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.ForeColor = System.Drawing.Color.BlueViolet;
this.linkdfox.LinkColor = System.Drawing.Color.Indigo; this.linkdfox.LinkColor = System.Drawing.Color.Indigo;
this.linkdfox.Location = new System.Drawing.Point(250, 62); this.linkdfox.Location = new System.Drawing.Point(256, 61);
this.linkdfox.Name = "linkdfox"; this.linkdfox.Name = "linkdfox";
this.linkdfox.Size = new System.Drawing.Size(77, 13); this.linkdfox.Size = new System.Drawing.Size(77, 13);
this.linkdfox.TabIndex = 73; this.linkdfox.TabIndex = 73;
this.linkdfox.TabStop = true; this.linkdfox.TabStop = true;
this.linkdfox.Text = "By DeltaFoX"; this.linkdfox.Text = "By DeltaFoX";
this.linkdfox.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkdfox_LinkClicked);
// //
// Patch // Patch
// //
this.Patch.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 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.ForeColor = System.Drawing.Color.DarkBlue;
this.Patch.Location = new System.Drawing.Point(333, 57); this.Patch.Location = new System.Drawing.Point(372, 56);
this.Patch.Name = "Patch"; this.Patch.Name = "Patch";
this.Patch.Size = new System.Drawing.Size(88, 23); this.Patch.Size = new System.Drawing.Size(88, 23);
this.Patch.TabIndex = 74; this.Patch.TabIndex = 74;
@ -147,28 +135,17 @@
this.Patch.UseVisualStyleBackColor = true; this.Patch.UseVisualStyleBackColor = true;
this.Patch.Click += new System.EventHandler(this.Patch_Click); 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 // controlloBackup
// //
this.controlloBackup.AutoSize = true; this.controlloBackup.AutoSize = true;
this.controlloBackup.Checked = true; this.controlloBackup.Checked = true;
this.controlloBackup.CheckState = System.Windows.Forms.CheckState.Checked; this.controlloBackup.CheckState = System.Windows.Forms.CheckState.Checked;
this.controlloBackup.Cursor = System.Windows.Forms.Cursors.Hand; 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.ForeColor = System.Drawing.Color.Teal;
this.controlloBackup.Location = new System.Drawing.Point(15, 61); this.controlloBackup.Location = new System.Drawing.Point(8, 60);
this.controlloBackup.Name = "controlloBackup"; this.controlloBackup.Name = "controlloBackup";
this.controlloBackup.Size = new System.Drawing.Size(63, 17); this.controlloBackup.Size = new System.Drawing.Size(69, 17);
this.controlloBackup.TabIndex = 76; this.controlloBackup.TabIndex = 76;
this.controlloBackup.Text = "Backup"; this.controlloBackup.Text = "Backup";
this.controlloBackup.UseVisualStyleBackColor = true; this.controlloBackup.UseVisualStyleBackColor = true;
@ -180,38 +157,54 @@
this.cfileoffsett.Checked = true; this.cfileoffsett.Checked = true;
this.cfileoffsett.CheckState = System.Windows.Forms.CheckState.Checked; this.cfileoffsett.CheckState = System.Windows.Forms.CheckState.Checked;
this.cfileoffsett.Cursor = System.Windows.Forms.Cursors.Hand; 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.ForeColor = System.Drawing.Color.Teal;
this.cfileoffsett.Location = new System.Drawing.Point(80, 61); this.cfileoffsett.Location = new System.Drawing.Point(79, 60);
this.cfileoffsett.Name = "cfileoffsett"; this.cfileoffsett.Name = "cfileoffsett";
this.cfileoffsett.Size = new System.Drawing.Size(70, 17); this.cfileoffsett.Size = new System.Drawing.Size(80, 17);
this.cfileoffsett.TabIndex = 77; this.cfileoffsett.TabIndex = 77;
this.cfileoffsett.Text = "Fix Offset"; this.cfileoffsett.Text = "Fix Offset";
this.cfileoffsett.UseVisualStyleBackColor = true; this.cfileoffsett.UseVisualStyleBackColor = true;
this.cfileoffsett.CheckedChanged += new System.EventHandler(this.cfileoffsett_CheckedChanged); 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 // Form1
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 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.cfileoffsett);
this.Controls.Add(this.controlloBackup); this.Controls.Add(this.controlloBackup);
this.Controls.Add(this.cfixoff);
this.Controls.Add(this.Patch); this.Controls.Add(this.Patch);
this.Controls.Add(this.linkdfox); this.Controls.Add(this.linkdfox);
this.Controls.Add(this.btnSelect1337); this.Controls.Add(this.btnSelect1337);
this.Controls.Add(this.btnSelectExe);
this.Controls.Add(this.label7); this.Controls.Add(this.label7);
this.Controls.Add(this.t1337); this.Controls.Add(this.t1337);
this.Controls.Add(this.label6); this.Controls.Add(this.label6);
this.Controls.Add(this.texe); this.Controls.Add(this.texe);
this.Controls.Add(this.cchangeOwnership);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false; this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(448, 122); this.MaximumSize = new System.Drawing.Size(488, 122);
this.MinimumSize = new System.Drawing.Size(448, 122); this.MinimumSize = new System.Drawing.Size(488, 122);
this.Name = "Form1"; this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Win 1337 Apply Patch File v1.4..."; this.Text = "Win 1337 Apply Patch File";
this.Load += new System.EventHandler(this.DFoX_Load); this.Load += new System.EventHandler(this.DFoX_Load);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -219,8 +212,6 @@
} }
#endregion #endregion
private System.Windows.Forms.Button btnSelectExe;
private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox t1337; private System.Windows.Forms.TextBox t1337;
private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label6;
@ -228,10 +219,10 @@
private System.Windows.Forms.Button btnSelect1337; private System.Windows.Forms.Button btnSelect1337;
private System.Windows.Forms.LinkLabel linkdfox; private System.Windows.Forms.LinkLabel linkdfox;
private System.Windows.Forms.Button Patch; private System.Windows.Forms.Button Patch;
private System.Windows.Forms.Button cfixoff;
private System.Windows.Forms.CheckBox controlloBackup; private System.Windows.Forms.CheckBox controlloBackup;
private System.Windows.Forms.CheckBox cfileoffsett; private System.Windows.Forms.CheckBox cfileoffsett;
private System.Windows.Forms.ToolTip toolTip1; private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.CheckBox cchangeOwnership;
} }
} }

View file

@ -1,13 +1,17 @@
using System; using Microsoft.Win32;
using System;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Windows.Forms; using System.Windows.Forms;
using System.Security.AccessControl;
using System.Security.Principal;
namespace Win_1337_Patch namespace Win_1337_Patch
{ {
public partial class Form1 : Form public partial class Form1 : Form
{ {
public string exe = String.Empty; private string exe = String.Empty;
public string f1337 = String.Empty; private string f1337 = String.Empty;
[System.Runtime.InteropServices.DllImport("Imagehlp.dll")] [System.Runtime.InteropServices.DllImport("Imagehlp.dll")]
private static extern bool ImageRemoveCertificate(IntPtr handle, int index); private static extern bool ImageRemoveCertificate(IntPtr handle, int index);
@ -15,99 +19,135 @@ namespace Win_1337_Patch
public Form1() public Form1()
{ {
InitializeComponent(); 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 btnSelectExe_Click(object sender, EventArgs e) private void set()
{ {
string urlexe = Properties.Settings.Default["urlexe"].ToString(); try
OpenFileDialog apriDialogoFile1 = new OpenFileDialog(); {
apriDialogoFile1.Filter = "File Exe|*.exe|File Dll|*.dll|All File|*.*"; t1337.Text = Ellipsis.Compact(f1337, t1337, EllipsisFormat.Path);
apriDialogoFile1.FilterIndex = 0; toolTip1.SetToolTip(t1337, f1337);
apriDialogoFile1.Title = "Select the file Exe/Dll File..."; Properties.Settings.Default["url1337"] = f1337;
apriDialogoFile1.InitialDirectory = urlexe != "" ? urlexe : Directory.GetCurrentDirectory() + "\\"; Properties.Settings.Default.Save();
apriDialogoFile1.RestoreDirectory = true;
string[] lines = File.ReadAllLines(f1337);
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
{
FileName = nf,
Filter = "File " + ext + "|" + nf,
FilterIndex = 0,
Title = "Select the file \"" + nf + "\" File..."
};
if (apriDialogoFile1.ShowDialog() == DialogResult.OK) if (apriDialogoFile1.ShowDialog() == DialogResult.OK)
{ {
exe = apriDialogoFile1.FileName; exe = apriDialogoFile1.FileName;
texe.Text = Ellipsis.Compact(exe, texe, EllipsisFormat.Path); texe.Text = Ellipsis.Compact(Path.GetFileName(exe), texe, EllipsisFormat.Path);
toolTip1.SetToolTip(texe, exe); toolTip1.SetToolTip(texe, exe);
Properties.Settings.Default["urlexe"] = exe; Properties.Settings.Default["urlexe"] = exe;
Properties.Settings.Default.Save(); Properties.Settings.Default.Save();
} }
else
{
t1337.Text = "Select a .1337 File...";
texe.Text = "Select the Exe/Dll to Patch...";
f1337 = String.Empty;
exe = String.Empty;
}
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred while setting up the file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void t1337_DragDrop(object sender, DragEventArgs e)
{
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) private void btnSelect1337_Click(object sender, EventArgs e)
{
try
{ {
string url1337 = Properties.Settings.Default["url1337"].ToString(); string url1337 = Properties.Settings.Default["url1337"].ToString();
OpenFileDialog apriDialogoFile1 = new OpenFileDialog(); OpenFileDialog apriDialogoFile1 = new OpenFileDialog
apriDialogoFile1.Filter = "File 1337|*.*"; {
apriDialogoFile1.FilterIndex = 0; Filter = "File 1337|*.*",
apriDialogoFile1.Title = "Select the file 1337 File..."; FilterIndex = 0,
apriDialogoFile1.InitialDirectory = url1337 != "" ? url1337 : Directory.GetCurrentDirectory() + "\\"; Title = "Select the .1337 File...",
apriDialogoFile1.RestoreDirectory = true; InitialDirectory = url1337 != "" ? url1337 : Directory.GetCurrentDirectory() + "\\",
RestoreDirectory = true
};
if (apriDialogoFile1.ShowDialog() == DialogResult.OK) if (apriDialogoFile1.ShowDialog() == DialogResult.OK)
{ {
f1337 = apriDialogoFile1.FileName; f1337 = apriDialogoFile1.FileName;
t1337.Text = Ellipsis.Compact(f1337, t1337, EllipsisFormat.Path); set();
toolTip1.SetToolTip(t1337, f1337);
Properties.Settings.Default["url1337"] = f1337;
Properties.Settings.Default.Save();
} }
} }
private void texe_DragEnter(object sender, DragEventArgs e) catch (Exception ex)
{ {
e.Effect = DragDropEffects.All; MessageBox.Show($"An error occurred while selecting the .1337 file: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
private void texe_DragDrop(object sender, DragEventArgs e)
{
exe = ((string[])e.Data.GetData(DataFormats.FileDrop, false))[0];
texe.Text = Ellipsis.Compact(exe, texe, EllipsisFormat.Path);
toolTip1.SetToolTip(texe, exe);
Properties.Settings.Default["urlexe"] = exe;
Properties.Settings.Default.Save();
} }
private void t1337_DragEnter(object sender, DragEventArgs e) private void t1337_DragEnter(object sender, DragEventArgs e)
{
try
{ {
e.Effect = DragDropEffects.All; e.Effect = DragDropEffects.All;
} }
catch (Exception ex)
private void t1337_DragDrop(object sender, DragEventArgs e)
{ {
f1337 = ((string[])e.Data.GetData(DataFormats.FileDrop, false))[0]; MessageBox.Show($"An error occurred during DragEnter: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
t1337.Text = Ellipsis.Compact(f1337, t1337, EllipsisFormat.Path);
toolTip1.SetToolTip(t1337, f1337);
Properties.Settings.Default["url1337"] = f1337;
Properties.Settings.Default.Save();
} }
private void Esci_Click(object sender, EventArgs e) }
private bool check_Symbol(string s)
{ {
Application.Exit(); 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) private void Patch_Click(object sender, EventArgs e)
{ {
if (exe == String.Empty || f1337 == String.Empty) if (f1337 == String.Empty)
{ {
MessageBox.Show("Select a " + ((exe == String.Empty) ? "Exe" : "1337") + " File...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Select a .1337 File...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
} }
try try
{ {
DFoX_Patch(); DFoX_Patch();
} }
catch (UnauthorizedAccessException) catch (Exception ex)
{ {
MessageBox.Show("Sorry !!!\nYou Run the Program as Administrator...", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show($"A problem occurred when patching: {ex.Message}", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch
{
MessageBox.Show("Problems on Patch...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
} }
} }
private void DFoX_Patch() private void DFoX_Patch()
{ {
if (!File.Exists(exe) || !File.Exists(f1337)) if (!File.Exists(exe) || !File.Exists(f1337))
@ -115,15 +155,26 @@ namespace Win_1337_Patch
MessageBox.Show("Files are no Longer Present...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show("Files are no Longer Present...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; 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); try
{
UnlockDLL(exe);
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred while changing ownership: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
} }
if (lines[0].Substring(1).ToLower() != Path.GetFileName(exe).ToLower()) }
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; return;
} }
byte[] bexe = File.ReadAllBytes(exe); byte[] bexe = File.ReadAllBytes(exe);
@ -151,9 +202,12 @@ namespace Win_1337_Patch
{ {
if (controlloBackup.Checked == true) if (controlloBackup.Checked == true)
{ {
if (File.Exists(exe + ".BAK")) string dateSuffix = DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss-tt");
File.Delete(exe + ".BAK"); string backupFileName = $"{exe}.{dateSuffix}.BAK";
File.Copy(exe, exe + ".BAK");
if (File.Exists(backupFileName))
File.Delete(backupFileName);
File.Copy(exe, backupFileName);
} }
if (File.Exists(exe)) if (File.Exists(exe))
File.Delete(exe); File.Delete(exe);
@ -161,8 +215,8 @@ namespace Win_1337_Patch
SistemaPeCks(exe); SistemaPeCks(exe);
MessageBox.Show("File " + Path.GetFileName(exe) + " Patched...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("File " + Path.GetFileName(exe) + " Patched...", "Info...", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
return;
} }
private void SistemaPeCks(string file) private void SistemaPeCks(string file)
{ {
try try
@ -170,51 +224,211 @@ namespace Win_1337_Patch
using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.ReadWrite)) using (FileStream fs = new FileStream(file, FileMode.Open, FileAccess.ReadWrite))
{ {
ImageRemoveCertificate(fs.SafeFileHandle.DangerousGetHandle(), 0); ImageRemoveCertificate(fs.SafeFileHandle.DangerousGetHandle(), 0);
fs.Close();
} }
checked
{
mCheckSum PE = new mCheckSum(); mCheckSum PE = new mCheckSum();
PE.FixCheckSum(file); PE.FixCheckSum(file);
} }
catch }
catch (OverflowException ex)
{ {
//Nothing MessageBox.Show($"Overflow error occurred while processing PE checksum: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
return; catch (Exception ex)
{
MessageBox.Show($"An error occurred while processing PE checksum: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
}
private void DFoX_Load(object sender, EventArgs e) private void DFoX_Load(object sender, EventArgs e)
{
try
{ {
string urlexe = Properties.Settings.Default["urlexe"].ToString().Trim(); string urlexe = Properties.Settings.Default["urlexe"].ToString().Trim();
string url1337 = Properties.Settings.Default["url1337"].ToString().Trim(); string url1337 = Properties.Settings.Default["url1337"].ToString().Trim();
cfileoffsett.Checked = (bool)Properties.Settings.Default["fixoffset"]; cfileoffsett.Checked = (bool)Properties.Settings.Default["fixoffset"];
controlloBackup.Checked = (bool)Properties.Settings.Default["backup"]; controlloBackup.Checked = (bool)Properties.Settings.Default["backup"];
cchangeOwnership.Checked = (bool)Properties.Settings.Default["changeOwnership"];
if (urlexe != "") if (urlexe != "")
{ {
texe.Text = Ellipsis.Compact(urlexe, texe, EllipsisFormat.Path); texe.Text = Ellipsis.Compact(Path.GetFileName(urlexe), texe, EllipsisFormat.Path);
toolTip1.SetToolTip(texe, urlexe); toolTip1.SetToolTip(texe, urlexe);
exe = urlexe; exe = urlexe;
} }
else else
texe.Text = "Select Exe to Patch..."; texe.Text = "Select the Exe/Dll to Patch...";
if (url1337 != "")
if (url1337 != "" && urlexe != "")
{ {
t1337.Text = Ellipsis.Compact(url1337, t1337, EllipsisFormat.Path); t1337.Text = Ellipsis.Compact(url1337, t1337, EllipsisFormat.Path);
toolTip1.SetToolTip(t1337, url1337); toolTip1.SetToolTip(t1337, url1337);
f1337 = url1337; f1337 = url1337;
} }
else else
t1337.Text = "Select .1337 File..."; t1337.Text = "Select a .1337 File...";
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred during form load: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
} }
private void cfileoffsett_CheckedChanged(object sender, EventArgs e) private void cfileoffsett_CheckedChanged(object sender, EventArgs e)
{
try
{ {
Properties.Settings.Default["fixoffset"] = cfileoffsett.Checked; Properties.Settings.Default["fixoffset"] = cfileoffsett.Checked;
Properties.Settings.Default.Save(); 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) private void controlloBackup_CheckedChanged(object sender, EventArgs e)
{
try
{ {
Properties.Settings.Default["backup"] = controlloBackup.Checked; Properties.Settings.Default["backup"] = controlloBackup.Checked;
Properties.Settings.Default.Save(); 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)
{
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
{
string browserPath = ottieniLaPathBrowser();
if (browserPath == string.Empty)
browserPath = "iexplore";
Process process = new Process
{
StartInfo = new ProcessStartInfo(browserPath)
{
Arguments = url
}
};
process.Start();
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred while opening the browser: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private static string ottieniLaPathBrowser()
{
string name = String.Empty;
RegistryKey regKey = null;
try
{
var regDefault = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.htm\\UserChoice", false);
var stringDefault = regDefault.GetValue("ProgId");
regKey = Registry.ClassesRoot.OpenSubKey(stringDefault + "\\shell\\open\\command", false);
name = regKey.GetValue(null).ToString().ToLower().Replace("" + (char)34, "");
if (!name.EndsWith("exe"))
name = name.Substring(0, name.LastIndexOf(".exe") + 4);
}
catch (Exception ex)
{
MessageBox.Show($"An error occurred while retrieving browser path: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
if (regKey != null)
regKey.Close();
}
return name;
}
private void t1337_DoubleClick(object sender, EventArgs e)
{
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);
}
}
} }
} }

View file

@ -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 // È 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: // usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.4.0.0")] [assembly: AssemblyVersion("2.1.0.0")]
[assembly: AssemblyFileVersion("1.4.0.0")] [assembly: AssemblyFileVersion("2.1.0.0")]

View file

@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Il codice è stato generato da uno strumento. // This code was generated by a tool.
// Versione runtime:4.0.30319.42000 // Runtime Version:4.0.30319.42000
// //
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -13,13 +13,13 @@ namespace Win_1337_Patch.Properties {
/// <summary> /// <summary>
/// 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.
/// </summary> /// </summary>
// Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder. // This class was auto-generated by the StronglyTypedResourceBuilder
// tramite uno strumento quale ResGen o Visual Studio. // class via a tool like ResGen or Visual Studio.
// Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen // To add or remove a member, edit your .ResX file then rerun ResGen
// con l'opzione /str oppure ricompilare il progetto VS. // with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources { internal class Resources {
@ -33,7 +33,7 @@ namespace Win_1337_Patch.Properties {
} }
/// <summary> /// <summary>
/// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe. /// Returns the cached ResourceManager instance used by this class.
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager { internal static global::System.Resources.ResourceManager ResourceManager {
@ -47,8 +47,8 @@ namespace Win_1337_Patch.Properties {
} }
/// <summary> /// <summary>
/// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le /// Overrides the current thread's CurrentUICulture property for all
/// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata. /// resource lookups using this strongly typed resource class.
/// </summary> /// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture { internal static global::System.Globalization.CultureInfo Culture {

View file

@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Il codice è stato generato da uno strumento. // This code was generated by a tool.
// Versione runtime:4.0.30319.42000 // Runtime Version:4.0.30319.42000
// //
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -12,7 +12,7 @@ namespace Win_1337_Patch.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [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 { internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@ -70,5 +70,17 @@ namespace Win_1337_Patch.Properties {
this["backup"] = value; 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;
}
}
} }
} }

View file

@ -14,5 +14,8 @@
<Setting Name="backup" Type="System.Boolean" Scope="User"> <Setting Name="backup" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value> <Value Profile="(Default)">True</Value>
</Setting> </Setting>
<Setting Name="changeOwnership" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
</Settings> </Settings>
</SettingsFile> </SettingsFile>

View file

@ -8,9 +8,10 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<RootNamespace>Win_1337_Patch</RootNamespace> <RootNamespace>Win_1337_Patch</RootNamespace>
<AssemblyName>Win_1337_Patch</AssemblyName> <AssemblyName>Win_1337_Patch</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@ -21,6 +22,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
@ -30,10 +32,14 @@
<DefineConstants>TRACE</DefineConstants> <DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<ApplicationIcon>vampire.ico</ApplicationIcon> <ApplicationIcon>vampire.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
@ -71,6 +77,7 @@
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<None Include="app.config" /> <None Include="app.config" />
<None Include="app.manifest" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<configSections> <configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -19,6 +19,9 @@
<setting name="backup" serializeAs="String"> <setting name="backup" serializeAs="String">
<value>True</value> <value>True</value>
</setting> </setting>
<setting name="changeOwnership" serializeAs="String">
<value>True</value>
</setting>
</Win_1337_Patch.Properties.Settings> </Win_1337_Patch.Properties.Settings>
</userSettings> </userSettings>
</configuration> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>

View file

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on and is
is designed to work with. Uncomment the appropriate elements and Windows will
automatically selected the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

View file

@ -28,7 +28,7 @@ namespace Win_1337_Patch
IMAGE_DOS_HEADER DHD = new IMAGE_DOS_HEADER(); IMAGE_DOS_HEADER DHD = new IMAGE_DOS_HEADER();
IMAGE_NT_HEADERS NHD = new IMAGE_NT_HEADERS(); IMAGE_NT_HEADERS NHD = new IMAGE_NT_HEADERS();
int iPointer = 0; long iPointer = 0;
uint uOriginal = 0; uint uOriginal = 0;
uint uRecalculated = 0; uint uRecalculated = 0;
uint uRet = 0; uint uRet = 0;
@ -36,16 +36,23 @@ namespace Win_1337_Patch
try try
{ {
BinaryReader bReader = new BinaryReader(new FileStream(sFilePath, FileMode.Open, FileAccess.Read)); using (BinaryReader bReader = new BinaryReader(new FileStream(sFilePath, FileMode.Open, FileAccess.Read)))
{
fBytes = bReader.ReadBytes((int)bReader.BaseStream.Length); fBytes = bReader.ReadBytes((int)bReader.BaseStream.Length);
bReader.Close();
} }
catch { } }
catch
{
return false;
}
if (fBytes.Length <= 0) { return false; } if (fBytes.Length <= 0) { return false; }
GCHandle gHandle = GCHandle.Alloc(fBytes, GCHandleType.Pinned); 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)); 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)); NHD = (IMAGE_NT_HEADERS)Marshal.PtrToStructure(new IntPtr(iPointer + DHD.e_lfanew), typeof(IMAGE_NT_HEADERS));
gHandle.Free(); gHandle.Free();
@ -74,17 +81,23 @@ namespace Win_1337_Patch
NHD.OptionalHeader.CheckSum = uRecalculated; NHD.OptionalHeader.CheckSum = uRecalculated;
byte[] bNHD = getBytes_(NHD); 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); Array.Copy(bNHD, 0, fBytes, DHD.e_lfanew, bNHD.Length);
try try
{ {
BinaryWriter bWriter = new BinaryWriter(new FileStream(sFilePath, FileMode.Open)); using (BinaryWriter bWriter = new BinaryWriter(new FileStream(sFilePath, FileMode.Open)))
{
bWriter.Write(fBytes); bWriter.Write(fBytes);
bWriter.Flush();
bWriter.Close();
} }
catch { return false; } }
catch
{
return false;
}
return true; return true;
} }