Better logging, MFA Generator will now download template from github

master
1987kostya 5 years ago
parent b839afddb1
commit eef23138f1

@ -105,7 +105,7 @@ namespace DotNetCTFDumper.GUI
};
KeyPreview = true;
tabControl1.Selecting += tabControl1_Selecting;
tabControl1.TabPages.Remove(mfaTab);
//tabControl1.TabPages.Remove(mfaTab);
}

@ -87,7 +87,7 @@ namespace DotNetCTFDumper.MMFParser.EXE
case ChunkFlags.Encrypted:
ChunkData = Decryption.DecodeChunk(exeReader.ReadBytes(Size),Size);
break;
case ChunkFlags.CompressedAndEncrypyed:
case ChunkFlags.CompressedAndEncrypted:
ChunkData = Decryption.DecodeMode3(exeReader.ReadBytes(Size), Size,Id,out DecompressedSize);
break;
case ChunkFlags.Compressed:
@ -159,7 +159,7 @@ namespace DotNetCTFDumper.MMFParser.EXE
NotCompressed = 0,
Compressed = 1,
Encrypted = 2,
CompressedAndEncrypyed = 3
CompressedAndEncrypted = 3
}
public ChunkLoader LoadChunk(Chunk chunk)

@ -257,7 +257,7 @@ namespace DotNetCTFDumper.MMFParser.EXE.Loaders.Banks
_transparent = imageReader.ReadBytes(4);
if(Settings.twofiveplus)Logger.Log($"Loading image {Handle.ToString(),4} Size: {_width,4}x{_height,4}");
byte[] imageData;
Flags["LZX"] = false;
if(Settings.twofiveplus) Flags["LZX"] = false;
if (Flags["LZX"])
{
@ -301,12 +301,12 @@ namespace DotNetCTFDumper.MMFParser.EXE.Loaders.Banks
case 8:
{
imageReader.Seek(start+Size);
return;
(_colorArray, bytesRead) = ImageHelper.Read32(imageData, _width, _height);
break;
}
default:
{
Logger.Log("Unknown Color Mode");
break;
}

@ -52,10 +52,10 @@ namespace DotNetCTFDumper.MMFParser.EXE.Loaders
});
public int CountOfObjs;
int _top;
int _bottom;
int _left;
int _right;
// int _top;
// int _bottom;
// int _left;
// int _right;
public ChunkList Chunks;
public FrameHeader Header;
public ObjectInstances Objects;

@ -1,5 +1,8 @@
using System;
using System.IO;
using System.IO.Pipes;
using System.Net;
using System.Windows.Forms;
using DotNetCTFDumper.MMFParser.EXE;
using DotNetCTFDumper.Utils;
@ -8,12 +11,34 @@ namespace DotNetCTFDumper.MMFParser.Translation
public static class MFAGenerator
{
public static readonly string TemplatePath = @"template.mfa";
public const string TemplatePath = @"template.mfa";
public const string TemplateLink = @"https://github.com/CTFAK/CTFAK/raw/master/Dependencies/template.mfa";
public static MFA.MFA BuildMFA()
{
ByteReader mfaReader;
if (!File.Exists(TemplatePath))
{
var dlg = MessageBox.Show("Template MFA not found\nUse github version?", "Error",MessageBoxButtons.YesNo);
if (dlg == DialogResult.No)
{
Logger.Log("MFA Generation Error");
return null;
}
else if (dlg == DialogResult.Yes)
{
using (var wc = new WebClient())
{
Logger.Log("Donwloading MFA from "+TemplateLink);
mfaReader=new ByteReader(wc.DownloadData(TemplateLink));
}
}
else return null;
}
else mfaReader = new ByteReader(TemplatePath, FileMode.Open);
Settings.DoMFA = true;
var mfaReader = new ByteReader(TemplatePath, FileMode.Open);
var template = new MFA.MFA(mfaReader);
Pame2Mfa.Message("Loading Template");
template.Read(); //Loading template

@ -347,6 +347,7 @@ namespace DotNetCTFDumper.MMFParser.Translation
public static void Message(string msg)
{
OnMessage?.Invoke(msg);
Logger.Log(msg);
}

@ -3,6 +3,7 @@ using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;
using DotNetCTFDumper.GUI;
using DotNetCTFDumper.MMFParser.EXE;
@ -26,12 +27,10 @@ namespace DotNetCTFDumper
// MFAGenerator.ReadTestMFA();
// Environment.Exit(0);
var path = "";
var verbose = false;
var dumpImages = true;
var dumpSounds = true;
AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) =>
{
if (eventArgs.Exception is ThreadAbortException) return;
Logger.Log("ERROR: ");
Logger.Log(eventArgs.Exception.ToString());
};

Loading…
Cancel
Save