diff --git a/DotNetCTFDumper/DotNetCTFDumper.csproj b/DotNetCTFDumper/DotNetCTFDumper.csproj index 8948fb5..b00f942 100644 --- a/DotNetCTFDumper/DotNetCTFDumper.csproj +++ b/DotNetCTFDumper/DotNetCTFDumper.csproj @@ -149,6 +149,12 @@ HexViewForm.cs + + Form + + + MainConsole.cs + Form @@ -263,6 +269,9 @@ HexViewForm.cs + + MainConsole.cs + MainForm.cs diff --git a/DotNetCTFDumper/GUI/MainConsole.cs b/DotNetCTFDumper/GUI/MainConsole.cs new file mode 100644 index 0000000..0330641 --- /dev/null +++ b/DotNetCTFDumper/GUI/MainConsole.cs @@ -0,0 +1,28 @@ +using System; +using System.Runtime.CompilerServices; +using System.Windows.Forms; + +namespace DotNetCTFDumper.GUI +{ + public partial class MainConsole : Form + { + public static MainConsole inst; + public MainConsole() + { + inst = this; + InitializeComponent(); + this.Closing += (a,b) => + { + Environment.Exit(0); + }; + } + + public static void Message(string msg) + { + var date = DateTime.Now; + inst.textBox1.AppendText(msg.Length > 0 + ? $"[{date.Hour,2}:{date.Minute,2}:{date.Second,2}:{date.Millisecond,3}] {msg}\r\n" + : "\r\n"); + } + } +} \ No newline at end of file diff --git a/DotNetCTFDumper/MMFParser/EXE/ChunkList.cs b/DotNetCTFDumper/MMFParser/EXE/ChunkList.cs index ba59f6c..be09e7f 100644 --- a/DotNetCTFDumper/MMFParser/EXE/ChunkList.cs +++ b/DotNetCTFDumper/MMFParser/EXE/ChunkList.cs @@ -24,10 +24,7 @@ namespace DotNetCTFDumper.MMFParser.EXE chunk.Read(exeReader); chunk.Loader = LoadChunk(chunk); Chunks.Add(chunk); - if (chunk.Id == 8750) - { - chunk.BuildKey(); - } + if (chunk.Id == 8750) chunk.BuildKey(); if (exeReader.Tell() >= exeReader.Size()) break; if (chunk.Id == 32639) break; //LAST chunkID } @@ -132,14 +129,13 @@ namespace DotNetCTFDumper.MMFParser.EXE - Settings.AppName=_chunkList.GetChunk()?.Value; - Settings.Copyright = _chunkList.GetChunk()?.Value; - Settings.ProjectPath = _chunkList.GetChunk()?.Value; + Settings.AppName=_chunkList.GetChunk()?.Value??""; + Settings.Copyright = _chunkList.GetChunk()?.Value??""; + Settings.ProjectPath = _chunkList.GetChunk()?.Value??""; if (Exe.Instance.GameData.ProductBuild > 284)Decryption.MakeKey(Settings.AppName,Settings.Copyright,Settings.ProjectPath); else Decryption.MakeKey(Settings.ProjectPath, Settings.AppName, Settings.Copyright); - Logger.Log("New Key!"); @@ -255,12 +251,7 @@ namespace DotNetCTFDumper.MMFParser.EXE } - if (loader != null) - { - //Logger.Log($"Reading {loader.GetType().Name}...",true,ConsoleColor.Yellow); - loader.Read(); - - } + if (loader != null) loader.Read(); return loader; } diff --git a/DotNetCTFDumper/MMFParser/EXE/EXE.cs b/DotNetCTFDumper/MMFParser/EXE/EXE.cs index 295f1bf..045e47c 100644 --- a/DotNetCTFDumper/MMFParser/EXE/EXE.cs +++ b/DotNetCTFDumper/MMFParser/EXE/EXE.cs @@ -1,6 +1,7 @@ using System; using System.Data.OleDb; using System.IO; +using DotNetCTFDumper.GUI; using DotNetCTFDumper.Utils; namespace DotNetCTFDumper.MMFParser.EXE @@ -73,6 +74,7 @@ namespace DotNetCTFDumper.MMFParser.EXE { PackData = new PackData(); PackData.Read(exeReader); + GameData = new GameData(); GameData.Read(exeReader); Console.ForegroundColor = ConsoleColor.DarkGreen; diff --git a/DotNetCTFDumper/MMFParser/EXE/GameData.cs b/DotNetCTFDumper/MMFParser/EXE/GameData.cs index 3f8f8e3..3f56de4 100644 --- a/DotNetCTFDumper/MMFParser/EXE/GameData.cs +++ b/DotNetCTFDumper/MMFParser/EXE/GameData.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using DotNetCTFDumper.GUI; using DotNetCTFDumper.MMFParser.EXE.Loaders; using DotNetCTFDumper.MMFParser.EXE.Loaders.Banks; using DotNetCTFDumper.Utils; diff --git a/DotNetCTFDumper/MMFParser/EXE/Loaders/Frame.cs b/DotNetCTFDumper/MMFParser/EXE/Loaders/Frame.cs index 3d723df..f32f176 100644 --- a/DotNetCTFDumper/MMFParser/EXE/Loaders/Frame.cs +++ b/DotNetCTFDumper/MMFParser/EXE/Loaders/Frame.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; +using DotNetCTFDumper.GUI; using DotNetCTFDumper.Utils; namespace DotNetCTFDumper.MMFParser.EXE.Loaders diff --git a/DotNetCTFDumper/MMFParser/EXE/PackData.cs b/DotNetCTFDumper/MMFParser/EXE/PackData.cs index 0b9892e..5074069 100644 --- a/DotNetCTFDumper/MMFParser/EXE/PackData.cs +++ b/DotNetCTFDumper/MMFParser/EXE/PackData.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO; +using DotNetCTFDumper.GUI; using DotNetCTFDumper.Utils; namespace DotNetCTFDumper.MMFParser.EXE diff --git a/DotNetCTFDumper/MMFParser/Translation/PAME2MFA.cs b/DotNetCTFDumper/MMFParser/Translation/PAME2MFA.cs index 9e1c429..33159e7 100644 --- a/DotNetCTFDumper/MMFParser/Translation/PAME2MFA.cs +++ b/DotNetCTFDumper/MMFParser/Translation/PAME2MFA.cs @@ -253,14 +253,6 @@ namespace DotNetCTFDumper.MMFParser.Translation } } } - - - - - - - - newFrame.Items = newFrameItems; newFrame.Instances = newInstances; newFrame.Folders=new List(); diff --git a/DotNetCTFDumper/Program.cs b/DotNetCTFDumper/Program.cs index 4eb04a3..e4b5764 100644 --- a/DotNetCTFDumper/Program.cs +++ b/DotNetCTFDumper/Program.cs @@ -39,9 +39,12 @@ namespace DotNetCTFDumper Settings.UseGUI = true; MyForm = new MainForm(); + var console = new MainConsole(); + console.Show(); Application.Run(MyForm); - - + + + } diff --git a/DotNetCTFDumper/Utils/Logger.cs b/DotNetCTFDumper/Utils/Logger.cs index 2ddb0ef..a740a94 100644 --- a/DotNetCTFDumper/Utils/Logger.cs +++ b/DotNetCTFDumper/Utils/Logger.cs @@ -1,13 +1,14 @@ using System; using System.IO; using System.Web.UI.WebControls; +using DotNetCTFDumper.GUI; namespace DotNetCTFDumper.Utils { public static class Logger { static StreamWriter _writer; - public static void Log(string text, bool logToScreen = true,ConsoleColor color = ConsoleColor.White) + public static void Log(string text, bool logToScreen = true,ConsoleColor color = ConsoleColor.White, bool logToConsole=true) { if (_writer == null) { @@ -24,6 +25,8 @@ namespace DotNetCTFDumper.Utils Console.WriteLine(Helper.GetCurrentTime()+text); Console.ForegroundColor = ConsoleColor.White; } + if(logToConsole) MainConsole.Message(text); + }