diff --git a/Controller/Xp3Dumper.cs b/Controller/Xp3Dumper.cs deleted file mode 100644 index 7b3306a..0000000 --- a/Controller/Xp3Dumper.cs +++ /dev/null @@ -1,342 +0,0 @@ -using System; -using System.IO; -using Clowwindy.XP3Dumper.Resources; -using Clowwindy.XP3Dumper.Utils; - -namespace Clowwindy.XP3Dumper.Controller -{ - internal class Xp3Dumper - { - private const string XP3HELPERS_PATH = @"xp3dumper\helpers\"; - private const string EXPORTER_FILENAME = @"!exporteraddr.tpm"; - private const string EXPORTER_FULL_FILENAME = XP3HELPERS_PATH + EXPORTER_FILENAME; - - private const string XP3DUMPER_PATH = @"xp3dumper\xp3dumper\"; - private const string DUMPER_FILENAME = @"~xp3dumper0.12d.tpm"; - private const string DUMPER_FULL_FILENAME = XP3DUMPER_PATH + DUMPER_FILENAME; - - private const string ARC_LIST_FILENAME = "arc_list.txt"; - private const string ADDRESS_FILENAME = "exporter_address.txt"; - private const string DLLLOADER_FULL_FILENAME = XP3HELPERS_PATH + "DllLoader.exe"; - - private const string SORAAPP_FILENAME = @"\SoraApp\SoraApp.exe"; - private string NTLEA_PATH = @"D:\Program Files (x86)\NTLEA\ntleac.exe"; - - private const string DUMPER_BUTTON_CLASS = "Button"; - private const string DUMPER_BUTTON_TITLE = "模式3启动"; - - private const string DUMPER_GROUP_EDIT_ADDRESS_CLASS = "Button"; - private const string DUMPER_GROUP_EDIT_ADDRESS_TITLE = "特殊功能(模式3)"; - - private const string DUMPER_EDIT_ADDRESS_CLASS = "EDIT"; - - private const string DUMPER_WINDOW_TITLE = "xp3dumper 0.12d"; - private const string DUMPER_FINISHED_WINDOW_TITLE = "xp3dumper hint"; - - private const int WAIT_SLEEP_INTERVAL = 40; - - private string address; - - private string bootFilename; - - private bool finished = true; - - internal enum UseStartLoader - { - None, - SoraApp, - NTLEA - } - - internal Xp3Dumper() - { - useLoader = UseStartLoader.None; - delay = 4; - codePage = "0411"; - } - - internal string BootFilename - { - get { return bootFilename; } - set { bootFilename = value; } - } - - private string executeFilename; - - internal string ExecuteFilename - { - get { return executeFilename; } - set { executeFilename = value; } - } - - private string xp3Filename; - - internal string Xp3Filename - { - get { return xp3Filename; } - set { xp3Filename = value; } - } - - private string savePath; - - internal string SavePath - { - get { return savePath; } - set { savePath = value; } - } - - internal string NTLEAPath - { - get { return NTLEA_PATH; } - set { NTLEA_PATH = value; } - } - - private string getGamePath() - { - return FileUtils.GetDirectoryName(bootFilename); - } - - private UseStartLoader useLoader; - - internal UseStartLoader UseLoader - { - get { return useLoader; } - set { useLoader = value; } - } - - private int delay; - - internal int Delay - { - get { return delay; } - set { delay = value; } - } - - private string codePage; - - internal string CodePage - { - get { return codePage; } - set { codePage = value; } - } - - internal string Start() - { - try - { - finished = false; - - //获取导出地址 - killGame(); - delDumperPlugin(); - copyExportPlugin(); - delAddressFile(); - startGame(); - waitUtilTrue(FileUtils.ExistFile, FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME)); - killGame(); - delExportPlugin(); - this.address = getExportAddr().TrimEnd(); - - //启动游戏并注入解包插件 - startGame(); - ProcessUtils.Sleep(delay * 1000); - copyDumperPlugin(); - createArcList(); - runDllLoader(); - - //填写解包信息,解包 - FileUtils.MakeDir(this.savePath); - ProcessUtils.Sleep(1000); - waitUtilTrue(setWindowTextThenClickButton, null); - return Resource.Started; - } - catch (Exception e) - { - LogUtils.Log(e.ToString()); - return e.Message + " " + Resource.SeeLog; - } - } - - internal string WaitForFinish() - { - try - { - waitUtilTrue(dumpFinished, null); - - Finish(); - } - catch (Exception e) - { - LogUtils.Log(e.ToString()); - return e.Message + " " + Resource.SeeLog; - } - return Resource.Finished; - } - - internal string Finish() - { - try - { - killGame(); - delDumperPlugin(); - delExportPlugin(); - delAddressFile(); - finished = true; - return Resource.Finished; - } - catch (Exception e) - { - LogUtils.Log(e.ToString()); - return e.Message + " " + Resource.SeeLog; - } - } - - internal string Cancel() - { - try - { - killGame(); - delDumperPlugin(); - delExportPlugin(); - delAddressFile(); - finished = true; - return Resource.Canceled; - } - catch (Exception e) - { - LogUtils.Log(e.ToString()); - return e.Message + " " + Resource.SeeLog; - } - } - - protected void startGame() - { - try - { - if (useLoader == UseStartLoader.SoraApp) - { - ProcessUtils.StartProcess(FileUtils.GetWinDir() + SORAAPP_FILENAME, codePage.Trim() + " " + this.bootFilename); - } - else if (useLoader == UseStartLoader.NTLEA) - { - int iLCID = Convert.ToInt32(codePage.Trim(), 16); - ProcessUtils.StartProcess(NTLEA_PATH, String.Format("\"{0}\" C{1} L{2}", this.bootFilename, Win32APIUtils.GetLocaleCP(iLCID), iLCID)); - } - else - { - ProcessUtils.StartProcess(this.bootFilename, null); - } - } - catch (FileNotFoundException e) - { - throw new ArgumentException(Resource.LoaderNotFound, e); - } - - waitUtilTrue(ProcessUtils.ExistsProcess, this.executeFilename); - } - - protected int getGamePID() - { - return 0; - } - - protected void killGame() - { - ProcessUtils.Kill(this.executeFilename); - waitUtilFalse(ProcessUtils.ExistsProcess, this.executeFilename); - } - - protected void copyExportPlugin() - { - FileUtils.Copy(EXPORTER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME)); - } - - protected void delExportPlugin() - { - FileUtils.Delete(FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME)); - } - - protected void delAddressFile() - { - FileUtils.Delete(FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME)); - } - - protected string getExportAddr() - { - return FileUtils.ReadTextFile(FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME)); - } - - protected void copyDumperPlugin() - { - FileUtils.Copy(DUMPER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), DUMPER_FILENAME)); - } - - protected void delDumperPlugin() - { - FileUtils.Delete(FileUtils.CombinePath(getGamePath(), DUMPER_FILENAME)); - } - - protected void runDllLoader() - { - int pid = ProcessUtils.GetProcess(this.executeFilename).Id; - ProcessUtils.StartProcess(DLLLOADER_FULL_FILENAME, pid.ToString() + " " + DUMPER_FILENAME); - } - - protected void createArcList() - { - FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename.Replace(",", "\r\n")); - } - - protected bool setWindowTextThenClickButton(String notUsed) - { - IntPtr hwndWin; - IntPtr hwndButton; - IntPtr hwndEditPath; - IntPtr hwndEditAddress; - - hwndWin = ProcessUtils.FindWindow(null, DUMPER_WINDOW_TITLE); - if (hwndWin.ToInt32() == 0) - { - return false; - } - hwndEditPath = ProcessUtils.FindWindowEx(hwndWin, new IntPtr(0), DUMPER_EDIT_ADDRESS_CLASS, null); - hwndEditAddress = ProcessUtils.FindWindowEx(hwndWin, hwndEditPath, DUMPER_EDIT_ADDRESS_CLASS, null); - hwndButton = ProcessUtils.FindWindowEx(hwndWin, new IntPtr(0), DUMPER_BUTTON_CLASS, DUMPER_BUTTON_TITLE); - - ProcessUtils.SetText(hwndEditPath, this.savePath); - ProcessUtils.SetText(hwndEditAddress, this.address); - ProcessUtils.PostMessage(hwndButton, ProcessUtils.BM_CLICK); - return true; - } - - protected bool dumpFinished(string notUsed) - { - IntPtr hwndWin = ProcessUtils.FindWindow(null, DUMPER_FINISHED_WINDOW_TITLE); - if (hwndWin.ToInt32() == 0) - { - return false; - } - return true; - } - - protected delegate bool StringToBoolMethod(string argument); - - protected void waitUtilTrue(StringToBoolMethod condition, string argument) - { - while (!condition(argument) && !finished) - { - ProcessUtils.Sleep(WAIT_SLEEP_INTERVAL); - ProcessUtils.DoEvents(); - } - } - - protected void waitUtilFalse(StringToBoolMethod condition, string argument) - { - while (condition(argument) && !finished) - { - ProcessUtils.Sleep(WAIT_SLEEP_INTERVAL); - ProcessUtils.DoEvents(); - } - } - } -} \ No newline at end of file diff --git a/GUI/MainForm.Designer.cs b/GUI/MainForm.Designer.cs deleted file mode 100644 index ff35d7b..0000000 --- a/GUI/MainForm.Designer.cs +++ /dev/null @@ -1,305 +0,0 @@ -namespace Clowwindy.XP3Dumper.GUI -{ - partial class MainForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.tbBootFilename = new System.Windows.Forms.TextBox(); - this.tbExcuteFilename = new System.Windows.Forms.TextBox(); - this.tbXp3Filename = new System.Windows.Forms.TextBox(); - this.label3 = new System.Windows.Forms.Label(); - this.btnStart = new System.Windows.Forms.Button(); - this.label4 = new System.Windows.Forms.Label(); - this.tbSavePath = new System.Windows.Forms.TextBox(); - this.rbUseSoraApp = new System.Windows.Forms.RadioButton(); - this.rbUseNTLEA = new System.Windows.Forms.RadioButton(); - this.rbUseNone = new System.Windows.Forms.RadioButton(); - this.btnBootFilename = new System.Windows.Forms.Button(); - this.btnExcuteFilename = new System.Windows.Forms.Button(); - this.btnExtractFilename = new System.Windows.Forms.Button(); - this.btnSavePath = new System.Windows.Forms.Button(); - this.numDelay = new System.Windows.Forms.NumericUpDown(); - this.label5 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.tbCodePage = new System.Windows.Forms.TextBox(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.groupBox2 = new System.Windows.Forms.GroupBox(); - this.tbNTLEAPath = new System.Windows.Forms.TextBox(); - this.buttonNTLEA = new System.Windows.Forms.Button(); - this.lbStatus = new System.Windows.Forms.Label(); - this.btnCancel = new System.Windows.Forms.Button(); - ((System.ComponentModel.ISupportInitialize)(this.numDelay)).BeginInit(); - this.groupBox1.SuspendLayout(); - this.groupBox2.SuspendLayout(); - this.SuspendLayout(); - // - // label1 - // - resources.ApplyResources(this.label1, "label1"); - this.label1.Name = "label1"; - // - // label2 - // - resources.ApplyResources(this.label2, "label2"); - this.label2.Name = "label2"; - // - // tbBootFilename - // - resources.ApplyResources(this.tbBootFilename, "tbBootFilename"); - this.tbBootFilename.Name = "tbBootFilename"; - // - // tbExcuteFilename - // - resources.ApplyResources(this.tbExcuteFilename, "tbExcuteFilename"); - this.tbExcuteFilename.Name = "tbExcuteFilename"; - // - // tbXp3Filename - // - resources.ApplyResources(this.tbXp3Filename, "tbXp3Filename"); - this.tbXp3Filename.Name = "tbXp3Filename"; - // - // label3 - // - resources.ApplyResources(this.label3, "label3"); - this.label3.Name = "label3"; - // - // btnStart - // - resources.ApplyResources(this.btnStart, "btnStart"); - this.btnStart.Name = "btnStart"; - this.btnStart.UseVisualStyleBackColor = true; - this.btnStart.Click += new System.EventHandler(this.btnStart_Click); - // - // label4 - // - resources.ApplyResources(this.label4, "label4"); - this.label4.Name = "label4"; - // - // tbSavePath - // - resources.ApplyResources(this.tbSavePath, "tbSavePath"); - this.tbSavePath.Name = "tbSavePath"; - // - // rbUseSoraApp - // - resources.ApplyResources(this.rbUseSoraApp, "rbUseSoraApp"); - this.rbUseSoraApp.Name = "rbUseSoraApp"; - this.rbUseSoraApp.UseVisualStyleBackColor = true; - // - // rbUseNTLEA - // - resources.ApplyResources(this.rbUseNTLEA, "rbUseNTLEA"); - this.rbUseNTLEA.Name = "rbUseNTLEA"; - this.rbUseNTLEA.UseVisualStyleBackColor = true; - // - // rbUseNone - // - resources.ApplyResources(this.rbUseNone, "rbUseNone"); - this.rbUseNone.Checked = true; - this.rbUseNone.Name = "rbUseNone"; - this.rbUseNone.TabStop = true; - this.rbUseNone.UseVisualStyleBackColor = true; - this.rbUseNone.CheckedChanged += new System.EventHandler(this.rbUseNone_CheckedChanged); - // - // btnBootFilename - // - resources.ApplyResources(this.btnBootFilename, "btnBootFilename"); - this.btnBootFilename.Name = "btnBootFilename"; - this.btnBootFilename.UseVisualStyleBackColor = true; - this.btnBootFilename.Click += new System.EventHandler(this.btnBootFilename_Click); - // - // btnExcuteFilename - // - resources.ApplyResources(this.btnExcuteFilename, "btnExcuteFilename"); - this.btnExcuteFilename.Name = "btnExcuteFilename"; - this.btnExcuteFilename.UseVisualStyleBackColor = true; - this.btnExcuteFilename.Click += new System.EventHandler(this.btnExcuteFilename_Click); - // - // btnExtractFilename - // - resources.ApplyResources(this.btnExtractFilename, "btnExtractFilename"); - this.btnExtractFilename.Name = "btnExtractFilename"; - this.btnExtractFilename.UseVisualStyleBackColor = true; - this.btnExtractFilename.Click += new System.EventHandler(this.btnExtractFilename_Click); - // - // btnSavePath - // - resources.ApplyResources(this.btnSavePath, "btnSavePath"); - this.btnSavePath.Name = "btnSavePath"; - this.btnSavePath.UseVisualStyleBackColor = true; - this.btnSavePath.Click += new System.EventHandler(this.btnSavePath_Click); - // - // numDelay - // - resources.ApplyResources(this.numDelay, "numDelay"); - this.numDelay.Maximum = new decimal(new int[] { - 10000, - 0, - 0, - 0}); - this.numDelay.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.numDelay.Name = "numDelay"; - this.numDelay.Value = new decimal(new int[] { - 4, - 0, - 0, - 0}); - // - // label5 - // - resources.ApplyResources(this.label5, "label5"); - this.label5.Name = "label5"; - // - // label6 - // - resources.ApplyResources(this.label6, "label6"); - this.label6.Name = "label6"; - // - // tbCodePage - // - resources.ApplyResources(this.tbCodePage, "tbCodePage"); - this.tbCodePage.Name = "tbCodePage"; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.label1); - this.groupBox1.Controls.Add(this.label2); - this.groupBox1.Controls.Add(this.tbBootFilename); - this.groupBox1.Controls.Add(this.tbExcuteFilename); - this.groupBox1.Controls.Add(this.tbXp3Filename); - this.groupBox1.Controls.Add(this.label3); - this.groupBox1.Controls.Add(this.btnSavePath); - this.groupBox1.Controls.Add(this.label4); - this.groupBox1.Controls.Add(this.btnExtractFilename); - this.groupBox1.Controls.Add(this.tbSavePath); - this.groupBox1.Controls.Add(this.btnExcuteFilename); - this.groupBox1.Controls.Add(this.btnBootFilename); - resources.ApplyResources(this.groupBox1, "groupBox1"); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.TabStop = false; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.tbNTLEAPath); - this.groupBox2.Controls.Add(this.buttonNTLEA); - this.groupBox2.Controls.Add(this.rbUseSoraApp); - this.groupBox2.Controls.Add(this.rbUseNTLEA); - this.groupBox2.Controls.Add(this.tbCodePage); - this.groupBox2.Controls.Add(this.numDelay); - this.groupBox2.Controls.Add(this.label5); - this.groupBox2.Controls.Add(this.rbUseNone); - this.groupBox2.Controls.Add(this.label6); - resources.ApplyResources(this.groupBox2, "groupBox2"); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.TabStop = false; - // - // tbNTLEAPath - // - resources.ApplyResources(this.tbNTLEAPath, "tbNTLEAPath"); - this.tbNTLEAPath.Name = "tbNTLEAPath"; - this.tbNTLEAPath.TextChanged += new System.EventHandler(this.tbNTLEAPath_TextChanged); - // - // buttonNTLEA - // - resources.ApplyResources(this.buttonNTLEA, "buttonNTLEA"); - this.buttonNTLEA.Name = "buttonNTLEA"; - this.buttonNTLEA.UseVisualStyleBackColor = true; - this.buttonNTLEA.Click += new System.EventHandler(this.buttonNTLEA_Click); - // - // lbStatus - // - resources.ApplyResources(this.lbStatus, "lbStatus"); - this.lbStatus.Name = "lbStatus"; - // - // btnCancel - // - resources.ApplyResources(this.btnCancel, "btnCancel"); - this.btnCancel.Name = "btnCancel"; - this.btnCancel.UseVisualStyleBackColor = true; - this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); - // - // MainForm - // - resources.ApplyResources(this, "$this"); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.lbStatus); - this.Controls.Add(this.groupBox2); - this.Controls.Add(this.groupBox1); - this.Controls.Add(this.btnCancel); - this.Controls.Add(this.btnStart); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; - this.MaximizeBox = false; - this.Name = "MainForm"; - this.TopMost = true; - this.Load += new System.EventHandler(this.MainForm_Load); - ((System.ComponentModel.ISupportInitialize)(this.numDelay)).EndInit(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.groupBox2.ResumeLayout(false); - this.groupBox2.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.TextBox tbBootFilename; - private System.Windows.Forms.TextBox tbExcuteFilename; - private System.Windows.Forms.TextBox tbXp3Filename; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Button btnStart; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.TextBox tbSavePath; - private System.Windows.Forms.RadioButton rbUseSoraApp; - private System.Windows.Forms.RadioButton rbUseNTLEA; - private System.Windows.Forms.RadioButton rbUseNone; - private System.Windows.Forms.Button btnBootFilename; - private System.Windows.Forms.Button btnExcuteFilename; - private System.Windows.Forms.Button btnExtractFilename; - private System.Windows.Forms.Button btnSavePath; - private System.Windows.Forms.NumericUpDown numDelay; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.TextBox tbCodePage; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.GroupBox groupBox2; - private System.Windows.Forms.Label lbStatus; - private System.Windows.Forms.Button btnCancel; - private System.Windows.Forms.Button buttonNTLEA; - private System.Windows.Forms.TextBox tbNTLEAPath; - } -} \ No newline at end of file diff --git a/GUI/MainForm.cs b/GUI/MainForm.cs deleted file mode 100644 index 5311f05..0000000 --- a/GUI/MainForm.cs +++ /dev/null @@ -1,169 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.IO; -using System.Reflection; -using System.Text; -using System.Windows.Forms; -using Clowwindy.XP3Dumper.Controller; -using Clowwindy.XP3Dumper.Utils; - -namespace Clowwindy.XP3Dumper.GUI -{ - internal partial class MainForm : Form - { - private Xp3Dumper dumper; - private OpenFileDialog openDialog; - private FolderBrowserDialog folderDialog; - - internal MainForm() - { - InitializeComponent(); - } - - private void initDumper() - { - dumper = new Xp3Dumper(); - dumper.BootFilename = tbBootFilename.Text; - dumper.ExecuteFilename = tbExcuteFilename.Text; - dumper.Xp3Filename = tbXp3Filename.Text; - dumper.SavePath = tbSavePath.Text; - dumper.CodePage = tbCodePage.Text; - dumper.Delay = (int)numDelay.Value; - - if (rbUseSoraApp.Checked) - dumper.UseLoader = Xp3Dumper.UseStartLoader.SoraApp; - else if (rbUseNTLEA.Checked) - dumper.UseLoader = Xp3Dumper.UseStartLoader.NTLEA; - else - dumper.UseLoader = Xp3Dumper.UseStartLoader.None; - } - - private string startDumper() - { - return dumper.Start(); - } - - private void btnStart_Click(object sender, EventArgs e) - { - initDumper(); - - btnStart.Enabled = false; - btnCancel.Enabled = true; - var result = startDumper(); - lbStatus.Text = result; - - result = dumper.WaitForFinish(); - lbStatus.Text = result; - btnStart.Enabled = true; - btnCancel.Enabled = false; - - this.Activate(); - this.Focus(); - } - - private void MainForm_Load(object sender, EventArgs e) - { - FlushConfigFile(); - - Version version = Assembly.GetExecutingAssembly().GetName().Version; - this.Text += String.Format(" {0}.{1}", version.Major, version.Minor); - openDialog = new OpenFileDialog(); - openDialog.RestoreDirectory = true; - folderDialog = new FolderBrowserDialog(); - - tbNTLEAPath.Text = Properties.Settings.Default.NTLEAPath; - } - - private void FlushConfigFile() - { - string configFileName = System.Windows.Forms.Application.ExecutablePath + ".config"; - if (!File.Exists(configFileName)) - { - StreamWriter bw = new StreamWriter(new FileStream(configFileName, FileMode.Create), System.Text.Encoding.UTF8); - bw.Write(Properties.Resources.app_config); - bw.Close(); - } - } - - private void rbUseNone_CheckedChanged(object sender, EventArgs e) - { - tbCodePage.Enabled = !rbUseNone.Checked; - } - - private void btnCancel_Click(object sender, EventArgs e) - { - if (dumper != null) - { - var result = dumper.Cancel(); - lbStatus.Text = result; - btnStart.Enabled = true; - btnCancel.Enabled = false; - } - } - - private void btnBootFilename_Click(object sender, EventArgs e) - { - openDialog.FileName = tbBootFilename.Text; - openDialog.Filter = "*.exe|*.exe|*.*|*.*"; - if (openDialog.ShowDialog() == DialogResult.OK) - { - tbBootFilename.Text = openDialog.FileName; - if (string.IsNullOrEmpty(tbExcuteFilename.Text)) - { - tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName); - } - if (string.IsNullOrEmpty(tbSavePath.Text)) - { - tbSavePath.Text = FileUtils.CombinePath(FileUtils.GetDirectoryName(openDialog.FileName), "dump"); - } - } - } - - private void btnExcuteFilename_Click(object sender, EventArgs e) - { - openDialog.FileName = tbBootFilename.Text; - openDialog.Filter = "*.exe|*.exe|*.*|*.*"; - if (openDialog.ShowDialog() == DialogResult.OK) - { - tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName); - } - } - - private void btnExtractFilename_Click(object sender, EventArgs e) - { - openDialog.FileName = tbBootFilename.Text; - openDialog.Filter = "*.xp3|*.xp3|*.*|*.*"; - if (openDialog.ShowDialog() == DialogResult.OK) - { - tbXp3Filename.Text = FileUtils.GetFileName(openDialog.FileName); - } - } - - private void btnSavePath_Click(object sender, EventArgs e) - { - folderDialog.SelectedPath = tbSavePath.Text; - if (folderDialog.ShowDialog() == DialogResult.OK) - { - tbSavePath.Text = folderDialog.SelectedPath; - } - } - - private void buttonNTLEA_Click(object sender, EventArgs e) - { - openDialog.FileName = tbNTLEAPath.Text; - openDialog.Filter = "ntleac.exe|ntleac.exe"; - if (openDialog.ShowDialog() == DialogResult.OK) - { - tbNTLEAPath.Text = openDialog.FileName; - } - } - - private void tbNTLEAPath_TextChanged(object sender, EventArgs e) - { - SettingUtils.Change("NTLEAPath", tbNTLEAPath.Text); - } - } -} \ No newline at end of file diff --git a/GUI/MainForm.resx b/GUI/MainForm.resx deleted file mode 100644 index fd30436..0000000 --- a/GUI/MainForm.resx +++ /dev/null @@ -1,780 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - True - - - - 6, 25 - - - 287, 12 - - - 0 - - - 游戏启动exe文件(如破解用的boot文件,含路径): - - - label1 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 0 - - - True - - - 6, 64 - - - 179, 12 - - - 1 - - - 游戏执行exe文件(不含路径): - - - label2 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 1 - - - 4, 40 - - - 219, 21 - - - 2 - - - tbBootFilename - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 2 - - - 4, 79 - - - 219, 21 - - - 3 - - - tbExcuteFilename - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 3 - - - 4, 118 - - - 219, 21 - - - 4 - - - tbXp3Filename - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 4 - - - True - - - 6, 103 - - - 299, 12 - - - 5 - - - 目标xp3文件(不含路径,多个包可用半角逗号分隔): - - - label3 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 5 - - - 364, 239 - - - 75, 23 - - - 6 - - - 提取 - - - btnStart - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - - - True - - - 6, 143 - - - 77, 12 - - - 7 - - - 保存文件夹: - - - label4 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 7 - - - 4, 160 - - - 219, 21 - - - 8 - - - tbSavePath - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 9 - - - True - - - 13, 20 - - - 89, 16 - - - 9 - - - 使用SoraApp - - - rbUseSoraApp - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 2 - - - True - - - 13, 43 - - - 77, 16 - - - 10 - - - 使用NTLEA - - - rbUseNTLEA - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 3 - - - True - - - 13, 93 - - - 59, 16 - - - 11 - - - 不使用 - - - rbUseNone - - - System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 7 - - - 230, 40 - - - 75, 23 - - - 12 - - - 浏览 - - - btnBootFilename - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 11 - - - 230, 77 - - - 75, 23 - - - 12 - - - 浏览 - - - btnExcuteFilename - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 10 - - - 230, 116 - - - 75, 23 - - - 12 - - - 浏览 - - - btnExtractFilename - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 8 - - - 230, 158 - - - 75, 23 - - - 12 - - - 浏览 - - - btnSavePath - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox1 - - - 6 - - - 14, 174 - - - 62, 21 - - - 13 - - - numDelay - - - System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 5 - - - True - - - 12, 159 - - - 125, 12 - - - 14 - - - 载入插件延时(秒): - - - label5 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 6 - - - True - - - 12, 116 - - - 53, 12 - - - 16 - - - 代码页: - - - label6 - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 8 - - - False - - - 13, 131 - - - 62, 21 - - - 17 - - - 0411 - - - tbCodePage - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 4 - - - 12, 12 - - - 319, 205 - - - 18 - - - groupBox1 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - - - 13, 66 - - - 155, 21 - - - 19 - - - tbNTLEAPath - - - System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 0 - - - 121, 40 - - - 47, 23 - - - 18 - - - 浏览 - - - buttonNTLEA - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBox2 - - - 1 - - - 351, 12 - - - 174, 205 - - - 19 - - - groupBox2 - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - - - 12, 232 - - - 317, 36 - - - 20 - - - 就绪 - - - lbStatus - - - System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 0 - - - False - - - 445, 239 - - - 75, 23 - - - 6 - - - 取消 - - - btnCancel - - - System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - - - True - - - 6, 12 - - - True - - - 537, 278 - - - - CenterScreen - - - XP3 Dumper GUI - - - MainForm - - - System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs deleted file mode 100644 index 517691f..0000000 --- a/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// 有关程序集的常规信息通过下列属性集 -// 控制。更改这些属性值可修改 -// 与程序集关联的信息。 -[assembly: AssemblyTitle("xp3dumper_gui")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("clowwindy")] -[assembly: AssemblyProduct("xp3dumper_gui")] -[assembly: AssemblyCopyright("Copyright © 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// 将 ComVisible 设置为 false 使此程序集中的类型 -// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, -// 则将该类型上的 ComVisible 属性设置为 true。 -[assembly: ComVisible(true)] - -// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID -[assembly: Guid("2771d9e3-2059-4d9d-bbdc-d93580e3533a")] - -// 程序集的版本信息由下面四个值组成: -// -// 主版本 -// 次版本 -// 内部版本号 -// 修订号 -// -// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, -// 方法是按如下所示使用“*”: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.3.*")] -//[assembly: AssemblyFileVersion("0.1.*.*")] \ No newline at end of file diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs deleted file mode 100644 index 19edca2..0000000 --- a/Properties/Resources.Designer.cs +++ /dev/null @@ -1,78 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 此代码由工具生成。 -// 运行时版本:4.0.30319.1 -// -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 -// -//------------------------------------------------------------------------------ - -namespace Clowwindy.XP3Dumper.Properties { - using System; - - - /// - /// 一个强类型的资源类,用于查找本地化的字符串等。 - /// - // 此类是由 StronglyTypedResourceBuilder - // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 - // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen - // (以 /str 作为命令选项),或重新生成 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() { - } - - /// - /// 返回此类使用的缓存的 ResourceManager 实例。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Clowwindy.XP3Dumper.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// 使用此强类型资源类,为所有资源查找 - /// 重写当前线程的 CurrentUICulture 属性。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// 查找类似 <?xml version="1.0" encoding="utf-8" ?> - ///<configuration> - /// <configSections> - /// <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > - /// <section name="Clowwindy.XP3Dumper.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> - /// </sectionGroup> - /// [字符串的其余部分被截断]"; 的本地化字符串。 - /// - internal static string app_config { - get { - return ResourceManager.GetString("app_config", resourceCulture); - } - } - } -} diff --git a/Properties/Resources.resx b/Properties/Resources.resx deleted file mode 100644 index 49526fc..0000000 --- a/Properties/Resources.resx +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 - - - - ..\app.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 - - \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs deleted file mode 100644 index 71a16c7..0000000 --- a/Properties/Settings.Designer.cs +++ /dev/null @@ -1,35 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 此代码由工具生成。 -// 运行时版本:4.0.30319.1 -// -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 -// -//------------------------------------------------------------------------------ - -namespace Clowwindy.XP3Dumper.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; - } - } - - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files\\NTLEA\\ntleac.exe")] - public string NTLEAPath { - get { - return ((string)(this["NTLEAPath"])); - } - } - } -} diff --git a/Properties/Settings.settings b/Properties/Settings.settings deleted file mode 100644 index b105d37..0000000 --- a/Properties/Settings.settings +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - C:\Program Files\NTLEA\ntleac.exe - - - \ No newline at end of file diff --git a/Properties/app.manifest b/Properties/app.manifest deleted file mode 100644 index b10e8f8..0000000 --- a/Properties/app.manifest +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Resources/Resource.Designer.cs b/Resources/Resource.Designer.cs deleted file mode 100644 index 7fa2172..0000000 --- a/Resources/Resource.Designer.cs +++ /dev/null @@ -1,108 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 此代码由工具生成。 -// 运行时版本:4.0.30319.1 -// -// 对此文件的更改可能会导致不正确的行为,并且如果 -// 重新生成代码,这些更改将会丢失。 -// -//------------------------------------------------------------------------------ - -namespace Clowwindy.XP3Dumper.Resources { - using System; - - - /// - /// 一个强类型的资源类,用于查找本地化的字符串等。 - /// - // 此类是由 StronglyTypedResourceBuilder - // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 - // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen - // (以 /str 作为命令选项),或重新生成 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 Resource { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resource() { - } - - /// - /// 返回此类使用的缓存的 ResourceManager 实例。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Clowwindy.XP3Dumper.Resources.Resource", typeof(Resource).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// 使用此强类型资源类,为所有资源查找 - /// 重写当前线程的 CurrentUICulture 属性。 - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// 查找类似 已取消。 的本地化字符串。 - /// - internal static string Canceled { - get { - return ResourceManager.GetString("Canceled", resourceCulture); - } - } - - /// - /// 查找类似 提取完成。 的本地化字符串。 - /// - internal static string Finished { - get { - return ResourceManager.GetString("Finished", resourceCulture); - } - } - - /// - /// 查找类似 未找到相应启动载入工具。 的本地化字符串。 - /// - internal static string LoaderNotFound { - get { - return ResourceManager.GetString("LoaderNotFound", resourceCulture); - } - } - - /// - /// 查找类似 请检查日志文件。 的本地化字符串。 - /// - internal static string SeeLog { - get { - return ResourceManager.GetString("SeeLog", resourceCulture); - } - } - - /// - /// 查找类似 正在提取中,请稍候。 的本地化字符串。 - /// - internal static string Started { - get { - return ResourceManager.GetString("Started", resourceCulture); - } - } - } -} diff --git a/Resources/Resource.resx b/Resources/Resource.resx deleted file mode 100644 index 69b7201..0000000 --- a/Resources/Resource.resx +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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/Utils/FileUtils.cs b/Utils/FileUtils.cs deleted file mode 100644 index cc91345..0000000 --- a/Utils/FileUtils.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.IO; -using System.Text; - -namespace Clowwindy.XP3Dumper.Utils -{ - internal static class FileUtils - { - internal static bool ExistFile(string filename) - { - return File.Exists(filename); - } - - internal static void MakeDir(string dir) - { - if (!Directory.Exists(dir)) - { - Directory.CreateDirectory(dir); - } - } - - internal static void Copy(string sourceFilename, string destFilename) - { - File.Copy(sourceFilename, destFilename, true); - } - - internal static void Delete(string filename) - { - if (File.Exists(filename)) - { - File.Delete(filename); - } - } - - internal static string GetDirectoryName(string filename) - { - return new FileInfo(filename).DirectoryName; - } - - internal static string GetFileName(string filename) - { - return new FileInfo(filename).Name; - } - - internal static string CombinePath(string path1, string path2) - { - return Path.Combine(path1, path2); - } - - internal static string ReadTextFile(string filename) - { - using (var f = File.OpenText(filename)) - { - return f.ReadToEnd(); - } - } - - internal static void WriteTextFile(string filename, string content) - { - File.WriteAllText(filename, content, Encoding.Default); - } - - internal static string GetWinDir() - { - return System.Environment.ExpandEnvironmentVariables("%WinDir%"); - } - - internal static void WriteText(FileStream f, string content) - { - var l = Encoding.UTF8.GetBytes(content); - f.Write(l, 0, l.Length); - } - } -} diff --git a/Utils/LogUtils.cs b/Utils/LogUtils.cs deleted file mode 100644 index 8561ec4..0000000 --- a/Utils/LogUtils.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; - -namespace Clowwindy.XP3Dumper.Utils -{ - internal static class LogUtils - { - private const string LOG_FILENAME = @"xp3dumper_gui.log"; - - internal static void Log(string content) - { - using (var f = File.Open(LOG_FILENAME, FileMode.Append, FileAccess.Write)) - { - FileUtils.WriteText(f, DateTime.Now.ToString() + "\r\n"); - FileUtils.WriteText(f, content + "\r\n\r\n"); - } - } - } -} diff --git a/Utils/ProcessUtils.cs b/Utils/ProcessUtils.cs deleted file mode 100644 index c4f72d1..0000000 --- a/Utils/ProcessUtils.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System.Diagnostics; -using System.IO; -using System.Threading; -using System; -using System.Windows.Forms; -using System.Runtime.InteropServices; - -namespace Clowwindy.XP3Dumper.Utils -{ - internal static class ProcessUtils - { - - internal static readonly int BM_CLICK = 0x00F5; - internal static readonly int WM_SETTEXT = 0x000C; - internal static readonly int WM_GETTEXT = 0x000D; - - [DllImport("user32.dll")] - internal static extern IntPtr FindWindow(string lpClassName, string lpWindowName); - - [DllImport("user32.dll")] - internal static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); - - [DllImport("user32.dll", CharSet = CharSet.Unicode)] - internal static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam); - - [DllImport("User32.dll", CharSet = CharSet.Auto)] - internal static extern bool SetWindowText(IntPtr hwnd, string lpString); - - [DllImport("user32.dll")] - public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); - - [DllImport("user32.dll", EntryPoint = "SendMessage")] - private static extern int SendMessageAsText(IntPtr hWnd, int wMsg, int wParam, [MarshalAs(UnmanagedType.LPStr)] string lParam); - - - internal static IntPtr PostMessage(IntPtr targetHWnd, int msg) - { - Message message = Message.Create(targetHWnd, msg, new IntPtr(0), new IntPtr(0)); - return PostMessage(message.HWnd, message.Msg, message.WParam, message.LParam); - } - - internal static int SetText(IntPtr hwnd, string text) - { - return SendMessageAsText(hwnd, WM_SETTEXT, 0, text); - } - - internal static Process StartProcess(string filename, string arguments) - { - ProcessStartInfo startInfo = new ProcessStartInfo(filename, arguments); - var fi = new FileInfo(filename); - startInfo.WorkingDirectory = fi.DirectoryName; - startInfo.FileName = fi.FullName; - return Process.Start(startInfo); - } - - internal static bool ExistsProcess(string imageName) - { - return Process.GetProcessesByName(imageName.Split('.')[0]).Length > 0; - } - - internal static Process GetProcess(string imageName) - { - var ps = Process.GetProcessesByName(imageName.Split('.')[0]); - if (ps.Length > 0) - { - return ps[0]; - } - return null; - } - - internal static void Kill(string imageName) - { - var ps = Process.GetProcessesByName(imageName.Split('.')[0]); - foreach (var p in ps) - { - p.Kill(); - } - } - - internal static void Sleep(int interval) - { - Thread.Sleep(interval); - } - - internal static void DoEvents() - { - System.Windows.Forms.Application.DoEvents(); - } - } -} diff --git a/bin/Debug/xp3dumper_gui.vshost.application b/bin/Debug/xp3dumper_gui.vshost.application deleted file mode 100644 index e6ad0fe..0000000 --- a/bin/Debug/xp3dumper_gui.vshost.application +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - zxaj7hn8xkX6oUsR8PFmlns5Um8= - - - - \ No newline at end of file diff --git a/bin/Debug/xp3dumper_gui.vshost.exe b/bin/Debug/xp3dumper_gui.vshost.exe deleted file mode 100644 index 526b854..0000000 Binary files a/bin/Debug/xp3dumper_gui.vshost.exe and /dev/null differ diff --git a/bin/Debug/xp3dumper_gui.vshost.exe.config b/bin/Debug/xp3dumper_gui.vshost.exe.config deleted file mode 100644 index 424b343..0000000 --- a/bin/Debug/xp3dumper_gui.vshost.exe.config +++ /dev/null @@ -1,15 +0,0 @@ - - - - -
- - - - - - D:\Program Files (x86)\NTLEA\ntleac.exe - - - - \ No newline at end of file diff --git a/bin/Debug/xp3dumper_gui.vshost.exe.manifest b/bin/Debug/xp3dumper_gui.vshost.exe.manifest deleted file mode 100644 index 5e1ea1c..0000000 --- a/bin/Debug/xp3dumper_gui.vshost.exe.manifest +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - dJglxbY+R0mTq6Nw23fxoqM2HOU= - - - - - - - - - - P7nE7DX2zHoIfKjq/b+YY7M3BbM= - - - - - - - - - Hg6KJQ4+DyFQpIc2kVyzSISbu70= - - - - - - - - - Es11uQGUH6BA3BwHFRTvEPmYTwM= - - - - - - - - - KQH3YnnZgF/QgxwtrkTxhUbEOzE= - - - - - - - - - 7VVglum3qEfSmWMZinDjSyVXlU0= - - - - - - - - - eI/M7uOpAJw3/9mS4ITpG5nxK9Y= - - - - - - - - - mfienJTiUVouNe7yAMi+y5hi+w0= - - - - - - - - - btNPy9oIpHWife/DOxIZdNfPmh4= - - - - - - - - - w2/w2+jqcKWuOA3c62UA2zFtyTI= - - - - - - - - - wdcmE/F/hgEJvc/KaQucqTy9tg0= - - - - - - - - - 70C/zLZlejquvg9aKZjsf/c6gDQ= - - - \ No newline at end of file diff --git a/bin/Release/xp3dumper_gui.vshost.exe b/bin/Release/xp3dumper_gui.vshost.exe deleted file mode 100644 index 526b854..0000000 Binary files a/bin/Release/xp3dumper_gui.vshost.exe and /dev/null differ diff --git a/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index f9debc2..0000000 Binary files a/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index 07fe97b..0000000 Binary files a/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ diff --git a/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll b/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll deleted file mode 100644 index b2ba25d..0000000 Binary files a/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll and /dev/null differ diff --git a/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt b/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt deleted file mode 100644 index 52f457f..0000000 --- a/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,31 +0,0 @@ -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\Readme.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\DllLoader.exe -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\dumperHelper.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\pic_path.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\readme.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\history.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\xp3dumper.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\history.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3enc.dll -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3maker.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!dumpHelper.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!exporteraddr.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\xp3dumper.helper.dat -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~layerExSave.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~~fpng.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\~xp3maker.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe.manifest -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.application -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.pdb -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\ResolveAssemblyReference.cache -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.GUI.MainForm.resources -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Properties.Resources.resources -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Resources.Resource.resources -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.csproj.GenerateResource.Cache -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.TrustInfo.xml -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe.manifest -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.application -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.pdb diff --git a/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache b/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache deleted file mode 100644 index b69ed3f..0000000 Binary files a/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache and /dev/null differ diff --git a/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 4f68eb0..0000000 Binary files a/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/obj/Release/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index c821b16..0000000 Binary files a/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ diff --git a/obj/Release/TempPE/Resources.Resource.Designer.cs.dll b/obj/Release/TempPE/Resources.Resource.Designer.cs.dll deleted file mode 100644 index bd29bc3..0000000 Binary files a/obj/Release/TempPE/Resources.Resource.Designer.cs.dll and /dev/null differ diff --git a/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt b/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt deleted file mode 100644 index 35c48c0..0000000 --- a/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,31 +0,0 @@ -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\Readme.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\DllLoader.exe -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\dumperHelper.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\pic_path.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\readme.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\history.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\xp3dumper.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\history.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\xp3enc.dll -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\xp3maker.txt -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\!dumpHelper.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\!exporteraddr.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\xp3dumper.helper.dat -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\~layerExSave.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\~~fpng.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\~xp3maker.tpm -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.exe.manifest -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.application -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.exe -C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.pdb -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\ResolveAssemblyReference.cache -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.GUI.MainForm.resources -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.Properties.Resources.resources -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.Resources.Resource.resources -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.csproj.GenerateResource.Cache -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.TrustInfo.xml -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.exe.manifest -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.application -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.exe -C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.pdb diff --git a/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache b/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache deleted file mode 100644 index b69ed3f..0000000 Binary files a/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache and /dev/null differ diff --git a/xp3dumper/helpers/!dumpHelper.tpm b/xp3dumper/helpers/!dumpHelper.tpm deleted file mode 100644 index 805a36a..0000000 Binary files a/xp3dumper/helpers/!dumpHelper.tpm and /dev/null differ diff --git a/xp3dumper/helpers/!exporteraddr.tpm b/xp3dumper/helpers/!exporteraddr.tpm deleted file mode 100644 index 61d9197..0000000 Binary files a/xp3dumper/helpers/!exporteraddr.tpm and /dev/null differ diff --git a/xp3dumper/helpers/DllLoader.exe b/xp3dumper/helpers/DllLoader.exe deleted file mode 100644 index 7834041..0000000 Binary files a/xp3dumper/helpers/DllLoader.exe and /dev/null differ diff --git a/xp3dumper/helpers/dumperHelper.txt b/xp3dumper/helpers/dumperHelper.txt deleted file mode 100644 index d82e3ac..0000000 --- a/xp3dumper/helpers/dumperHelper.txt +++ /dev/null @@ -1,8 +0,0 @@ -!dumperHelper -֤ -غóΪԶصIJ2ﵽβЧ - -߼÷(˽) -ʼʱĿ¼Ѱxp3dumper.helper.datļжȡһ -ǸԶصIJٵӦ -ǷǸԶصIJɶӦֵ diff --git a/xp3dumper/helpers/pic_path.txt b/xp3dumper/helpers/pic_path.txt deleted file mode 100644 index f95cb4d..0000000 --- a/xp3dumper/helpers/pic_path.txt +++ /dev/null @@ -1,2 +0,0 @@ -F:\Shallot\hwr\dumped\bgimage.xp3 -bgimage.xp3 diff --git a/xp3dumper/helpers/xp3dumper.helper.dat b/xp3dumper/helpers/xp3dumper.helper.dat deleted file mode 100644 index 7d105a7..0000000 --- a/xp3dumper/helpers/xp3dumper.helper.dat +++ /dev/null @@ -1 +0,0 @@ --3 \ No newline at end of file diff --git a/xp3dumper/helpers/~layerExSave.tpm b/xp3dumper/helpers/~layerExSave.tpm deleted file mode 100644 index 8775b09..0000000 Binary files a/xp3dumper/helpers/~layerExSave.tpm and /dev/null differ diff --git a/xp3dumper/helpers/~~fpng.tpm b/xp3dumper/helpers/~~fpng.tpm deleted file mode 100644 index 33fd7b1..0000000 Binary files a/xp3dumper/helpers/~~fpng.tpm and /dev/null differ diff --git a/xp3dumper/readme.txt b/xp3dumper/readme.txt deleted file mode 100644 index a0807d8..0000000 --- a/xp3dumper/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -xp3dumper ߼ - -˵ - /xp3dumper xp3Զȡ - /xp3maker xp3ȡ - /helpers - - !dumpHelper.tpm ڸxp3dumperxp3makerķ - - !exporteraddr.tpm ռxp3dumperģʽ3һϢIJ - - DllLoader.exe һDllע빤 - -Resty. diff --git a/xp3dumper/xp3dumper/history.txt b/xp3dumper/xp3dumper/history.txt deleted file mode 100644 index 7dbcb8d..0000000 --- a/xp3dumper/xp3dumper/history.txt +++ /dev/null @@ -1,34 +0,0 @@ -krkr2̬ȡ -~xp3dumper.tpm -: Resty - -(ѩcrass) https://yukict.com/bbs/forumdisplay.php?fid=69 - -κ뱨:ccpp132@gmail.com - -history: - -0.11: - ʵģʽ3ڿֹȡexporterdllעķȡˡ - չ˽ģʽֵ֧·ʽ - -0.10: - ȫдȫʹUncodeֲ֧ͬķʽȡ - -0.05: - ʹ˫ʽܹAnti - лsfsuvivalύϷ륯ꥢˮζλ - -0.04: - ļʹUnicode룬Էʱļʧܡ - һСbug - -0.03: - һbugʹÿӦ㷺krkr汾 - -0.02: - һdeantiĹܣʹFHAĽⲻò - -0.01: - ʼ԰汾 - ִ֧󲿷Ϸɴ͸ִļĿ磺MoleBox diff --git a/xp3dumper/xp3dumper/xp3dumper.txt b/xp3dumper/xp3dumper/xp3dumper.txt deleted file mode 100644 index d395c47..0000000 --- a/xp3dumper/xp3dumper/xp3dumper.txt +++ /dev/null @@ -1,38 +0,0 @@ -xp3dumper 0.11 ˵ - -3ȡֶΣYY -ȸ˷1ȻôԸ1ȻԶԸ˷2 -ȻôԸ2ͳƷ3 - -1 -!dumpHelper.tpm~xp3dumper0.11.tpmͬʱӵӦĿ¼£ѡ񷽷1 - -2 -!dumpHelper.tpm~xp3dumper0.11.tpmͬʱӵӦĿ¼£ѡ񷽷2 -֮xp3ļ·£ -D:\abc\data.xp33д -(1) file://./D/abc/data.xp3 [ĬϷ] -(2) D:\abc\data.xp3 [Windows·] -(3) data.xp3 [棬ҪϷ·] - -3: DLL Inject -Ӧ˵ڱֶΣΪһûҵֹ˷ij - -* 1 ɼexporterϢ - helper/!exporteraddr.tpm Ĺʵʲôܶû= = - кڳĿ¼µexporter_address.txtм¼һؼֵ - -* 2׼ - ϷĿ¼½arc_list.txtҪİ·ʽͬ2һ! ÿһУҪб - Ŀǰֻ֧ASCII·ֵַ˵ͻᱯ - -* 3 һDLLע빤ߣĿ󣬽xp3dumperע - ѡ5minDllLoadeṛ - - Ŀ򣬵ȵȶ״̬翪ʼ˵ - - ҵӦ̵pid(Ҫѡ˵ 鿴->ѡ йpidһ)tasklistָ - - 룺 - ˵ D:\DllLoader 4321 D:\Tools\~xp3dumper0.11.tpm - -* 4깤 - עĴϲɼexporterĵַȻʼģʽ3ɡ - һѡʹ־ļ diff --git a/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm b/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm deleted file mode 100644 index a4ddb88..0000000 Binary files a/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm and /dev/null differ diff --git a/xp3dumper/xp3maker/history.txt b/xp3dumper/xp3maker/history.txt deleted file mode 100644 index 3549ea9..0000000 --- a/xp3dumper/xp3maker/history.txt +++ /dev/null @@ -1,7 +0,0 @@ -xp3maker.tpm -xp3 - - -0.01 : - ʵ汾ڲ˼· - diff --git a/xp3dumper/xp3maker/xp3enc.dll b/xp3dumper/xp3maker/xp3enc.dll deleted file mode 100644 index fbb0261..0000000 Binary files a/xp3dumper/xp3maker/xp3enc.dll and /dev/null differ diff --git a/xp3dumper/xp3maker/xp3maker.txt b/xp3dumper/xp3maker/xp3maker.txt deleted file mode 100644 index aa9c18c..0000000 --- a/xp3dumper/xp3maker/xp3maker.txt +++ /dev/null @@ -1,17 +0,0 @@ -xp3maker 0.01 -ĿǰΪ԰棬Ľʲô֮ٿ - -~xp3maker.tpmserver -Ϸмغص12000(10)˿ڡ - -xp3enc.dllkrkrreleaserõIJмܵʱͨӱؽõServer -ȻݴݸServerServerԶԽܺ棬ٽؼõܽ - -ʹòǣ -~xp3maker.tpmŵϷĿ¼£Ҳ㻹Ҫ!dumpHelperȻϷ -ٽxp3enc.dllŵkrkrrel.exeĿ¼Ȼļ:) - -߼ԣ(һ) -òĿ¼²xp3maker.txtļܺڴдŵĵַ(16)Ȼȥȡַڵֵ -Ҳodvoid ::TVPSetXP3ArchiveExtractionFilter(tTVPXP3ArchiveExtractionFilter)صһ -ʵӦûõmov [xxx], eaxָxxxļھͿɡ diff --git a/xp3dumper/xp3maker/~xp3maker.tpm b/xp3dumper/xp3maker/~xp3maker.tpm deleted file mode 100644 index 9949f0d..0000000 Binary files a/xp3dumper/xp3maker/~xp3maker.tpm and /dev/null differ diff --git a/xp3dumper_gui.sln b/xp3dumper_gui.sln index 5c3f977..43da440 100644 --- a/xp3dumper_gui.sln +++ b/xp3dumper_gui.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xp3dumper_gui", "xp3dumper_gui\xp3dumper_gui.csproj", "{D852A983-B0FE-4B6E-8664-316BC13A8B16}" EndProject Global @@ -17,4 +17,7 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + VisualSVNWorkingCopyRoot = . + EndGlobalSection EndGlobal diff --git a/xp3dumper_gui.suo b/xp3dumper_gui.suo index d86c31c..2e80ca7 100644 Binary files a/xp3dumper_gui.suo and b/xp3dumper_gui.suo differ diff --git a/xp3dumper_gui/Controller/Xp3Dumper.cs b/xp3dumper_gui/Controller/Xp3Dumper.cs index 63946d4..7b3306a 100644 --- a/xp3dumper_gui/Controller/Xp3Dumper.cs +++ b/xp3dumper_gui/Controller/Xp3Dumper.cs @@ -1,7 +1,7 @@ using System; -using Clowwindy.XP3Dumper.Utils; -using Clowwindy.XP3Dumper.Resources; using System.IO; +using Clowwindy.XP3Dumper.Resources; +using Clowwindy.XP3Dumper.Utils; namespace Clowwindy.XP3Dumper.Controller { @@ -20,6 +20,7 @@ internal class Xp3Dumper private const string DLLLOADER_FULL_FILENAME = XP3HELPERS_PATH + "DllLoader.exe"; private const string SORAAPP_FILENAME = @"\SoraApp\SoraApp.exe"; + private string NTLEA_PATH = @"D:\Program Files (x86)\NTLEA\ntleac.exe"; private const string DUMPER_BUTTON_CLASS = "Button"; private const string DUMPER_BUTTON_TITLE = "模式3启动"; @@ -40,9 +41,16 @@ internal class Xp3Dumper private bool finished = true; + internal enum UseStartLoader + { + None, + SoraApp, + NTLEA + } + internal Xp3Dumper() { - useSoraApp = false; + useLoader = UseStartLoader.None; delay = 4; codePage = "0411"; } @@ -52,6 +60,7 @@ internal string BootFilename get { return bootFilename; } set { bootFilename = value; } } + private string executeFilename; internal string ExecuteFilename @@ -59,6 +68,7 @@ internal string ExecuteFilename get { return executeFilename; } set { executeFilename = value; } } + private string xp3Filename; internal string Xp3Filename @@ -66,6 +76,7 @@ internal string Xp3Filename get { return xp3Filename; } set { xp3Filename = value; } } + private string savePath; internal string SavePath @@ -74,20 +85,25 @@ internal string SavePath set { savePath = value; } } + internal string NTLEAPath + { + get { return NTLEA_PATH; } + set { NTLEA_PATH = value; } + } + private string getGamePath() { return FileUtils.GetDirectoryName(bootFilename); } - private bool useSoraApp; + private UseStartLoader useLoader; - internal bool UseSoraApp + internal UseStartLoader UseLoader { - get { return useSoraApp; } - set { useSoraApp = value; } + get { return useLoader; } + set { useLoader = value; } } - private int delay; internal int Delay @@ -157,7 +173,6 @@ internal string WaitForFinish() return Resource.Finished; } - internal string Finish() { try @@ -196,21 +211,27 @@ internal string Cancel() protected void startGame() { - if (useSoraApp) + try { - try + if (useLoader == UseStartLoader.SoraApp) { ProcessUtils.StartProcess(FileUtils.GetWinDir() + SORAAPP_FILENAME, codePage.Trim() + " " + this.bootFilename); } - catch (FileNotFoundException e) + else if (useLoader == UseStartLoader.NTLEA) { - throw new ArgumentException(Resource.SoraAppNotFound, e); + int iLCID = Convert.ToInt32(codePage.Trim(), 16); + ProcessUtils.StartProcess(NTLEA_PATH, String.Format("\"{0}\" C{1} L{2}", this.bootFilename, Win32APIUtils.GetLocaleCP(iLCID), iLCID)); + } + else + { + ProcessUtils.StartProcess(this.bootFilename, null); } } - else + catch (FileNotFoundException e) { - ProcessUtils.StartProcess(this.bootFilename, null); + throw new ArgumentException(Resource.LoaderNotFound, e); } + waitUtilTrue(ProcessUtils.ExistsProcess, this.executeFilename); } @@ -225,7 +246,6 @@ protected void killGame() waitUtilFalse(ProcessUtils.ExistsProcess, this.executeFilename); } - protected void copyExportPlugin() { FileUtils.Copy(EXPORTER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME)); @@ -264,19 +284,18 @@ protected void runDllLoader() protected void createArcList() { - FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename); + FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename.Replace(",", "\r\n")); } protected bool setWindowTextThenClickButton(String notUsed) { - IntPtr hwndWin; IntPtr hwndButton; IntPtr hwndEditPath; IntPtr hwndEditAddress; hwndWin = ProcessUtils.FindWindow(null, DUMPER_WINDOW_TITLE); - if (hwndWin.ToInt32()==0) + if (hwndWin.ToInt32() == 0) { return false; } @@ -298,10 +317,10 @@ protected bool dumpFinished(string notUsed) return false; } return true; - } protected delegate bool StringToBoolMethod(string argument); + protected void waitUtilTrue(StringToBoolMethod condition, string argument) { while (!condition(argument) && !finished) @@ -310,6 +329,7 @@ protected void waitUtilTrue(StringToBoolMethod condition, string argument) ProcessUtils.DoEvents(); } } + protected void waitUtilFalse(StringToBoolMethod condition, string argument) { while (condition(argument) && !finished) @@ -318,6 +338,5 @@ protected void waitUtilFalse(StringToBoolMethod condition, string argument) ProcessUtils.DoEvents(); } } - } -} +} \ No newline at end of file diff --git a/xp3dumper_gui/GUI/MainForm.Designer.cs b/xp3dumper_gui/GUI/MainForm.Designer.cs index 25d922c..ff35d7b 100644 --- a/xp3dumper_gui/GUI/MainForm.Designer.cs +++ b/xp3dumper_gui/GUI/MainForm.Designer.cs @@ -51,6 +51,8 @@ private void InitializeComponent() this.tbCodePage = new System.Windows.Forms.TextBox(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.tbNTLEAPath = new System.Windows.Forms.TextBox(); + this.buttonNTLEA = new System.Windows.Forms.Button(); this.lbStatus = new System.Windows.Forms.Label(); this.btnCancel = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.numDelay)).BeginInit(); @@ -209,6 +211,8 @@ private void InitializeComponent() // // groupBox2 // + this.groupBox2.Controls.Add(this.tbNTLEAPath); + this.groupBox2.Controls.Add(this.buttonNTLEA); this.groupBox2.Controls.Add(this.rbUseSoraApp); this.groupBox2.Controls.Add(this.rbUseNTLEA); this.groupBox2.Controls.Add(this.tbCodePage); @@ -220,6 +224,19 @@ private void InitializeComponent() this.groupBox2.Name = "groupBox2"; this.groupBox2.TabStop = false; // + // tbNTLEAPath + // + resources.ApplyResources(this.tbNTLEAPath, "tbNTLEAPath"); + this.tbNTLEAPath.Name = "tbNTLEAPath"; + this.tbNTLEAPath.TextChanged += new System.EventHandler(this.tbNTLEAPath_TextChanged); + // + // buttonNTLEA + // + resources.ApplyResources(this.buttonNTLEA, "buttonNTLEA"); + this.buttonNTLEA.Name = "buttonNTLEA"; + this.buttonNTLEA.UseVisualStyleBackColor = true; + this.buttonNTLEA.Click += new System.EventHandler(this.buttonNTLEA_Click); + // // lbStatus // resources.ApplyResources(this.lbStatus, "lbStatus"); @@ -282,5 +299,7 @@ private void InitializeComponent() private System.Windows.Forms.GroupBox groupBox2; private System.Windows.Forms.Label lbStatus; private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Button buttonNTLEA; + private System.Windows.Forms.TextBox tbNTLEAPath; } } \ No newline at end of file diff --git a/xp3dumper_gui/GUI/MainForm.cs b/xp3dumper_gui/GUI/MainForm.cs index cab2b30..5311f05 100644 --- a/xp3dumper_gui/GUI/MainForm.cs +++ b/xp3dumper_gui/GUI/MainForm.cs @@ -3,10 +3,11 @@ using System.ComponentModel; using System.Data; using System.Drawing; +using System.IO; +using System.Reflection; using System.Text; using System.Windows.Forms; using Clowwindy.XP3Dumper.Controller; -using System.Reflection; using Clowwindy.XP3Dumper.Utils; namespace Clowwindy.XP3Dumper.GUI @@ -29,9 +30,15 @@ private void initDumper() dumper.ExecuteFilename = tbExcuteFilename.Text; dumper.Xp3Filename = tbXp3Filename.Text; dumper.SavePath = tbSavePath.Text; - dumper.UseSoraApp = rbUseSoraApp.Checked; dumper.CodePage = tbCodePage.Text; dumper.Delay = (int)numDelay.Value; + + if (rbUseSoraApp.Checked) + dumper.UseLoader = Xp3Dumper.UseStartLoader.SoraApp; + else if (rbUseNTLEA.Checked) + dumper.UseLoader = Xp3Dumper.UseStartLoader.NTLEA; + else + dumper.UseLoader = Xp3Dumper.UseStartLoader.None; } private string startDumper() @@ -59,11 +66,26 @@ private void btnStart_Click(object sender, EventArgs e) private void MainForm_Load(object sender, EventArgs e) { + FlushConfigFile(); + Version version = Assembly.GetExecutingAssembly().GetName().Version; this.Text += String.Format(" {0}.{1}", version.Major, version.Minor); openDialog = new OpenFileDialog(); openDialog.RestoreDirectory = true; folderDialog = new FolderBrowserDialog(); + + tbNTLEAPath.Text = Properties.Settings.Default.NTLEAPath; + } + + private void FlushConfigFile() + { + string configFileName = System.Windows.Forms.Application.ExecutablePath + ".config"; + if (!File.Exists(configFileName)) + { + StreamWriter bw = new StreamWriter(new FileStream(configFileName, FileMode.Create), System.Text.Encoding.UTF8); + bw.Write(Properties.Resources.app_config); + bw.Close(); + } } private void rbUseNone_CheckedChanged(object sender, EventArgs e) @@ -85,6 +107,7 @@ private void btnCancel_Click(object sender, EventArgs e) private void btnBootFilename_Click(object sender, EventArgs e) { openDialog.FileName = tbBootFilename.Text; + openDialog.Filter = "*.exe|*.exe|*.*|*.*"; if (openDialog.ShowDialog() == DialogResult.OK) { tbBootFilename.Text = openDialog.FileName; @@ -102,6 +125,7 @@ private void btnBootFilename_Click(object sender, EventArgs e) private void btnExcuteFilename_Click(object sender, EventArgs e) { openDialog.FileName = tbBootFilename.Text; + openDialog.Filter = "*.exe|*.exe|*.*|*.*"; if (openDialog.ShowDialog() == DialogResult.OK) { tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName); @@ -111,6 +135,7 @@ private void btnExcuteFilename_Click(object sender, EventArgs e) private void btnExtractFilename_Click(object sender, EventArgs e) { openDialog.FileName = tbBootFilename.Text; + openDialog.Filter = "*.xp3|*.xp3|*.*|*.*"; if (openDialog.ShowDialog() == DialogResult.OK) { tbXp3Filename.Text = FileUtils.GetFileName(openDialog.FileName); @@ -125,5 +150,20 @@ private void btnSavePath_Click(object sender, EventArgs e) tbSavePath.Text = folderDialog.SelectedPath; } } + + private void buttonNTLEA_Click(object sender, EventArgs e) + { + openDialog.FileName = tbNTLEAPath.Text; + openDialog.Filter = "ntleac.exe|ntleac.exe"; + if (openDialog.ShowDialog() == DialogResult.OK) + { + tbNTLEAPath.Text = openDialog.FileName; + } + } + + private void tbNTLEAPath_TextChanged(object sender, EventArgs e) + { + SettingUtils.Change("NTLEAPath", tbNTLEAPath.Text); + } } -} +} \ No newline at end of file diff --git a/xp3dumper_gui/GUI/MainForm.resx b/xp3dumper_gui/GUI/MainForm.resx index 3f8e6d6..fd30436 100644 --- a/xp3dumper_gui/GUI/MainForm.resx +++ b/xp3dumper_gui/GUI/MainForm.resx @@ -123,7 +123,7 @@ - 6, 17 + 6, 25 287, 12 @@ -150,7 +150,7 @@ True - 6, 56 + 6, 64 179, 12 @@ -174,7 +174,7 @@ 1 - 4, 32 + 4, 40 219, 21 @@ -195,7 +195,7 @@ 2 - 4, 71 + 4, 79 219, 21 @@ -216,7 +216,7 @@ 3 - 4, 110 + 4, 118 219, 21 @@ -240,16 +240,16 @@ True - 6, 95 + 6, 103 - 179, 12 + 299, 12 5 - 要解包的xp3文件(不含路径): + 目标xp3文件(不含路径,多个包可用半角逗号分隔): label3 @@ -264,7 +264,7 @@ 5 - 363, 219 + 364, 239 75, 23 @@ -291,7 +291,7 @@ True - 5, 138 + 6, 143 77, 12 @@ -315,7 +315,7 @@ 7 - 4, 152 + 4, 160 219, 21 @@ -360,25 +360,22 @@ groupBox2 - 0 + 2 True - - False - 13, 43 - 149, 16 + 77, 16 10 - 使用NTLEA(暂不支持) + 使用NTLEA rbUseNTLEA @@ -390,13 +387,13 @@ groupBox2 - 1 + 3 True - 12, 66 + 13, 93 59, 16 @@ -417,10 +414,10 @@ groupBox2 - 5 + 7 - 230, 32 + 230, 40 75, 23 @@ -444,7 +441,7 @@ 11 - 230, 69 + 230, 77 75, 23 @@ -468,7 +465,7 @@ 10 - 230, 108 + 230, 116 75, 23 @@ -492,7 +489,7 @@ 8 - 230, 150 + 230, 158 75, 23 @@ -516,7 +513,7 @@ 6 - 13, 153 + 14, 174 62, 21 @@ -534,13 +531,13 @@ groupBox2 - 3 + 5 True - 11, 138 + 12, 159 125, 12 @@ -561,13 +558,13 @@ groupBox2 - 4 + 6 True - 11, 95 + 12, 116 53, 12 @@ -588,13 +585,13 @@ groupBox2 - 6 + 8 False - 12, 110 + 13, 131 62, 21 @@ -615,13 +612,13 @@ groupBox2 - 2 + 4 12, 12 - 319, 190 + 319, 205 18 @@ -638,11 +635,56 @@ 2 + + 13, 66 + + + 155, 21 + + + 19 + + + tbNTLEAPath + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + 121, 40 + + + 47, 23 + + + 18 + + + 浏览 + + + buttonNTLEA + + + System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + 351, 12 - 174, 190 + 174, 205 19 @@ -660,7 +702,7 @@ 1 - 14, 224 + 12, 232 317, 36 @@ -687,7 +729,7 @@ False - 444, 219 + 445, 239 75, 23 @@ -720,7 +762,7 @@ True - 537, 266 + 537, 278 diff --git a/xp3dumper_gui/Properties/AssemblyInfo.cs b/xp3dumper_gui/Properties/AssemblyInfo.cs index f574704..517691f 100644 --- a/xp3dumper_gui/Properties/AssemblyInfo.cs +++ b/xp3dumper_gui/Properties/AssemblyInfo.cs @@ -25,12 +25,12 @@ // 程序集的版本信息由下面四个值组成: // // 主版本 -// 次版本 +// 次版本 // 内部版本号 // 修订号 // // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, // 方法是按如下所示使用“*”: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.2.*")] -//[assembly: AssemblyFileVersion("0.1.*.*")] +[assembly: AssemblyVersion("0.3.*")] +//[assembly: AssemblyFileVersion("0.1.*.*")] \ No newline at end of file diff --git a/xp3dumper_gui/Properties/Resources.Designer.cs b/xp3dumper_gui/Properties/Resources.Designer.cs index dc084d6..19edca2 100644 --- a/xp3dumper_gui/Properties/Resources.Designer.cs +++ b/xp3dumper_gui/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // 此代码由工具生成。 -// 运行库版本:2.0.50727.3615 +// 运行时版本:4.0.30319.1 // // 对此文件的更改可能会导致不正确的行为,并且如果 // 重新生成代码,这些更改将会丢失。 @@ -13,13 +13,13 @@ namespace Clowwindy.XP3Dumper.Properties { /// - /// 强类型资源类,用于查找本地化字符串等。 + /// 一个强类型的资源类,用于查找本地化的字符串等。 /// // 此类是由 StronglyTypedResourceBuilder // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [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 { @@ -33,7 +33,7 @@ internal Resources() { } /// - /// 返回此类使用的缓存 ResourceManager 实例。 + /// 返回此类使用的缓存的 ResourceManager 实例。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { @@ -47,7 +47,7 @@ internal Resources() { } /// - /// 为使用此强类型资源类的所有资源查找 + /// 使用此强类型资源类,为所有资源查找 /// 重写当前线程的 CurrentUICulture 属性。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] @@ -59,5 +59,20 @@ internal Resources() { resourceCulture = value; } } + + /// + /// 查找类似 <?xml version="1.0" encoding="utf-8" ?> + ///<configuration> + /// <configSections> + /// <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > + /// <section name="Clowwindy.XP3Dumper.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> + /// </sectionGroup> + /// [字符串的其余部分被截断]"; 的本地化字符串。 + /// + internal static string app_config { + get { + return ResourceManager.GetString("app_config", resourceCulture); + } + } } } diff --git a/xp3dumper_gui/Properties/Resources.resx b/xp3dumper_gui/Properties/Resources.resx index ffecec8..49526fc 100644 --- a/xp3dumper_gui/Properties/Resources.resx +++ b/xp3dumper_gui/Properties/Resources.resx @@ -46,7 +46,7 @@ mimetype: application/x-microsoft.net.object.binary.base64 value : The object must be serialized with - : System.Serialization.Formatters.Binary.BinaryFormatter + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : and then encoded with base64 encoding. mimetype: application/x-microsoft.net.object.soap.base64 @@ -60,6 +60,7 @@ : and then encoded with base64 encoding. --> + @@ -68,9 +69,10 @@ - + + @@ -85,9 +87,10 @@ - + + @@ -114,4 +117,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\app.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 + \ No newline at end of file diff --git a/xp3dumper_gui/Properties/Settings.Designer.cs b/xp3dumper_gui/Properties/Settings.Designer.cs index 4210af9..71a16c7 100644 --- a/xp3dumper_gui/Properties/Settings.Designer.cs +++ b/xp3dumper_gui/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // 此代码由工具生成。 -// 运行库版本:2.0.50727.3615 +// 运行时版本:4.0.30319.1 // // 对此文件的更改可能会导致不正确的行为,并且如果 // 重新生成代码,这些更改将会丢失。 @@ -12,7 +12,7 @@ namespace Clowwindy.XP3Dumper.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -22,5 +22,14 @@ public static Settings Default { return defaultInstance; } } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files\\NTLEA\\ntleac.exe")] + public string NTLEAPath { + get { + return ((string)(this["NTLEAPath"])); + } + } } } diff --git a/xp3dumper_gui/Properties/Settings.settings b/xp3dumper_gui/Properties/Settings.settings index abf36c5..b105d37 100644 --- a/xp3dumper_gui/Properties/Settings.settings +++ b/xp3dumper_gui/Properties/Settings.settings @@ -1,7 +1,9 @@  - - - - - - + + + + + C:\Program Files\NTLEA\ntleac.exe + + + \ No newline at end of file diff --git a/xp3dumper_gui/Readme.txt b/xp3dumper_gui/Readme.txt index 1c80898..1979c8d 100644 --- a/xp3dumper_gui/Readme.txt +++ b/xp3dumper_gui/Readme.txt @@ -1,9 +1,15 @@ XP3 Dumper GUI - -作者:clowwindy - 本程序是对Resty做的xp3dumper等一系列xp3提取工具的GUI封装,提供简单的GUI调用功能。这些工具在xp3dumper目录中。 +Ver 0.3 新增功能说明: + NTLEA 支持: + 使用 NTLEA 支持之前请选定 ntleac.exe 位置并确认其正确性。 + 同时提取多个封包: + 请在封包名之间以『半角逗号』分隔,例如 "data.xp3,bgm.xp3"(不带引号)。 + +amemiya +2011-1-31 + 使用说明: 1.选择游戏启动exe和执行exe,它们的区别在于前者可能只是一个引导用的破解补丁(如sinsemilla_boot.exe),后者才会是游戏运行时的进程(如sinsemilla.exe)。如果没有这样的引导程序,它们就是同一个exe文件。 2.选择要解包的xp3文件和保存路径。 @@ -11,7 +17,7 @@ 4.点击“提取”,稍等几秒,就会开始提取。如果没有开始提取,请点击取消,再按照5操作。 5.如果发现没有开始提取,这是因为游戏启动花的时间较长,请将载入插件延时调大一些再尝试。 -已在中文win xp上测试『黄昏のシンセミア』和『G線上の魔王』的解包。 + 已在中文win xp上测试『黄昏のシンセミア』和『G線上の魔王』的解包。 clowwindy 2010-9-24 @@ -20,5 +26,6 @@ BUG反馈: http://bbs.sumisora.org/read.php?tid=10975710 History: + 0.3 新增 NTLEA 支持,支持同时提取多个封包 0.2 在xp3dumper0.12d的基础上,实现判断提取结束功能 0.1 第一个公开版本 diff --git a/xp3dumper_gui/Resources/Resource.Designer.cs b/xp3dumper_gui/Resources/Resource.Designer.cs index eabffe1..7fa2172 100644 --- a/xp3dumper_gui/Resources/Resource.Designer.cs +++ b/xp3dumper_gui/Resources/Resource.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // 此代码由工具生成。 -// 运行库版本:2.0.50727.3615 +// 运行时版本:4.0.30319.1 // // 对此文件的更改可能会导致不正确的行为,并且如果 // 重新生成代码,这些更改将会丢失。 @@ -13,13 +13,13 @@ namespace Clowwindy.XP3Dumper.Resources { /// - /// 强类型资源类,用于查找本地化字符串等。 + /// 一个强类型的资源类,用于查找本地化的字符串等。 /// // 此类是由 StronglyTypedResourceBuilder // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen // (以 /str 作为命令选项),或重新生成 VS 项目。 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resource { @@ -33,7 +33,7 @@ internal Resource() { } /// - /// 返回此类使用的缓存 ResourceManager 实例。 + /// 返回此类使用的缓存的 ResourceManager 实例。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] internal static global::System.Resources.ResourceManager ResourceManager { @@ -47,7 +47,7 @@ internal Resource() { } /// - /// 为使用此强类型资源类的所有资源查找 + /// 使用此强类型资源类,为所有资源查找 /// 重写当前线程的 CurrentUICulture 属性。 /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] @@ -79,20 +79,20 @@ internal static string Finished { } /// - /// 查找类似 请检查日志文件。 的本地化字符串。 + /// 查找类似 未找到相应启动载入工具。 的本地化字符串。 /// - internal static string SeeLog { + internal static string LoaderNotFound { get { - return ResourceManager.GetString("SeeLog", resourceCulture); + return ResourceManager.GetString("LoaderNotFound", resourceCulture); } } /// - /// 查找类似 未找到SoraApp。 的本地化字符串。 + /// 查找类似 请检查日志文件。 的本地化字符串。 /// - internal static string SoraAppNotFound { + internal static string SeeLog { get { - return ResourceManager.GetString("SoraAppNotFound", resourceCulture); + return ResourceManager.GetString("SeeLog", resourceCulture); } } diff --git a/xp3dumper_gui/Resources/Resource.resx b/xp3dumper_gui/Resources/Resource.resx index 888aec6..69b7201 100644 --- a/xp3dumper_gui/Resources/Resource.resx +++ b/xp3dumper_gui/Resources/Resource.resx @@ -123,12 +123,12 @@ 提取完成。 + + 未找到相应启动载入工具。 + 请检查日志文件。 - - 未找到SoraApp。 - 正在提取中,请稍候。 diff --git a/Utils/SettingUtils.cs b/xp3dumper_gui/Utils/SettingUtils.cs similarity index 100% rename from Utils/SettingUtils.cs rename to xp3dumper_gui/Utils/SettingUtils.cs diff --git a/Utils/Win32APIUtils.cs b/xp3dumper_gui/Utils/Win32APIUtils.cs similarity index 100% rename from Utils/Win32APIUtils.cs rename to xp3dumper_gui/Utils/Win32APIUtils.cs diff --git a/bin/Release/xp3dumper_gui.vshost.exe.config b/xp3dumper_gui/app.config similarity index 100% rename from bin/Release/xp3dumper_gui.vshost.exe.config rename to xp3dumper_gui/app.config diff --git a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources index 934edf8..a243801 100644 Binary files a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources and b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources differ diff --git a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources index 06c24d0..e85fc07 100644 Binary files a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources and b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources differ diff --git a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources index 8ce6522..e191f58 100644 Binary files a/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources and b/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources differ diff --git a/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll index 2b893d8..07fe97b 100644 Binary files a/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ diff --git a/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll b/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll index 8be0641..b2ba25d 100644 Binary files a/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll and b/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll differ diff --git a/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml b/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml index 13e5264..a22ca43 100644 --- a/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml +++ b/xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml @@ -1,4 +1,4 @@ -