diff --git a/Source/CromeCracker.sln b/Source/CromeCracker.sln new file mode 100644 index 0000000..e1c0b08 --- /dev/null +++ b/Source/CromeCracker.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CromeCracker", "CromeCracker\CromeCracker.csproj", "{A0AC09F0-16D4-4995-8F99-B5814ADB923A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A0AC09F0-16D4-4995-8F99-B5814ADB923A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A0AC09F0-16D4-4995-8F99-B5814ADB923A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A0AC09F0-16D4-4995-8F99-B5814ADB923A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A0AC09F0-16D4-4995-8F99-B5814ADB923A}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Source/CromeCracker/CromeCracker.csproj b/Source/CromeCracker/CromeCracker.csproj new file mode 100644 index 0000000..ce838ce --- /dev/null +++ b/Source/CromeCracker/CromeCracker.csproj @@ -0,0 +1,90 @@ + + + + + Debug + AnyCPU + {A0AC09F0-16D4-4995-8F99-B5814ADB923A} + WinExe + Properties + CromeCracker + CromeCracker + v3.5 + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + crome_MAINICON.ico + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/Source/CromeCracker/Form1.Designer.cs b/Source/CromeCracker/Form1.Designer.cs new file mode 100644 index 0000000..3b1ddfc --- /dev/null +++ b/Source/CromeCracker/Form1.Designer.cs @@ -0,0 +1,154 @@ +namespace CromeCracker +{ + partial class Form1 + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.button1 = new System.Windows.Forms.Button(); + this.textBox_Logs = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button1.ForeColor = System.Drawing.Color.Blue; + this.button1.Location = new System.Drawing.Point(40, 12); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(203, 44); + this.button1.TabIndex = 0; + this.button1.Text = "Load Crome.exe"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // textBox_Logs + // + this.textBox_Logs.Location = new System.Drawing.Point(7, 98); + this.textBox_Logs.Multiline = true; + this.textBox_Logs.Name = "textBox_Logs"; + this.textBox_Logs.ReadOnly = true; + this.textBox_Logs.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox_Logs.Size = new System.Drawing.Size(259, 110); + this.textBox_Logs.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(115, 211); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(157, 13); + this.label1.TabIndex = 2; + this.label1.Text = "Made by BM Devs (Bouletmarc)"; + // + // saveFileDialog1 + // + this.saveFileDialog1.DefaultExt = "exe"; + this.saveFileDialog1.FileName = "crome_dealer.exe"; + this.saveFileDialog1.Filter = "Crome Tuning Dealer|*.exe"; + this.saveFileDialog1.Title = "Save Crome Cracked"; + // + // openFileDialog1 + // + this.openFileDialog1.DefaultExt = "exe"; + this.openFileDialog1.FileName = "crome.exe"; + this.openFileDialog1.Filter = "Crome Tuning|*.exe"; + this.openFileDialog1.Title = "Locate Crome Tuning"; + // + // progressBar1 + // + this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.progressBar1.Location = new System.Drawing.Point(0, 227); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(272, 10); + this.progressBar1.TabIndex = 3; + // + // button2 + // + this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button2.ForeColor = System.Drawing.Color.Green; + this.button2.Location = new System.Drawing.Point(40, 62); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(100, 30); + this.button2.TabIndex = 4; + this.button2.Text = "Crack"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // button3 + // + this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button3.ForeColor = System.Drawing.Color.Red; + this.button3.Location = new System.Drawing.Point(143, 62); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(100, 30); + this.button3.TabIndex = 5; + this.button3.Text = "Uncrack"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.MenuHighlight; + this.ClientSize = new System.Drawing.Size(272, 237); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.progressBar1); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBox_Logs); + this.Controls.Add(this.button1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "Form1"; + this.Text = "Crome Tuning Cracker"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TextBox textBox_Logs; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.SaveFileDialog saveFileDialog1; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.ProgressBar progressBar1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + } +} + diff --git a/Source/CromeCracker/Form1.cs b/Source/CromeCracker/Form1.cs new file mode 100644 index 0000000..cff651d --- /dev/null +++ b/Source/CromeCracker/Form1.cs @@ -0,0 +1,296 @@ +using System; +using System.IO; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace CromeCracker +{ + public partial class Form1 : Form + { + public string Version = "V1.0.0"; + public byte[] Buffer; + + public List LocationIndex; + public List LocationMode; + + public List LocationIndexCracked; + public List LocationModeCracked; + + public byte[] Find1 = new byte[7] { 0x72, 0x0F, 0x74, 0x2F, 0xFE, 0xC8, 0x74 }; // -5 + public byte[] Find2 = new byte[7] { 0x74, 0x0C, 0xEB, 0x5D, 0xC6, 0x80, 0x65 }; // -2 + public byte[] Find3 = new byte[7] { 0x75, 0x54, 0xA1, 0xA0, 0x17, 0x5A, 0x00 }; // -1 + public byte[] Find4 = new byte[7] { 0x75, 0x14, 0x8D, 0x55, 0xF4, 0x8B, 0x83 }; // -1 + public byte[] Find5 = new byte[7] { 0x0F, 0x84, 0x98, 0x00, 0x00, 0x00, 0x8D }; // -1 + + public byte[] Crack1 = new byte[7] { 0x90, 0x90, 0x90, 0x90, 0xFE, 0xC8, 0xEB }; // +5 + public byte[] Crack2 = new byte[7] { 0x90, 0x90, 0xEB, 0x5D, 0xC6, 0x80, 0x65 }; // +2 + public byte[] Crack3 = new byte[7] { 0xEB, 0x54, 0xA1, 0xA0, 0x17, 0x5A, 0x00 }; // +1 + public byte[] Crack4 = new byte[7] { 0x74, 0x14, 0x8D, 0x55, 0xF4, 0x8B, 0x83 }; // +1 + //public byte[] Crack4 = new byte[7] { 0xEB, 0x14, 0x8D, 0x55, 0xF4, 0x8B, 0x83 }; // +1 + public byte[] Crack5 = new byte[7] { 0x0F, 0x85, 0x98, 0x00, 0x00, 0x00, 0x8D }; // +1 + + public Form1() + { + InitializeComponent(); + + button2.Enabled = false; + button3.Enabled = false; + + Log_This("Crome Cracker Interface Loaded " + Version); + Log_This("Made by BM Devs (Bouletmarc)"); + } + + public void Log_This(string Message) + { + textBox_Logs.AppendText(Message); + textBox_Logs.AppendText(Environment.NewLine); + } + + private string GetHexLocation(int ThisNumber) + { + string XNumber = "2"; + + if (ThisNumber > 255) + XNumber = "2"; + if (ThisNumber > 4095) + XNumber = "3"; + if (ThisNumber > 65535) + XNumber = "4"; + if (ThisNumber > 1048575) + XNumber = "5"; + if (ThisNumber > 16777215) + XNumber = "6"; + if (ThisNumber > 268435455) + XNumber = "7"; + + return ThisNumber.ToString("X" + XNumber); + } + + private void Crack() + { + Log_This("Cracking..."); + + for (int index = 0; index < LocationIndex.Count; index++) + { + int Location = int.Parse(LocationIndex[index]); + int Mode = LocationMode[index]; + + byte[] LookupArray = new byte[0]; + + if (Mode == 0) LookupArray = Crack1; + if (Mode == 1) LookupArray = Crack2; + if (Mode == 2) LookupArray = Crack3; + if (Mode == 3) LookupArray = Crack4; + if (Mode == 4) LookupArray = Crack5; + + for (int i = 0; i < LookupArray.Length; i++) + Buffer[Location + i] = LookupArray[i]; + + if (LocationIndex.Count > 1) + progressBar1.Value = (index * 100) / (LocationIndex.Count - 1); + else + progressBar1.Value = 50; + } + + Log_This("Cracking DONE"); + + progressBar1.Value = 0; + + Save(); + } + + private void UnCrack() + { + Log_This("Uncracking..."); + + for (int index = 0; index < LocationIndexCracked.Count; index++) + { + int Location = int.Parse(LocationIndexCracked[index]); + int Mode = LocationModeCracked[index]; + + byte[] LookupArray = new byte[0]; + + if (Mode == 0) LookupArray = Find1; + if (Mode == 1) LookupArray = Find2; + if (Mode == 2) LookupArray = Find3; + if (Mode == 3) LookupArray = Find4; + if (Mode == 4) LookupArray = Find5; + + for (int i = 0; i < LookupArray.Length; i++) + Buffer[Location + i] = LookupArray[i]; + + if (LocationIndexCracked.Count > 1) + progressBar1.Value = (index * 100) / (LocationIndexCracked.Count - 1); + else + progressBar1.Value = 50; + } + + Log_This("Cracking DONE"); + + progressBar1.Value = 0; + + Save(); + } + + private void CheckCompatible() + { + LocationIndex = new List(); + LocationMode = new List(); + + LocationIndexCracked = new List(); + LocationModeCracked = new List(); + + bool CanBeCracked = false; + bool AlreadyCracked = false; + + button2.Enabled = false; + button3.Enabled = false; + + Log_This("Checking Compatibility"); + + progressBar1.Value = 0; + + for (int Index = 0; Index < 5; Index++) + { + byte[] LookupArray = new byte[0]; + byte[] LookupArrayCracked = new byte[0]; + + if (Index == 0) + { + LookupArray = Find1; + LookupArrayCracked = Crack1; + } + if (Index == 1) + { + LookupArray = Find2; + LookupArrayCracked = Crack2; + } + if (Index == 2) + { + LookupArray = Find3; + LookupArrayCracked = Crack3; + } + if (Index == 3) + { + LookupArray = Find4; + LookupArrayCracked = Crack4; + } + if (Index == 4) + { + LookupArray = Find5; + LookupArrayCracked = Crack5; + } + + for (int i = 0; i < Buffer.Length; i++) + { + + progressBar1.Value = (i * 100) / (Buffer.Length - 1); + + if (Buffer[i] == LookupArray[0]) + { + bool IsMatchingLookup = true; + + for (int i2 = 0; i2 < LookupArray.Length; i2++) + if (Buffer[i + i2] != LookupArray[i2]) + IsMatchingLookup = false; + + if (IsMatchingLookup) + { + LocationIndex.Add(i.ToString()); + LocationMode.Add(Index); + CanBeCracked = true; + } + } + + if (Buffer[i] == LookupArrayCracked[0]) + { + bool IsMatchingLookup = true; + + for (int i2 = 0; i2 < LookupArrayCracked.Length; i2++) + if (Buffer[i + i2] != LookupArrayCracked[i2]) + IsMatchingLookup = false; + + if (IsMatchingLookup) + { + LocationIndexCracked.Add(i.ToString()); + LocationModeCracked.Add(Index); + AlreadyCracked = true; + } + } + } + } + + progressBar1.Value = 0; + + if (CanBeCracked) + { + button2.Enabled = true; + + if (AlreadyCracked) + { + Log_This("This file is partially cracked"); + button3.Enabled = true; + } + else + Log_This("This file can be cracked"); + } + else + { + if (AlreadyCracked) + { + Log_This("This file is already cracked"); + button3.Enabled = true; + } + else + Log_This("This file CAN'T be cracked"); + } + } + + + private void button1_Click(object sender, EventArgs e) + { + DialogResult result = openFileDialog1.ShowDialog(); + if (result == DialogResult.OK) + { + Buffer = File.ReadAllBytes(openFileDialog1.FileName); + Log_This("File : " + Path.GetFileName(openFileDialog1.FileName) + " loaded"); + Log_This("File Size (integer/hex) : " + Buffer.Length + "/0x" + GetHexLocation(Buffer.Length)); + CheckCompatible(); + } + } + + private void Save() + { + DialogResult result = saveFileDialog1.ShowDialog(); + if (result == DialogResult.OK) + { + try + { + File.Create(saveFileDialog1.FileName).Dispose(); + File.WriteAllBytes(saveFileDialog1.FileName, Buffer); + + Log_This("File : " + Path.GetFileName(saveFileDialog1.FileName) + " saved"); + } + catch + { + Log_This("ERROR : CAN'T write file at the specified location"); + } + } + } + + private void button2_Click(object sender, EventArgs e) + { + Crack(); + } + + private void button3_Click(object sender, EventArgs e) + { + UnCrack(); + } + } +} diff --git a/Source/CromeCracker/Form1.resx b/Source/CromeCracker/Form1.resx new file mode 100644 index 0000000..7350000 --- /dev/null +++ b/Source/CromeCracker/Form1.resx @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 153, 17 + + + + + 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 + AAAAAAhwAHd3d3d3d3d3d3d3d3d3AAAIiIiIiIiIiIiIiIiIgAAAAAAAAAAAAAAAAAAAAAAA/////+AA + AAfAAAADgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA + AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAHAAAAD4AAAB/// + //8oAAAAIAAAAEAAAAABABgAAAAAAIAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlpyfZGhqZGhqZGhqZGhqZGhqZGhqV1tcZGhqV1tcV1tcV1tc + V1tcV1tcV1tcS05PV1tcS05PS05PPkFCPkFCPkFCPkFCPkFCPkFCPkFCPkFCMjQ1AAAAAAAAAAAAlpyf + cHV3oqmsoqmsoqmsoqmsr7a5r7a5r7a5r7a5r7a5r7a5r7a5r7a5r7a5r7a5yNHUr7a5yNHU2trayNHU + 2tra2trayNHU5ubm5ubm5ubm5ubmrKysMjQ1AAAAAAAAoqmsgICATExMAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtra25ubm + MjQ1AAAAAAAAoqmsgICAAAAAAACUAADUAACUAAAAAAD/AAAAAACUAADUAACUAAAAAACUAADUAACUAAAA + AAD/AAAAAACUAADUAACUAAAAAACUAADUAAD/AAAAAAAA5ubmMjQ1AAAAAAAAoqmsgICAAAAAAAD/AAAA + AAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAA + AAAAAAAAAAAA5ubmMjQ1AAAAAAAAr7a5gICAAAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAA + AADUAAAAAAD/AAAAAAD/AAAAAAAAAAAAAAD/AAAAAADUAAAAAAAAAAAAAAAA5ubmPkFCAAAAAAAAr7a5 + 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 + AAD/AAAAAAAAiY+RV1tcAAAAAAAAyNHUfYKEAAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAA + AAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAD/AAAAAAAAiY+RV1tcAAAAAAAA5ubm + fYKEAAAAAADUAAAAAACUAADUAACUAAAAAACUAADUAACUAAAAAADUAAAAAACUAADUAACUAAAAAADUAAAA + AADUAAAAAACUAADUAACUAAAAAAAAfYKEZGhqAAAAAAAA5ubmfYKETExMAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMfYKE + ZGhqAAAAAAAA5ubmc3NzZGhqZGhqZGhqZGhqZGhqZGhqZGhqZGhqcHV3ZGhqcHV3cHV3cHV3cHV3cHV3 + cHV3cHV3cHV3gICAiY+RiY+RiY+RiY+RiY+RiY+RgICAV1tcV1tcAAAAAAAAAAAA5ubm5ubmyNHU5ubm + yNHUyNHU5ubmyNHUyNHUyNHUyNHUyNHUr7a5wsLCr7a5r7a5wsLCr7a5r7a5r7a5r7a5r7a5r7a5r7a5 + r7a5r7a5lpyfiY+RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////8AA + AAOAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA + AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAA/// + //8= + + + \ No newline at end of file diff --git a/Source/CromeCracker/Program.cs b/Source/CromeCracker/Program.cs new file mode 100644 index 0000000..f8a9287 --- /dev/null +++ b/Source/CromeCracker/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace CromeCracker +{ + static class Program + { + /// + /// Point d'entrée principal de l'application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Source/CromeCracker/Properties/AssemblyInfo.cs b/Source/CromeCracker/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ec3914f --- /dev/null +++ b/Source/CromeCracker/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Les informations générales relatives à un assembly dépendent de +// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations +// associées à un assembly. +[assembly: AssemblyTitle("CromeCracker")] +[assembly: AssemblyDescription("Crome Tuning Cracker (Dealer)")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("BM Devs")] +[assembly: AssemblyProduct("CromeCracker")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly +// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de +// COM, affectez la valeur true à l'attribut ComVisible sur ce type. +[assembly: ComVisible(false)] + +// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM +[assembly: Guid("a0ac09f0-16d4-4995-8f99-b5814adb923a")] + +// Les informations de version pour un assembly se composent des quatre valeurs suivantes : +// +// Version principale +// Version secondaire +// Numéro de build +// Révision +// +// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut +// en utilisant '*', comme indiqué ci-dessous : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Source/CromeCracker/Properties/Resources.Designer.cs b/Source/CromeCracker/Properties/Resources.Designer.cs new file mode 100644 index 0000000..a1c5981 --- /dev/null +++ b/Source/CromeCracker/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace CromeCracker.Properties +{ + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CromeCracker.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Source/CromeCracker/Properties/Resources.resx b/Source/CromeCracker/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/Source/CromeCracker/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Source/CromeCracker/Properties/Settings.Designer.cs b/Source/CromeCracker/Properties/Settings.Designer.cs new file mode 100644 index 0000000..4caee93 --- /dev/null +++ b/Source/CromeCracker/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace CromeCracker.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Source/CromeCracker/Properties/Settings.settings b/Source/CromeCracker/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Source/CromeCracker/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Source/CromeCracker/bin/Debug/CromeCracker.exe b/Source/CromeCracker/bin/Debug/CromeCracker.exe new file mode 100644 index 0000000..701174d Binary files /dev/null and b/Source/CromeCracker/bin/Debug/CromeCracker.exe differ diff --git a/Source/CromeCracker/bin/Debug/CromeCracker.pdb b/Source/CromeCracker/bin/Debug/CromeCracker.pdb new file mode 100644 index 0000000..e800ac7 Binary files /dev/null and b/Source/CromeCracker/bin/Debug/CromeCracker.pdb differ diff --git a/Source/CromeCracker/bin/Debug/CromeCracker.vshost.exe b/Source/CromeCracker/bin/Debug/CromeCracker.vshost.exe new file mode 100644 index 0000000..0a4ce9d Binary files /dev/null and b/Source/CromeCracker/bin/Debug/CromeCracker.vshost.exe differ diff --git a/Source/CromeCracker/bin/Debug/CromeCracker.vshost.exe.manifest b/Source/CromeCracker/bin/Debug/CromeCracker.vshost.exe.manifest new file mode 100644 index 0000000..f96b1d6 --- /dev/null +++ b/Source/CromeCracker/bin/Debug/CromeCracker.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Source/CromeCracker/crome_MAINICON.ico b/Source/CromeCracker/crome_MAINICON.ico new file mode 100644 index 0000000..e7ba60f Binary files /dev/null and b/Source/CromeCracker/crome_MAINICON.ico differ diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.Form1.resources b/Source/CromeCracker/obj/Debug/CromeCracker.Form1.resources new file mode 100644 index 0000000..8f72d53 Binary files /dev/null and b/Source/CromeCracker/obj/Debug/CromeCracker.Form1.resources differ diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.Properties.Resources.resources b/Source/CromeCracker/obj/Debug/CromeCracker.Properties.Resources.resources new file mode 100644 index 0000000..06c24d0 Binary files /dev/null and b/Source/CromeCracker/obj/Debug/CromeCracker.Properties.Resources.resources differ diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.csproj.FileListAbsolute.txt b/Source/CromeCracker/obj/Debug/CromeCracker.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..1397997 --- /dev/null +++ b/Source/CromeCracker/obj/Debug/CromeCracker.csproj.FileListAbsolute.txt @@ -0,0 +1,8 @@ +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\bin\Debug\CromeCracker.exe +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\bin\Debug\CromeCracker.pdb +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\obj\Debug\CromeCracker.csprojResolveAssemblyReference.cache +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\obj\Debug\CromeCracker.Form1.resources +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\obj\Debug\CromeCracker.Properties.Resources.resources +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\obj\Debug\CromeCracker.csproj.GenerateResource.Cache +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\obj\Debug\CromeCracker.exe +c:\users\coco\documents\visual studio 2015\Projects\CromeCracker\CromeCracker\obj\Debug\CromeCracker.pdb diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.csproj.GenerateResource.Cache b/Source/CromeCracker/obj/Debug/CromeCracker.csproj.GenerateResource.Cache new file mode 100644 index 0000000..9a2a87c Binary files /dev/null and b/Source/CromeCracker/obj/Debug/CromeCracker.csproj.GenerateResource.Cache differ diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.csprojResolveAssemblyReference.cache b/Source/CromeCracker/obj/Debug/CromeCracker.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..67626fa Binary files /dev/null and b/Source/CromeCracker/obj/Debug/CromeCracker.csprojResolveAssemblyReference.cache differ diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.exe b/Source/CromeCracker/obj/Debug/CromeCracker.exe new file mode 100644 index 0000000..701174d Binary files /dev/null and b/Source/CromeCracker/obj/Debug/CromeCracker.exe differ diff --git a/Source/CromeCracker/obj/Debug/CromeCracker.pdb b/Source/CromeCracker/obj/Debug/CromeCracker.pdb new file mode 100644 index 0000000..e800ac7 Binary files /dev/null and b/Source/CromeCracker/obj/Debug/CromeCracker.pdb differ diff --git a/Source/CromeCracker/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Source/CromeCracker/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..43e7ced Binary files /dev/null and b/Source/CromeCracker/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Source/CromeCracker/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Source/CromeCracker/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..b251ac1 Binary files /dev/null and b/Source/CromeCracker/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ