├── Program.cs ├── Readme.txt ├── app.config ├── xp3dumper_gui.csproj ├── xp3dumper_gui.csproj.user ├── xp3dumper_gui.sln ├── xp3dumper_gui.suo └── xp3dumper_gui ├── Controller └── Xp3Dumper.cs ├── GUI ├── MainForm.Designer.cs ├── MainForm.cs └── MainForm.resx ├── Program.cs ├── Properties ├── AssemblyInfo.cs ├── Resources.Designer.cs ├── Resources.resx ├── Settings.Designer.cs ├── Settings.settings └── app.manifest ├── Readme.txt ├── Resources ├── Resource.Designer.cs └── Resource.resx ├── Utils ├── FileUtils.cs ├── LogUtils.cs ├── ProcessUtils.cs ├── SettingUtils.cs └── Win32APIUtils.cs ├── app.config ├── obj ├── Debug │ ├── Clowwindy.XP3Dumper.GUI.MainForm.resources │ ├── Clowwindy.XP3Dumper.Properties.Resources.resources │ ├── Clowwindy.XP3Dumper.Resources.Resource.resources │ ├── TempPE │ │ ├── Properties.Resources.Designer.cs.dll │ │ └── Resources.Resource.Designer.cs.dll │ ├── xp3dumper_gui.TrustInfo.xml │ ├── xp3dumper_gui.application │ ├── xp3dumper_gui.csproj.FileListAbsolute.txt │ ├── xp3dumper_gui.csproj.GenerateResource.Cache │ ├── xp3dumper_gui.exe │ ├── xp3dumper_gui.exe.manifest │ └── xp3dumper_gui.pdb └── Release │ ├── Clowwindy.XP3Dumper.GUI.MainForm.resources │ ├── Clowwindy.XP3Dumper.Properties.Resources.resources │ ├── Clowwindy.XP3Dumper.Resources.Resource.resources │ ├── TempPE │ ├── Properties.Resources.Designer.cs.dll │ └── Resources.Resource.Designer.cs.dll │ ├── xp3dumper_gui.TrustInfo.xml │ ├── xp3dumper_gui.application │ ├── xp3dumper_gui.csproj.FileListAbsolute.txt │ ├── xp3dumper_gui.csproj.GenerateResource.Cache │ ├── xp3dumper_gui.exe │ ├── xp3dumper_gui.exe.manifest │ └── xp3dumper_gui.pdb ├── xp3dumper ├── helpers │ ├── !dumpHelper.tpm │ ├── !exporteraddr.tpm │ ├── DllLoader.exe │ ├── dumperHelper.txt │ ├── pic_path.txt │ ├── xp3dumper.helper.dat │ ├── ~layerExSave.tpm │ └── ~~fpng.tpm ├── readme.txt ├── xp3dumper │ ├── history.txt │ ├── xp3dumper.txt │ └── ~xp3dumper0.12d.tpm └── xp3maker │ ├── history.txt │ ├── xp3enc.dll │ ├── xp3maker.txt │ └── ~xp3maker.tpm ├── xp3dumper_gui.csproj └── xp3dumper_gui.csproj.user /Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | using Clowwindy.XP3Dumper.GUI; 5 | 6 | namespace xp3dumper_gui 7 | { 8 | internal static class Program 9 | { 10 | /// 11 | /// 应用程序的主入口点。 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new MainForm()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Readme.txt: -------------------------------------------------------------------------------- 1 | XP3 Dumper GUI 2 | 本程序是对Resty做的xp3dumper等一系列xp3提取工具的GUI封装,提供简单的GUI调用功能。这些工具在xp3dumper目录中。 3 | 4 | Ver 0.3 新增功能说明: 5 | NTLEA 支持: 6 | 使用 NTLEA 支持之前请选定 ntleac.exe 位置并确认其正确性。 7 | 同时提取多个封包: 8 | 请在封包名之间以『半角逗号』分隔,例如 "data.xp3,bgm.xp3"(不带引号)。 9 | 10 | amemiya 11 | 2011-1-31 12 | 13 | 使用说明: 14 | 1.选择游戏启动exe和执行exe,它们的区别在于前者可能只是一个引导用的破解补丁(如sinsemilla_boot.exe),后者才会是游戏运行时的进程(如sinsemilla.exe)。如果没有这样的引导程序,它们就是同一个exe文件。 15 | 2.选择要解包的xp3文件和保存路径。 16 | 3.如果游戏需要转区才能运行,选择SoraApp可以调用SoraApp(今后版本会支持NTLEA)转区运行游戏,前提是你安装了SoraApp或NTLEA。 17 | 4.点击“提取”,稍等几秒,就会开始提取。如果没有开始提取,请点击取消,再按照5操作。 18 | 5.如果发现没有开始提取,这是因为游戏启动花的时间较长,请将载入插件延时调大一些再尝试。 19 | 20 | 已在中文win xp上测试『黄昏のシンセミア』和『G線上の魔王』的解包。 21 | 22 | clowwindy 23 | 2010-9-24 24 | 25 | BUG反馈: 26 | http://bbs.sumisora.org/read.php?tid=10975710 27 | 28 | History: 29 | 0.3 新增 NTLEA 支持,支持同时提取多个封包 30 | 0.2 在xp3dumper0.12d的基础上,实现判断提取结束功能 31 | 0.1 第一个公开版本 32 | -------------------------------------------------------------------------------- /app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | C:\Program Files\NTLEA\ntleac.exe 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /xp3dumper_gui.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 9.0.21022 7 | 2.0 8 | {D852A983-B0FE-4B6E-8664-316BC13A8B16} 9 | WinExe 10 | Properties 11 | Clowwindy.XP3Dumper 12 | xp3dumper_gui 13 | v2.0 14 | 512 15 | false 16 | clowwindy.pfx 17 | false 18 | CE6FA94365BE2EA26AF3F1A222C0D3BEA1A4063B 19 | clowwindy.pfx 20 | LocalIntranet 21 | true 22 | Properties\app.manifest 23 | false 24 | 25 | 26 | 27 | 28 | 3.5 29 | publish\ 30 | true 31 | Disk 32 | false 33 | Foreground 34 | 7 35 | Days 36 | false 37 | false 38 | true 39 | 1 40 | 1.0.0.%2a 41 | false 42 | true 43 | 44 | 45 | true 46 | full 47 | false 48 | bin\Debug\ 49 | DEBUG;TRACE 50 | prompt 51 | 4 52 | AllRules.ruleset 53 | 54 | 55 | pdbonly 56 | true 57 | bin\Release\ 58 | TRACE 59 | prompt 60 | 4 61 | AllRules.ruleset 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | Form 75 | 76 | 77 | MainForm.cs 78 | 79 | 80 | 81 | 82 | 83 | 84 | MainForm.cs 85 | Designer 86 | 87 | 88 | ResXFileCodeGenerator 89 | Resources.Designer.cs 90 | Designer 91 | 92 | 93 | ResXFileCodeGenerator 94 | Resource.Designer.cs 95 | Designer 96 | 97 | 98 | True 99 | Resources.resx 100 | True 101 | 102 | 103 | 104 | 105 | 106 | SettingsSingleFileGenerator 107 | Settings.Designer.cs 108 | 109 | 110 | PreserveNewest 111 | 112 | 113 | PreserveNewest 114 | 115 | 116 | PreserveNewest 117 | 118 | 119 | PreserveNewest 120 | 121 | 122 | PreserveNewest 123 | 124 | 125 | PreserveNewest 126 | 127 | 128 | PreserveNewest 129 | 130 | 131 | True 132 | Settings.settings 133 | True 134 | 135 | 136 | True 137 | True 138 | Resource.resx 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | False 147 | .NET Framework 3.5 SP1 Client Profile 148 | false 149 | 150 | 151 | False 152 | .NET Framework 2.0 %28x86%29 153 | true 154 | 155 | 156 | False 157 | .NET Framework 3.0 %28x86%29 158 | false 159 | 160 | 161 | False 162 | .NET Framework 3.5 163 | false 164 | 165 | 166 | False 167 | .NET Framework 3.5 SP1 168 | false 169 | 170 | 171 | 172 | 173 | PreserveNewest 174 | 175 | 176 | PreserveNewest 177 | 178 | 179 | PreserveNewest 180 | 181 | 182 | PreserveNewest 183 | 184 | 185 | PreserveNewest 186 | 187 | 188 | PreserveNewest 189 | 190 | 191 | PreserveNewest 192 | 193 | 194 | PreserveNewest 195 | 196 | 197 | PreserveNewest 198 | 199 | 200 | PreserveNewest 201 | 202 | 203 | 204 | 211 | -------------------------------------------------------------------------------- /xp3dumper_gui.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | publish\ 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | zh-CN 14 | false 15 | 16 | 17 | -------------------------------------------------------------------------------- /xp3dumper_gui.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xp3dumper_gui", "xp3dumper_gui\xp3dumper_gui.csproj", "{D852A983-B0FE-4B6E-8664-316BC13A8B16}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {D852A983-B0FE-4B6E-8664-316BC13A8B16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {D852A983-B0FE-4B6E-8664-316BC13A8B16}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {D852A983-B0FE-4B6E-8664-316BC13A8B16}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {D852A983-B0FE-4B6E-8664-316BC13A8B16}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | GlobalSection(ExtensibilityGlobals) = postSolution 21 | VisualSVNWorkingCopyRoot = . 22 | EndGlobalSection 23 | EndGlobal 24 | -------------------------------------------------------------------------------- /xp3dumper_gui.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui.suo -------------------------------------------------------------------------------- /xp3dumper_gui/Controller/Xp3Dumper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using Clowwindy.XP3Dumper.Resources; 4 | using Clowwindy.XP3Dumper.Utils; 5 | 6 | namespace Clowwindy.XP3Dumper.Controller 7 | { 8 | internal class Xp3Dumper 9 | { 10 | private const string XP3HELPERS_PATH = @"xp3dumper\helpers\"; 11 | private const string EXPORTER_FILENAME = @"!exporteraddr.tpm"; 12 | private const string EXPORTER_FULL_FILENAME = XP3HELPERS_PATH + EXPORTER_FILENAME; 13 | 14 | private const string XP3DUMPER_PATH = @"xp3dumper\xp3dumper\"; 15 | private const string DUMPER_FILENAME = @"~xp3dumper0.12d.tpm"; 16 | private const string DUMPER_FULL_FILENAME = XP3DUMPER_PATH + DUMPER_FILENAME; 17 | 18 | private const string ARC_LIST_FILENAME = "arc_list.txt"; 19 | private const string ADDRESS_FILENAME = "exporter_address.txt"; 20 | private const string DLLLOADER_FULL_FILENAME = XP3HELPERS_PATH + "DllLoader.exe"; 21 | 22 | private const string SORAAPP_FILENAME = @"\SoraApp\SoraApp.exe"; 23 | private string NTLEA_PATH = @"D:\Program Files (x86)\NTLEA\ntleac.exe"; 24 | 25 | private const string DUMPER_BUTTON_CLASS = "Button"; 26 | private const string DUMPER_BUTTON_TITLE = "模式3启动"; 27 | 28 | private const string DUMPER_GROUP_EDIT_ADDRESS_CLASS = "Button"; 29 | private const string DUMPER_GROUP_EDIT_ADDRESS_TITLE = "特殊功能(模式3)"; 30 | 31 | private const string DUMPER_EDIT_ADDRESS_CLASS = "EDIT"; 32 | 33 | private const string DUMPER_WINDOW_TITLE = "xp3dumper 0.12d"; 34 | private const string DUMPER_FINISHED_WINDOW_TITLE = "xp3dumper hint"; 35 | 36 | private const int WAIT_SLEEP_INTERVAL = 40; 37 | 38 | private string address; 39 | 40 | private string bootFilename; 41 | 42 | private bool finished = true; 43 | 44 | internal enum UseStartLoader 45 | { 46 | None, 47 | SoraApp, 48 | NTLEA 49 | } 50 | 51 | internal Xp3Dumper() 52 | { 53 | useLoader = UseStartLoader.None; 54 | delay = 4; 55 | codePage = "0411"; 56 | } 57 | 58 | internal string BootFilename 59 | { 60 | get { return bootFilename; } 61 | set { bootFilename = value; } 62 | } 63 | 64 | private string executeFilename; 65 | 66 | internal string ExecuteFilename 67 | { 68 | get { return executeFilename; } 69 | set { executeFilename = value; } 70 | } 71 | 72 | private string xp3Filename; 73 | 74 | internal string Xp3Filename 75 | { 76 | get { return xp3Filename; } 77 | set { xp3Filename = value; } 78 | } 79 | 80 | private string savePath; 81 | 82 | internal string SavePath 83 | { 84 | get { return savePath; } 85 | set { savePath = value; } 86 | } 87 | 88 | internal string NTLEAPath 89 | { 90 | get { return NTLEA_PATH; } 91 | set { NTLEA_PATH = value; } 92 | } 93 | 94 | private string getGamePath() 95 | { 96 | return FileUtils.GetDirectoryName(bootFilename); 97 | } 98 | 99 | private UseStartLoader useLoader; 100 | 101 | internal UseStartLoader UseLoader 102 | { 103 | get { return useLoader; } 104 | set { useLoader = value; } 105 | } 106 | 107 | private int delay; 108 | 109 | internal int Delay 110 | { 111 | get { return delay; } 112 | set { delay = value; } 113 | } 114 | 115 | private string codePage; 116 | 117 | internal string CodePage 118 | { 119 | get { return codePage; } 120 | set { codePage = value; } 121 | } 122 | 123 | internal string Start() 124 | { 125 | try 126 | { 127 | finished = false; 128 | 129 | //获取导出地址 130 | killGame(); 131 | delDumperPlugin(); 132 | copyExportPlugin(); 133 | delAddressFile(); 134 | startGame(); 135 | waitUtilTrue(FileUtils.ExistFile, FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME)); 136 | killGame(); 137 | delExportPlugin(); 138 | this.address = getExportAddr().TrimEnd(); 139 | 140 | //启动游戏并注入解包插件 141 | startGame(); 142 | ProcessUtils.Sleep(delay * 1000); 143 | copyDumperPlugin(); 144 | createArcList(); 145 | runDllLoader(); 146 | 147 | //填写解包信息,解包 148 | FileUtils.MakeDir(this.savePath); 149 | ProcessUtils.Sleep(1000); 150 | waitUtilTrue(setWindowTextThenClickButton, null); 151 | return Resource.Started; 152 | } 153 | catch (Exception e) 154 | { 155 | LogUtils.Log(e.ToString()); 156 | return e.Message + " " + Resource.SeeLog; 157 | } 158 | } 159 | 160 | internal string WaitForFinish() 161 | { 162 | try 163 | { 164 | waitUtilTrue(dumpFinished, null); 165 | 166 | Finish(); 167 | } 168 | catch (Exception e) 169 | { 170 | LogUtils.Log(e.ToString()); 171 | return e.Message + " " + Resource.SeeLog; 172 | } 173 | return Resource.Finished; 174 | } 175 | 176 | internal string Finish() 177 | { 178 | try 179 | { 180 | killGame(); 181 | delDumperPlugin(); 182 | delExportPlugin(); 183 | delAddressFile(); 184 | finished = true; 185 | return Resource.Finished; 186 | } 187 | catch (Exception e) 188 | { 189 | LogUtils.Log(e.ToString()); 190 | return e.Message + " " + Resource.SeeLog; 191 | } 192 | } 193 | 194 | internal string Cancel() 195 | { 196 | try 197 | { 198 | killGame(); 199 | delDumperPlugin(); 200 | delExportPlugin(); 201 | delAddressFile(); 202 | finished = true; 203 | return Resource.Canceled; 204 | } 205 | catch (Exception e) 206 | { 207 | LogUtils.Log(e.ToString()); 208 | return e.Message + " " + Resource.SeeLog; 209 | } 210 | } 211 | 212 | protected void startGame() 213 | { 214 | try 215 | { 216 | if (useLoader == UseStartLoader.SoraApp) 217 | { 218 | ProcessUtils.StartProcess(FileUtils.GetWinDir() + SORAAPP_FILENAME, codePage.Trim() + " " + this.bootFilename); 219 | } 220 | else if (useLoader == UseStartLoader.NTLEA) 221 | { 222 | int iLCID = Convert.ToInt32(codePage.Trim(), 16); 223 | ProcessUtils.StartProcess(NTLEA_PATH, String.Format("\"{0}\" C{1} L{2}", this.bootFilename, Win32APIUtils.GetLocaleCP(iLCID), iLCID)); 224 | } 225 | else 226 | { 227 | ProcessUtils.StartProcess(this.bootFilename, null); 228 | } 229 | } 230 | catch (FileNotFoundException e) 231 | { 232 | throw new ArgumentException(Resource.LoaderNotFound, e); 233 | } 234 | 235 | waitUtilTrue(ProcessUtils.ExistsProcess, this.executeFilename); 236 | } 237 | 238 | protected int getGamePID() 239 | { 240 | return 0; 241 | } 242 | 243 | protected void killGame() 244 | { 245 | ProcessUtils.Kill(this.executeFilename); 246 | waitUtilFalse(ProcessUtils.ExistsProcess, this.executeFilename); 247 | } 248 | 249 | protected void copyExportPlugin() 250 | { 251 | FileUtils.Copy(EXPORTER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME)); 252 | } 253 | 254 | protected void delExportPlugin() 255 | { 256 | FileUtils.Delete(FileUtils.CombinePath(getGamePath(), EXPORTER_FILENAME)); 257 | } 258 | 259 | protected void delAddressFile() 260 | { 261 | FileUtils.Delete(FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME)); 262 | } 263 | 264 | protected string getExportAddr() 265 | { 266 | return FileUtils.ReadTextFile(FileUtils.CombinePath(getGamePath(), ADDRESS_FILENAME)); 267 | } 268 | 269 | protected void copyDumperPlugin() 270 | { 271 | FileUtils.Copy(DUMPER_FULL_FILENAME, FileUtils.CombinePath(getGamePath(), DUMPER_FILENAME)); 272 | } 273 | 274 | protected void delDumperPlugin() 275 | { 276 | FileUtils.Delete(FileUtils.CombinePath(getGamePath(), DUMPER_FILENAME)); 277 | } 278 | 279 | protected void runDllLoader() 280 | { 281 | int pid = ProcessUtils.GetProcess(this.executeFilename).Id; 282 | ProcessUtils.StartProcess(DLLLOADER_FULL_FILENAME, pid.ToString() + " " + DUMPER_FILENAME); 283 | } 284 | 285 | protected void createArcList() 286 | { 287 | FileUtils.WriteTextFile(FileUtils.CombinePath(getGamePath(), ARC_LIST_FILENAME), this.xp3Filename.Replace(",", "\r\n")); 288 | } 289 | 290 | protected bool setWindowTextThenClickButton(String notUsed) 291 | { 292 | IntPtr hwndWin; 293 | IntPtr hwndButton; 294 | IntPtr hwndEditPath; 295 | IntPtr hwndEditAddress; 296 | 297 | hwndWin = ProcessUtils.FindWindow(null, DUMPER_WINDOW_TITLE); 298 | if (hwndWin.ToInt32() == 0) 299 | { 300 | return false; 301 | } 302 | hwndEditPath = ProcessUtils.FindWindowEx(hwndWin, new IntPtr(0), DUMPER_EDIT_ADDRESS_CLASS, null); 303 | hwndEditAddress = ProcessUtils.FindWindowEx(hwndWin, hwndEditPath, DUMPER_EDIT_ADDRESS_CLASS, null); 304 | hwndButton = ProcessUtils.FindWindowEx(hwndWin, new IntPtr(0), DUMPER_BUTTON_CLASS, DUMPER_BUTTON_TITLE); 305 | 306 | ProcessUtils.SetText(hwndEditPath, this.savePath); 307 | ProcessUtils.SetText(hwndEditAddress, this.address); 308 | ProcessUtils.PostMessage(hwndButton, ProcessUtils.BM_CLICK); 309 | return true; 310 | } 311 | 312 | protected bool dumpFinished(string notUsed) 313 | { 314 | IntPtr hwndWin = ProcessUtils.FindWindow(null, DUMPER_FINISHED_WINDOW_TITLE); 315 | if (hwndWin.ToInt32() == 0) 316 | { 317 | return false; 318 | } 319 | return true; 320 | } 321 | 322 | protected delegate bool StringToBoolMethod(string argument); 323 | 324 | protected void waitUtilTrue(StringToBoolMethod condition, string argument) 325 | { 326 | while (!condition(argument) && !finished) 327 | { 328 | ProcessUtils.Sleep(WAIT_SLEEP_INTERVAL); 329 | ProcessUtils.DoEvents(); 330 | } 331 | } 332 | 333 | protected void waitUtilFalse(StringToBoolMethod condition, string argument) 334 | { 335 | while (condition(argument) && !finished) 336 | { 337 | ProcessUtils.Sleep(WAIT_SLEEP_INTERVAL); 338 | ProcessUtils.DoEvents(); 339 | } 340 | } 341 | } 342 | } -------------------------------------------------------------------------------- /xp3dumper_gui/GUI/MainForm.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Clowwindy.XP3Dumper.GUI 2 | { 3 | partial class MainForm 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); 32 | this.label1 = new System.Windows.Forms.Label(); 33 | this.label2 = new System.Windows.Forms.Label(); 34 | this.tbBootFilename = new System.Windows.Forms.TextBox(); 35 | this.tbExcuteFilename = new System.Windows.Forms.TextBox(); 36 | this.tbXp3Filename = new System.Windows.Forms.TextBox(); 37 | this.label3 = new System.Windows.Forms.Label(); 38 | this.btnStart = new System.Windows.Forms.Button(); 39 | this.label4 = new System.Windows.Forms.Label(); 40 | this.tbSavePath = new System.Windows.Forms.TextBox(); 41 | this.rbUseSoraApp = new System.Windows.Forms.RadioButton(); 42 | this.rbUseNTLEA = new System.Windows.Forms.RadioButton(); 43 | this.rbUseNone = new System.Windows.Forms.RadioButton(); 44 | this.btnBootFilename = new System.Windows.Forms.Button(); 45 | this.btnExcuteFilename = new System.Windows.Forms.Button(); 46 | this.btnExtractFilename = new System.Windows.Forms.Button(); 47 | this.btnSavePath = new System.Windows.Forms.Button(); 48 | this.numDelay = new System.Windows.Forms.NumericUpDown(); 49 | this.label5 = new System.Windows.Forms.Label(); 50 | this.label6 = new System.Windows.Forms.Label(); 51 | this.tbCodePage = new System.Windows.Forms.TextBox(); 52 | this.groupBox1 = new System.Windows.Forms.GroupBox(); 53 | this.groupBox2 = new System.Windows.Forms.GroupBox(); 54 | this.tbNTLEAPath = new System.Windows.Forms.TextBox(); 55 | this.buttonNTLEA = new System.Windows.Forms.Button(); 56 | this.lbStatus = new System.Windows.Forms.Label(); 57 | this.btnCancel = new System.Windows.Forms.Button(); 58 | ((System.ComponentModel.ISupportInitialize)(this.numDelay)).BeginInit(); 59 | this.groupBox1.SuspendLayout(); 60 | this.groupBox2.SuspendLayout(); 61 | this.SuspendLayout(); 62 | // 63 | // label1 64 | // 65 | resources.ApplyResources(this.label1, "label1"); 66 | this.label1.Name = "label1"; 67 | // 68 | // label2 69 | // 70 | resources.ApplyResources(this.label2, "label2"); 71 | this.label2.Name = "label2"; 72 | // 73 | // tbBootFilename 74 | // 75 | resources.ApplyResources(this.tbBootFilename, "tbBootFilename"); 76 | this.tbBootFilename.Name = "tbBootFilename"; 77 | // 78 | // tbExcuteFilename 79 | // 80 | resources.ApplyResources(this.tbExcuteFilename, "tbExcuteFilename"); 81 | this.tbExcuteFilename.Name = "tbExcuteFilename"; 82 | // 83 | // tbXp3Filename 84 | // 85 | resources.ApplyResources(this.tbXp3Filename, "tbXp3Filename"); 86 | this.tbXp3Filename.Name = "tbXp3Filename"; 87 | // 88 | // label3 89 | // 90 | resources.ApplyResources(this.label3, "label3"); 91 | this.label3.Name = "label3"; 92 | // 93 | // btnStart 94 | // 95 | resources.ApplyResources(this.btnStart, "btnStart"); 96 | this.btnStart.Name = "btnStart"; 97 | this.btnStart.UseVisualStyleBackColor = true; 98 | this.btnStart.Click += new System.EventHandler(this.btnStart_Click); 99 | // 100 | // label4 101 | // 102 | resources.ApplyResources(this.label4, "label4"); 103 | this.label4.Name = "label4"; 104 | // 105 | // tbSavePath 106 | // 107 | resources.ApplyResources(this.tbSavePath, "tbSavePath"); 108 | this.tbSavePath.Name = "tbSavePath"; 109 | // 110 | // rbUseSoraApp 111 | // 112 | resources.ApplyResources(this.rbUseSoraApp, "rbUseSoraApp"); 113 | this.rbUseSoraApp.Name = "rbUseSoraApp"; 114 | this.rbUseSoraApp.UseVisualStyleBackColor = true; 115 | // 116 | // rbUseNTLEA 117 | // 118 | resources.ApplyResources(this.rbUseNTLEA, "rbUseNTLEA"); 119 | this.rbUseNTLEA.Name = "rbUseNTLEA"; 120 | this.rbUseNTLEA.UseVisualStyleBackColor = true; 121 | // 122 | // rbUseNone 123 | // 124 | resources.ApplyResources(this.rbUseNone, "rbUseNone"); 125 | this.rbUseNone.Checked = true; 126 | this.rbUseNone.Name = "rbUseNone"; 127 | this.rbUseNone.TabStop = true; 128 | this.rbUseNone.UseVisualStyleBackColor = true; 129 | this.rbUseNone.CheckedChanged += new System.EventHandler(this.rbUseNone_CheckedChanged); 130 | // 131 | // btnBootFilename 132 | // 133 | resources.ApplyResources(this.btnBootFilename, "btnBootFilename"); 134 | this.btnBootFilename.Name = "btnBootFilename"; 135 | this.btnBootFilename.UseVisualStyleBackColor = true; 136 | this.btnBootFilename.Click += new System.EventHandler(this.btnBootFilename_Click); 137 | // 138 | // btnExcuteFilename 139 | // 140 | resources.ApplyResources(this.btnExcuteFilename, "btnExcuteFilename"); 141 | this.btnExcuteFilename.Name = "btnExcuteFilename"; 142 | this.btnExcuteFilename.UseVisualStyleBackColor = true; 143 | this.btnExcuteFilename.Click += new System.EventHandler(this.btnExcuteFilename_Click); 144 | // 145 | // btnExtractFilename 146 | // 147 | resources.ApplyResources(this.btnExtractFilename, "btnExtractFilename"); 148 | this.btnExtractFilename.Name = "btnExtractFilename"; 149 | this.btnExtractFilename.UseVisualStyleBackColor = true; 150 | this.btnExtractFilename.Click += new System.EventHandler(this.btnExtractFilename_Click); 151 | // 152 | // btnSavePath 153 | // 154 | resources.ApplyResources(this.btnSavePath, "btnSavePath"); 155 | this.btnSavePath.Name = "btnSavePath"; 156 | this.btnSavePath.UseVisualStyleBackColor = true; 157 | this.btnSavePath.Click += new System.EventHandler(this.btnSavePath_Click); 158 | // 159 | // numDelay 160 | // 161 | resources.ApplyResources(this.numDelay, "numDelay"); 162 | this.numDelay.Maximum = new decimal(new int[] { 163 | 10000, 164 | 0, 165 | 0, 166 | 0}); 167 | this.numDelay.Minimum = new decimal(new int[] { 168 | 1, 169 | 0, 170 | 0, 171 | 0}); 172 | this.numDelay.Name = "numDelay"; 173 | this.numDelay.Value = new decimal(new int[] { 174 | 4, 175 | 0, 176 | 0, 177 | 0}); 178 | // 179 | // label5 180 | // 181 | resources.ApplyResources(this.label5, "label5"); 182 | this.label5.Name = "label5"; 183 | // 184 | // label6 185 | // 186 | resources.ApplyResources(this.label6, "label6"); 187 | this.label6.Name = "label6"; 188 | // 189 | // tbCodePage 190 | // 191 | resources.ApplyResources(this.tbCodePage, "tbCodePage"); 192 | this.tbCodePage.Name = "tbCodePage"; 193 | // 194 | // groupBox1 195 | // 196 | this.groupBox1.Controls.Add(this.label1); 197 | this.groupBox1.Controls.Add(this.label2); 198 | this.groupBox1.Controls.Add(this.tbBootFilename); 199 | this.groupBox1.Controls.Add(this.tbExcuteFilename); 200 | this.groupBox1.Controls.Add(this.tbXp3Filename); 201 | this.groupBox1.Controls.Add(this.label3); 202 | this.groupBox1.Controls.Add(this.btnSavePath); 203 | this.groupBox1.Controls.Add(this.label4); 204 | this.groupBox1.Controls.Add(this.btnExtractFilename); 205 | this.groupBox1.Controls.Add(this.tbSavePath); 206 | this.groupBox1.Controls.Add(this.btnExcuteFilename); 207 | this.groupBox1.Controls.Add(this.btnBootFilename); 208 | resources.ApplyResources(this.groupBox1, "groupBox1"); 209 | this.groupBox1.Name = "groupBox1"; 210 | this.groupBox1.TabStop = false; 211 | // 212 | // groupBox2 213 | // 214 | this.groupBox2.Controls.Add(this.tbNTLEAPath); 215 | this.groupBox2.Controls.Add(this.buttonNTLEA); 216 | this.groupBox2.Controls.Add(this.rbUseSoraApp); 217 | this.groupBox2.Controls.Add(this.rbUseNTLEA); 218 | this.groupBox2.Controls.Add(this.tbCodePage); 219 | this.groupBox2.Controls.Add(this.numDelay); 220 | this.groupBox2.Controls.Add(this.label5); 221 | this.groupBox2.Controls.Add(this.rbUseNone); 222 | this.groupBox2.Controls.Add(this.label6); 223 | resources.ApplyResources(this.groupBox2, "groupBox2"); 224 | this.groupBox2.Name = "groupBox2"; 225 | this.groupBox2.TabStop = false; 226 | // 227 | // tbNTLEAPath 228 | // 229 | resources.ApplyResources(this.tbNTLEAPath, "tbNTLEAPath"); 230 | this.tbNTLEAPath.Name = "tbNTLEAPath"; 231 | this.tbNTLEAPath.TextChanged += new System.EventHandler(this.tbNTLEAPath_TextChanged); 232 | // 233 | // buttonNTLEA 234 | // 235 | resources.ApplyResources(this.buttonNTLEA, "buttonNTLEA"); 236 | this.buttonNTLEA.Name = "buttonNTLEA"; 237 | this.buttonNTLEA.UseVisualStyleBackColor = true; 238 | this.buttonNTLEA.Click += new System.EventHandler(this.buttonNTLEA_Click); 239 | // 240 | // lbStatus 241 | // 242 | resources.ApplyResources(this.lbStatus, "lbStatus"); 243 | this.lbStatus.Name = "lbStatus"; 244 | // 245 | // btnCancel 246 | // 247 | resources.ApplyResources(this.btnCancel, "btnCancel"); 248 | this.btnCancel.Name = "btnCancel"; 249 | this.btnCancel.UseVisualStyleBackColor = true; 250 | this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); 251 | // 252 | // MainForm 253 | // 254 | resources.ApplyResources(this, "$this"); 255 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 256 | this.Controls.Add(this.lbStatus); 257 | this.Controls.Add(this.groupBox2); 258 | this.Controls.Add(this.groupBox1); 259 | this.Controls.Add(this.btnCancel); 260 | this.Controls.Add(this.btnStart); 261 | this.DoubleBuffered = true; 262 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 263 | this.MaximizeBox = false; 264 | this.Name = "MainForm"; 265 | this.TopMost = true; 266 | this.Load += new System.EventHandler(this.MainForm_Load); 267 | ((System.ComponentModel.ISupportInitialize)(this.numDelay)).EndInit(); 268 | this.groupBox1.ResumeLayout(false); 269 | this.groupBox1.PerformLayout(); 270 | this.groupBox2.ResumeLayout(false); 271 | this.groupBox2.PerformLayout(); 272 | this.ResumeLayout(false); 273 | 274 | } 275 | 276 | #endregion 277 | 278 | private System.Windows.Forms.Label label1; 279 | private System.Windows.Forms.Label label2; 280 | private System.Windows.Forms.TextBox tbBootFilename; 281 | private System.Windows.Forms.TextBox tbExcuteFilename; 282 | private System.Windows.Forms.TextBox tbXp3Filename; 283 | private System.Windows.Forms.Label label3; 284 | private System.Windows.Forms.Button btnStart; 285 | private System.Windows.Forms.Label label4; 286 | private System.Windows.Forms.TextBox tbSavePath; 287 | private System.Windows.Forms.RadioButton rbUseSoraApp; 288 | private System.Windows.Forms.RadioButton rbUseNTLEA; 289 | private System.Windows.Forms.RadioButton rbUseNone; 290 | private System.Windows.Forms.Button btnBootFilename; 291 | private System.Windows.Forms.Button btnExcuteFilename; 292 | private System.Windows.Forms.Button btnExtractFilename; 293 | private System.Windows.Forms.Button btnSavePath; 294 | private System.Windows.Forms.NumericUpDown numDelay; 295 | private System.Windows.Forms.Label label5; 296 | private System.Windows.Forms.Label label6; 297 | private System.Windows.Forms.TextBox tbCodePage; 298 | private System.Windows.Forms.GroupBox groupBox1; 299 | private System.Windows.Forms.GroupBox groupBox2; 300 | private System.Windows.Forms.Label lbStatus; 301 | private System.Windows.Forms.Button btnCancel; 302 | private System.Windows.Forms.Button buttonNTLEA; 303 | private System.Windows.Forms.TextBox tbNTLEAPath; 304 | } 305 | } -------------------------------------------------------------------------------- /xp3dumper_gui/GUI/MainForm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.IO; 7 | using System.Reflection; 8 | using System.Text; 9 | using System.Windows.Forms; 10 | using Clowwindy.XP3Dumper.Controller; 11 | using Clowwindy.XP3Dumper.Utils; 12 | 13 | namespace Clowwindy.XP3Dumper.GUI 14 | { 15 | internal partial class MainForm : Form 16 | { 17 | private Xp3Dumper dumper; 18 | private OpenFileDialog openDialog; 19 | private FolderBrowserDialog folderDialog; 20 | 21 | internal MainForm() 22 | { 23 | InitializeComponent(); 24 | } 25 | 26 | private void initDumper() 27 | { 28 | dumper = new Xp3Dumper(); 29 | dumper.BootFilename = tbBootFilename.Text; 30 | dumper.ExecuteFilename = tbExcuteFilename.Text; 31 | dumper.Xp3Filename = tbXp3Filename.Text; 32 | dumper.SavePath = tbSavePath.Text; 33 | dumper.CodePage = tbCodePage.Text; 34 | dumper.Delay = (int)numDelay.Value; 35 | 36 | if (rbUseSoraApp.Checked) 37 | dumper.UseLoader = Xp3Dumper.UseStartLoader.SoraApp; 38 | else if (rbUseNTLEA.Checked) 39 | dumper.UseLoader = Xp3Dumper.UseStartLoader.NTLEA; 40 | else 41 | dumper.UseLoader = Xp3Dumper.UseStartLoader.None; 42 | } 43 | 44 | private string startDumper() 45 | { 46 | return dumper.Start(); 47 | } 48 | 49 | private void btnStart_Click(object sender, EventArgs e) 50 | { 51 | initDumper(); 52 | 53 | btnStart.Enabled = false; 54 | btnCancel.Enabled = true; 55 | var result = startDumper(); 56 | lbStatus.Text = result; 57 | 58 | result = dumper.WaitForFinish(); 59 | lbStatus.Text = result; 60 | btnStart.Enabled = true; 61 | btnCancel.Enabled = false; 62 | 63 | this.Activate(); 64 | this.Focus(); 65 | } 66 | 67 | private void MainForm_Load(object sender, EventArgs e) 68 | { 69 | FlushConfigFile(); 70 | 71 | Version version = Assembly.GetExecutingAssembly().GetName().Version; 72 | this.Text += String.Format(" {0}.{1}", version.Major, version.Minor); 73 | openDialog = new OpenFileDialog(); 74 | openDialog.RestoreDirectory = true; 75 | folderDialog = new FolderBrowserDialog(); 76 | 77 | tbNTLEAPath.Text = Properties.Settings.Default.NTLEAPath; 78 | } 79 | 80 | private void FlushConfigFile() 81 | { 82 | string configFileName = System.Windows.Forms.Application.ExecutablePath + ".config"; 83 | if (!File.Exists(configFileName)) 84 | { 85 | StreamWriter bw = new StreamWriter(new FileStream(configFileName, FileMode.Create), System.Text.Encoding.UTF8); 86 | bw.Write(Properties.Resources.app_config); 87 | bw.Close(); 88 | } 89 | } 90 | 91 | private void rbUseNone_CheckedChanged(object sender, EventArgs e) 92 | { 93 | tbCodePage.Enabled = !rbUseNone.Checked; 94 | } 95 | 96 | private void btnCancel_Click(object sender, EventArgs e) 97 | { 98 | if (dumper != null) 99 | { 100 | var result = dumper.Cancel(); 101 | lbStatus.Text = result; 102 | btnStart.Enabled = true; 103 | btnCancel.Enabled = false; 104 | } 105 | } 106 | 107 | private void btnBootFilename_Click(object sender, EventArgs e) 108 | { 109 | openDialog.FileName = tbBootFilename.Text; 110 | openDialog.Filter = "*.exe|*.exe|*.*|*.*"; 111 | if (openDialog.ShowDialog() == DialogResult.OK) 112 | { 113 | tbBootFilename.Text = openDialog.FileName; 114 | if (string.IsNullOrEmpty(tbExcuteFilename.Text)) 115 | { 116 | tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName); 117 | } 118 | if (string.IsNullOrEmpty(tbSavePath.Text)) 119 | { 120 | tbSavePath.Text = FileUtils.CombinePath(FileUtils.GetDirectoryName(openDialog.FileName), "dump"); 121 | } 122 | } 123 | } 124 | 125 | private void btnExcuteFilename_Click(object sender, EventArgs e) 126 | { 127 | openDialog.FileName = tbBootFilename.Text; 128 | openDialog.Filter = "*.exe|*.exe|*.*|*.*"; 129 | if (openDialog.ShowDialog() == DialogResult.OK) 130 | { 131 | tbExcuteFilename.Text = FileUtils.GetFileName(openDialog.FileName); 132 | } 133 | } 134 | 135 | private void btnExtractFilename_Click(object sender, EventArgs e) 136 | { 137 | openDialog.FileName = tbBootFilename.Text; 138 | openDialog.Filter = "*.xp3|*.xp3|*.*|*.*"; 139 | if (openDialog.ShowDialog() == DialogResult.OK) 140 | { 141 | tbXp3Filename.Text = FileUtils.GetFileName(openDialog.FileName); 142 | } 143 | } 144 | 145 | private void btnSavePath_Click(object sender, EventArgs e) 146 | { 147 | folderDialog.SelectedPath = tbSavePath.Text; 148 | if (folderDialog.ShowDialog() == DialogResult.OK) 149 | { 150 | tbSavePath.Text = folderDialog.SelectedPath; 151 | } 152 | } 153 | 154 | private void buttonNTLEA_Click(object sender, EventArgs e) 155 | { 156 | openDialog.FileName = tbNTLEAPath.Text; 157 | openDialog.Filter = "ntleac.exe|ntleac.exe"; 158 | if (openDialog.ShowDialog() == DialogResult.OK) 159 | { 160 | tbNTLEAPath.Text = openDialog.FileName; 161 | } 162 | } 163 | 164 | private void tbNTLEAPath_TextChanged(object sender, EventArgs e) 165 | { 166 | SettingUtils.Change("NTLEAPath", tbNTLEAPath.Text); 167 | } 168 | } 169 | } -------------------------------------------------------------------------------- /xp3dumper_gui/GUI/MainForm.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | True 123 | 124 | 125 | 126 | 6, 25 127 | 128 | 129 | 287, 12 130 | 131 | 132 | 0 133 | 134 | 135 | 游戏启动exe文件(如破解用的boot文件,含路径): 136 | 137 | 138 | label1 139 | 140 | 141 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 142 | 143 | 144 | groupBox1 145 | 146 | 147 | 0 148 | 149 | 150 | True 151 | 152 | 153 | 6, 64 154 | 155 | 156 | 179, 12 157 | 158 | 159 | 1 160 | 161 | 162 | 游戏执行exe文件(不含路径): 163 | 164 | 165 | label2 166 | 167 | 168 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 169 | 170 | 171 | groupBox1 172 | 173 | 174 | 1 175 | 176 | 177 | 4, 40 178 | 179 | 180 | 219, 21 181 | 182 | 183 | 2 184 | 185 | 186 | tbBootFilename 187 | 188 | 189 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 190 | 191 | 192 | groupBox1 193 | 194 | 195 | 2 196 | 197 | 198 | 4, 79 199 | 200 | 201 | 219, 21 202 | 203 | 204 | 3 205 | 206 | 207 | tbExcuteFilename 208 | 209 | 210 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 211 | 212 | 213 | groupBox1 214 | 215 | 216 | 3 217 | 218 | 219 | 4, 118 220 | 221 | 222 | 219, 21 223 | 224 | 225 | 4 226 | 227 | 228 | tbXp3Filename 229 | 230 | 231 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 232 | 233 | 234 | groupBox1 235 | 236 | 237 | 4 238 | 239 | 240 | True 241 | 242 | 243 | 6, 103 244 | 245 | 246 | 299, 12 247 | 248 | 249 | 5 250 | 251 | 252 | 目标xp3文件(不含路径,多个包可用半角逗号分隔): 253 | 254 | 255 | label3 256 | 257 | 258 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 259 | 260 | 261 | groupBox1 262 | 263 | 264 | 5 265 | 266 | 267 | 364, 239 268 | 269 | 270 | 75, 23 271 | 272 | 273 | 6 274 | 275 | 276 | 提取 277 | 278 | 279 | btnStart 280 | 281 | 282 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 283 | 284 | 285 | $this 286 | 287 | 288 | 4 289 | 290 | 291 | True 292 | 293 | 294 | 6, 143 295 | 296 | 297 | 77, 12 298 | 299 | 300 | 7 301 | 302 | 303 | 保存文件夹: 304 | 305 | 306 | label4 307 | 308 | 309 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 310 | 311 | 312 | groupBox1 313 | 314 | 315 | 7 316 | 317 | 318 | 4, 160 319 | 320 | 321 | 219, 21 322 | 323 | 324 | 8 325 | 326 | 327 | tbSavePath 328 | 329 | 330 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 331 | 332 | 333 | groupBox1 334 | 335 | 336 | 9 337 | 338 | 339 | True 340 | 341 | 342 | 13, 20 343 | 344 | 345 | 89, 16 346 | 347 | 348 | 9 349 | 350 | 351 | 使用SoraApp 352 | 353 | 354 | rbUseSoraApp 355 | 356 | 357 | System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 358 | 359 | 360 | groupBox2 361 | 362 | 363 | 2 364 | 365 | 366 | True 367 | 368 | 369 | 13, 43 370 | 371 | 372 | 77, 16 373 | 374 | 375 | 10 376 | 377 | 378 | 使用NTLEA 379 | 380 | 381 | rbUseNTLEA 382 | 383 | 384 | System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 385 | 386 | 387 | groupBox2 388 | 389 | 390 | 3 391 | 392 | 393 | True 394 | 395 | 396 | 13, 93 397 | 398 | 399 | 59, 16 400 | 401 | 402 | 11 403 | 404 | 405 | 不使用 406 | 407 | 408 | rbUseNone 409 | 410 | 411 | System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 412 | 413 | 414 | groupBox2 415 | 416 | 417 | 7 418 | 419 | 420 | 230, 40 421 | 422 | 423 | 75, 23 424 | 425 | 426 | 12 427 | 428 | 429 | 浏览 430 | 431 | 432 | btnBootFilename 433 | 434 | 435 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 436 | 437 | 438 | groupBox1 439 | 440 | 441 | 11 442 | 443 | 444 | 230, 77 445 | 446 | 447 | 75, 23 448 | 449 | 450 | 12 451 | 452 | 453 | 浏览 454 | 455 | 456 | btnExcuteFilename 457 | 458 | 459 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 460 | 461 | 462 | groupBox1 463 | 464 | 465 | 10 466 | 467 | 468 | 230, 116 469 | 470 | 471 | 75, 23 472 | 473 | 474 | 12 475 | 476 | 477 | 浏览 478 | 479 | 480 | btnExtractFilename 481 | 482 | 483 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 484 | 485 | 486 | groupBox1 487 | 488 | 489 | 8 490 | 491 | 492 | 230, 158 493 | 494 | 495 | 75, 23 496 | 497 | 498 | 12 499 | 500 | 501 | 浏览 502 | 503 | 504 | btnSavePath 505 | 506 | 507 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 508 | 509 | 510 | groupBox1 511 | 512 | 513 | 6 514 | 515 | 516 | 14, 174 517 | 518 | 519 | 62, 21 520 | 521 | 522 | 13 523 | 524 | 525 | numDelay 526 | 527 | 528 | System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 529 | 530 | 531 | groupBox2 532 | 533 | 534 | 5 535 | 536 | 537 | True 538 | 539 | 540 | 12, 159 541 | 542 | 543 | 125, 12 544 | 545 | 546 | 14 547 | 548 | 549 | 载入插件延时(秒): 550 | 551 | 552 | label5 553 | 554 | 555 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 556 | 557 | 558 | groupBox2 559 | 560 | 561 | 6 562 | 563 | 564 | True 565 | 566 | 567 | 12, 116 568 | 569 | 570 | 53, 12 571 | 572 | 573 | 16 574 | 575 | 576 | 代码页: 577 | 578 | 579 | label6 580 | 581 | 582 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 583 | 584 | 585 | groupBox2 586 | 587 | 588 | 8 589 | 590 | 591 | False 592 | 593 | 594 | 13, 131 595 | 596 | 597 | 62, 21 598 | 599 | 600 | 17 601 | 602 | 603 | 0411 604 | 605 | 606 | tbCodePage 607 | 608 | 609 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 610 | 611 | 612 | groupBox2 613 | 614 | 615 | 4 616 | 617 | 618 | 12, 12 619 | 620 | 621 | 319, 205 622 | 623 | 624 | 18 625 | 626 | 627 | groupBox1 628 | 629 | 630 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 631 | 632 | 633 | $this 634 | 635 | 636 | 2 637 | 638 | 639 | 13, 66 640 | 641 | 642 | 155, 21 643 | 644 | 645 | 19 646 | 647 | 648 | tbNTLEAPath 649 | 650 | 651 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 652 | 653 | 654 | groupBox2 655 | 656 | 657 | 0 658 | 659 | 660 | 121, 40 661 | 662 | 663 | 47, 23 664 | 665 | 666 | 18 667 | 668 | 669 | 浏览 670 | 671 | 672 | buttonNTLEA 673 | 674 | 675 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 676 | 677 | 678 | groupBox2 679 | 680 | 681 | 1 682 | 683 | 684 | 351, 12 685 | 686 | 687 | 174, 205 688 | 689 | 690 | 19 691 | 692 | 693 | groupBox2 694 | 695 | 696 | System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 697 | 698 | 699 | $this 700 | 701 | 702 | 1 703 | 704 | 705 | 12, 232 706 | 707 | 708 | 317, 36 709 | 710 | 711 | 20 712 | 713 | 714 | 就绪 715 | 716 | 717 | lbStatus 718 | 719 | 720 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 721 | 722 | 723 | $this 724 | 725 | 726 | 0 727 | 728 | 729 | False 730 | 731 | 732 | 445, 239 733 | 734 | 735 | 75, 23 736 | 737 | 738 | 6 739 | 740 | 741 | 取消 742 | 743 | 744 | btnCancel 745 | 746 | 747 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 748 | 749 | 750 | $this 751 | 752 | 753 | 3 754 | 755 | 756 | True 757 | 758 | 759 | 6, 12 760 | 761 | 762 | True 763 | 764 | 765 | 537, 278 766 | 767 | 768 | 769 | CenterScreen 770 | 771 | 772 | XP3 Dumper GUI 773 | 774 | 775 | MainForm 776 | 777 | 778 | System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 779 | 780 | -------------------------------------------------------------------------------- /xp3dumper_gui/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | using Clowwindy.XP3Dumper.GUI; 5 | 6 | namespace xp3dumper_gui 7 | { 8 | internal static class Program 9 | { 10 | /// 11 | /// 应用程序的主入口点。 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new MainForm()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /xp3dumper_gui/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息通过下列属性集 6 | // 控制。更改这些属性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("xp3dumper_gui")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("clowwindy")] 12 | [assembly: AssemblyProduct("xp3dumper_gui")] 13 | [assembly: AssemblyCopyright("Copyright © 2010")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型, 19 | // 则将该类型上的 ComVisible 属性设置为 true。 20 | [assembly: ComVisible(true)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("2771d9e3-2059-4d9d-bbdc-d93580e3533a")] 24 | 25 | // 程序集的版本信息由下面四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订号 31 | // 32 | // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.3.*")] 36 | //[assembly: AssemblyFileVersion("0.1.*.*")] -------------------------------------------------------------------------------- /xp3dumper_gui/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.1 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Clowwindy.XP3Dumper.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// 返回此类使用的缓存的 ResourceManager 实例。 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Clowwindy.XP3Dumper.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// 使用此强类型资源类,为所有资源查找 51 | /// 重写当前线程的 CurrentUICulture 属性。 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// 查找类似 <?xml version="1.0" encoding="utf-8" ?> 65 | ///<configuration> 66 | /// <configSections> 67 | /// <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 68 | /// <section name="Clowwindy.XP3Dumper.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 69 | /// </sectionGroup> 70 | /// [字符串的其余部分被截断]"; 的本地化字符串。 71 | /// 72 | internal static string app_config { 73 | get { 74 | return ResourceManager.GetString("app_config", resourceCulture); 75 | } 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /xp3dumper_gui/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 122 | ..\app.config;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 123 | 124 | -------------------------------------------------------------------------------- /xp3dumper_gui/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.1 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Clowwindy.XP3Dumper.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | 26 | [global::System.Configuration.ApplicationScopedSettingAttribute()] 27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 28 | [global::System.Configuration.DefaultSettingValueAttribute("C:\\Program Files\\NTLEA\\ntleac.exe")] 29 | public string NTLEAPath { 30 | get { 31 | return ((string)(this["NTLEAPath"])); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /xp3dumper_gui/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | C:\Program Files\NTLEA\ntleac.exe 7 | 8 | 9 | -------------------------------------------------------------------------------- /xp3dumper_gui/Properties/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /xp3dumper_gui/Readme.txt: -------------------------------------------------------------------------------- 1 | XP3 Dumper GUI 2 | 本程序是对Resty做的xp3dumper等一系列xp3提取工具的GUI封装,提供简单的GUI调用功能。这些工具在xp3dumper目录中。 3 | 4 | Ver 0.3 新增功能说明: 5 | NTLEA 支持: 6 | 使用 NTLEA 支持之前请选定 ntleac.exe 位置并确认其正确性。 7 | 同时提取多个封包: 8 | 请在封包名之间以『半角逗号』分隔,例如 "data.xp3,bgm.xp3"(不带引号)。 9 | 10 | amemiya 11 | 2011-1-31 12 | 13 | 使用说明: 14 | 1.选择游戏启动exe和执行exe,它们的区别在于前者可能只是一个引导用的破解补丁(如sinsemilla_boot.exe),后者才会是游戏运行时的进程(如sinsemilla.exe)。如果没有这样的引导程序,它们就是同一个exe文件。 15 | 2.选择要解包的xp3文件和保存路径。 16 | 3.如果游戏需要转区才能运行,选择SoraApp可以调用SoraApp(今后版本会支持NTLEA)转区运行游戏,前提是你安装了SoraApp或NTLEA。 17 | 4.点击“提取”,稍等几秒,就会开始提取。如果没有开始提取,请点击取消,再按照5操作。 18 | 5.如果发现没有开始提取,这是因为游戏启动花的时间较长,请将载入插件延时调大一些再尝试。 19 | 20 | 已在中文win xp上测试『黄昏のシンセミア』和『G線上の魔王』的解包。 21 | 22 | clowwindy 23 | 2010-9-24 24 | 25 | BUG反馈: 26 | http://bbs.sumisora.org/read.php?tid=10975710 27 | 28 | History: 29 | 0.3 新增 NTLEA 支持,支持同时提取多个封包 30 | 0.2 在xp3dumper0.12d的基础上,实现判断提取结束功能 31 | 0.1 第一个公开版本 32 | -------------------------------------------------------------------------------- /xp3dumper_gui/Resources/Resource.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.1 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Clowwindy.XP3Dumper.Resources { 12 | using System; 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resource { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resource() { 33 | } 34 | 35 | /// 36 | /// 返回此类使用的缓存的 ResourceManager 实例。 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Clowwindy.XP3Dumper.Resources.Resource", typeof(Resource).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// 使用此强类型资源类,为所有资源查找 51 | /// 重写当前线程的 CurrentUICulture 属性。 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// 查找类似 已取消。 的本地化字符串。 65 | /// 66 | internal static string Canceled { 67 | get { 68 | return ResourceManager.GetString("Canceled", resourceCulture); 69 | } 70 | } 71 | 72 | /// 73 | /// 查找类似 提取完成。 的本地化字符串。 74 | /// 75 | internal static string Finished { 76 | get { 77 | return ResourceManager.GetString("Finished", resourceCulture); 78 | } 79 | } 80 | 81 | /// 82 | /// 查找类似 未找到相应启动载入工具。 的本地化字符串。 83 | /// 84 | internal static string LoaderNotFound { 85 | get { 86 | return ResourceManager.GetString("LoaderNotFound", resourceCulture); 87 | } 88 | } 89 | 90 | /// 91 | /// 查找类似 请检查日志文件。 的本地化字符串。 92 | /// 93 | internal static string SeeLog { 94 | get { 95 | return ResourceManager.GetString("SeeLog", resourceCulture); 96 | } 97 | } 98 | 99 | /// 100 | /// 查找类似 正在提取中,请稍候。 的本地化字符串。 101 | /// 102 | internal static string Started { 103 | get { 104 | return ResourceManager.GetString("Started", resourceCulture); 105 | } 106 | } 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /xp3dumper_gui/Resources/Resource.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 已取消。 122 | 123 | 124 | 提取完成。 125 | 126 | 127 | 未找到相应启动载入工具。 128 | 129 | 130 | 请检查日志文件。 131 | 132 | 133 | 正在提取中,请稍候。 134 | 135 | -------------------------------------------------------------------------------- /xp3dumper_gui/Utils/FileUtils.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Text; 3 | 4 | namespace Clowwindy.XP3Dumper.Utils 5 | { 6 | internal static class FileUtils 7 | { 8 | internal static bool ExistFile(string filename) 9 | { 10 | return File.Exists(filename); 11 | } 12 | 13 | internal static void MakeDir(string dir) 14 | { 15 | if (!Directory.Exists(dir)) 16 | { 17 | Directory.CreateDirectory(dir); 18 | } 19 | } 20 | 21 | internal static void Copy(string sourceFilename, string destFilename) 22 | { 23 | File.Copy(sourceFilename, destFilename, true); 24 | } 25 | 26 | internal static void Delete(string filename) 27 | { 28 | if (File.Exists(filename)) 29 | { 30 | File.Delete(filename); 31 | } 32 | } 33 | 34 | internal static string GetDirectoryName(string filename) 35 | { 36 | return new FileInfo(filename).DirectoryName; 37 | } 38 | 39 | internal static string GetFileName(string filename) 40 | { 41 | return new FileInfo(filename).Name; 42 | } 43 | 44 | internal static string CombinePath(string path1, string path2) 45 | { 46 | return Path.Combine(path1, path2); 47 | } 48 | 49 | internal static string ReadTextFile(string filename) 50 | { 51 | using (var f = File.OpenText(filename)) 52 | { 53 | return f.ReadToEnd(); 54 | } 55 | } 56 | 57 | internal static void WriteTextFile(string filename, string content) 58 | { 59 | File.WriteAllText(filename, content, Encoding.Default); 60 | } 61 | 62 | internal static string GetWinDir() 63 | { 64 | return System.Environment.ExpandEnvironmentVariables("%WinDir%"); 65 | } 66 | 67 | internal static void WriteText(FileStream f, string content) 68 | { 69 | var l = Encoding.UTF8.GetBytes(content); 70 | f.Write(l, 0, l.Length); 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /xp3dumper_gui/Utils/LogUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.IO; 5 | 6 | namespace Clowwindy.XP3Dumper.Utils 7 | { 8 | internal static class LogUtils 9 | { 10 | private const string LOG_FILENAME = @"xp3dumper_gui.log"; 11 | 12 | internal static void Log(string content) 13 | { 14 | using (var f = File.Open(LOG_FILENAME, FileMode.Append, FileAccess.Write)) 15 | { 16 | FileUtils.WriteText(f, DateTime.Now.ToString() + "\r\n"); 17 | FileUtils.WriteText(f, content + "\r\n\r\n"); 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /xp3dumper_gui/Utils/ProcessUtils.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | using System.IO; 3 | using System.Threading; 4 | using System; 5 | using System.Windows.Forms; 6 | using System.Runtime.InteropServices; 7 | 8 | namespace Clowwindy.XP3Dumper.Utils 9 | { 10 | internal static class ProcessUtils 11 | { 12 | 13 | internal static readonly int BM_CLICK = 0x00F5; 14 | internal static readonly int WM_SETTEXT = 0x000C; 15 | internal static readonly int WM_GETTEXT = 0x000D; 16 | 17 | [DllImport("user32.dll")] 18 | internal static extern IntPtr FindWindow(string lpClassName, string lpWindowName); 19 | 20 | [DllImport("user32.dll")] 21 | internal static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow); 22 | 23 | [DllImport("user32.dll", CharSet = CharSet.Unicode)] 24 | internal static extern IntPtr PostMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam); 25 | 26 | [DllImport("User32.dll", CharSet = CharSet.Auto)] 27 | internal static extern bool SetWindowText(IntPtr hwnd, string lpString); 28 | 29 | [DllImport("user32.dll")] 30 | public static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam); 31 | 32 | [DllImport("user32.dll", EntryPoint = "SendMessage")] 33 | private static extern int SendMessageAsText(IntPtr hWnd, int wMsg, int wParam, [MarshalAs(UnmanagedType.LPStr)] string lParam); 34 | 35 | 36 | internal static IntPtr PostMessage(IntPtr targetHWnd, int msg) 37 | { 38 | Message message = Message.Create(targetHWnd, msg, new IntPtr(0), new IntPtr(0)); 39 | return PostMessage(message.HWnd, message.Msg, message.WParam, message.LParam); 40 | } 41 | 42 | internal static int SetText(IntPtr hwnd, string text) 43 | { 44 | return SendMessageAsText(hwnd, WM_SETTEXT, 0, text); 45 | } 46 | 47 | internal static Process StartProcess(string filename, string arguments) 48 | { 49 | ProcessStartInfo startInfo = new ProcessStartInfo(filename, arguments); 50 | var fi = new FileInfo(filename); 51 | startInfo.WorkingDirectory = fi.DirectoryName; 52 | startInfo.FileName = fi.FullName; 53 | return Process.Start(startInfo); 54 | } 55 | 56 | internal static bool ExistsProcess(string imageName) 57 | { 58 | return Process.GetProcessesByName(imageName.Split('.')[0]).Length > 0; 59 | } 60 | 61 | internal static Process GetProcess(string imageName) 62 | { 63 | var ps = Process.GetProcessesByName(imageName.Split('.')[0]); 64 | if (ps.Length > 0) 65 | { 66 | return ps[0]; 67 | } 68 | return null; 69 | } 70 | 71 | internal static void Kill(string imageName) 72 | { 73 | var ps = Process.GetProcessesByName(imageName.Split('.')[0]); 74 | foreach (var p in ps) 75 | { 76 | p.Kill(); 77 | } 78 | } 79 | 80 | internal static void Sleep(int interval) 81 | { 82 | Thread.Sleep(interval); 83 | } 84 | 85 | internal static void DoEvents() 86 | { 87 | System.Windows.Forms.Application.DoEvents(); 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /xp3dumper_gui/Utils/SettingUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Clowwindy.XP3Dumper.Utils 6 | { 7 | internal class SettingUtils 8 | { 9 | /// 10 | /// 改变某一设置的值并保存 11 | /// 12 | /// 名 13 | /// 新值 14 | internal static void Change(string name, string value) 15 | { 16 | string configFileName = System.Windows.Forms.Application.ExecutablePath + ".config"; 17 | System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); 18 | doc.Load(configFileName); 19 | string configString = @"configuration/applicationSettings/Clowwindy.XP3Dumper.Properties.Settings/setting[@name='" + name + "']/value"; 20 | System.Xml.XmlNode configNode = doc.SelectSingleNode(configString); 21 | if (configNode != null) 22 | { 23 | configNode.InnerText = value; 24 | doc.Save(configFileName); 25 | // 刷新应用程序设置 26 | Properties.Settings.Default.Reload(); 27 | } 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /xp3dumper_gui/Utils/Win32APIUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Runtime.InteropServices; 5 | using System.Text; 6 | 7 | namespace Clowwindy.XP3Dumper.Utils 8 | { 9 | internal static class Win32APIUtils 10 | { 11 | static Dictionary dictNameToCodePage = new Dictionary() 12 | { 13 | {"擔杮岅",932},//Japanese 14 | {"いゅ(羉砰)",950},//Trad. Chs. 15 | {"English",1252},//English 16 | {"中文(简体)",936},//Simp. Chs. 17 | }; 18 | 19 | /// 20 | /// GetLocaleInfo API 21 | /// 22 | /// LCID 23 | /// LCTYPE 24 | /// CodePageString 25 | /// SizeOf(CodePageString) 26 | /// 27 | [DllImport("kernel32.dll")] 28 | private static extern int GetLocaleInfo(int d, int s, StringBuilder k, int dd); 29 | 30 | /// 31 | /// Get Codepage id form LCID 32 | /// 33 | /// LCID 34 | /// Codepage 35 | internal static int GetLocaleCP(int lcid) 36 | { 37 | StringBuilder S = new StringBuilder(255); 38 | int LCTYPE = 4; 39 | 40 | int d = GetLocaleInfo(lcid, LCTYPE, S, 255); 41 | 42 | int ret = 932; 43 | try 44 | { 45 | ret = dictNameToCodePage[S.ToString()]; 46 | } 47 | catch (Exception) { } 48 | 49 | return ret; 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /xp3dumper_gui/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | C:\Program Files\NTLEA\ntleac.exe 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.GUI.MainForm.resources -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Properties.Resources.resources -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/Clowwindy.XP3Dumper.Resources.Resource.resources -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/TempPE/Resources.Resource.Designer.cs.dll -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.TrustInfo.xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 6vRejhvJg8MKhzTNL7PcG1ZD7dQ= 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\Readme.txt 2 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\DllLoader.exe 3 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\dumperHelper.txt 4 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\pic_path.txt 5 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\readme.txt 6 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\history.txt 7 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\xp3dumper.txt 8 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\history.txt 9 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3enc.dll 10 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3maker.txt 11 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!dumpHelper.tpm 12 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!exporteraddr.tpm 13 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\xp3dumper.helper.dat 14 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~layerExSave.tpm 15 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~~fpng.tpm 16 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm 17 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\~xp3maker.tpm 18 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe.manifest 19 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.application 20 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe 21 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.pdb 22 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\ResolveAssemblyReference.cache 23 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.GUI.MainForm.resources 24 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Properties.Resources.resources 25 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Resources.Resource.resources 26 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.csproj.GenerateResource.Cache 27 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.TrustInfo.xml 28 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe.manifest 29 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.application 30 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe 31 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.pdb 32 | D:\Desktop\xp3dumper_gui - 副本\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe.config 33 | D:\Desktop\xp3dumper_gui - 副本\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe 34 | D:\Desktop\xp3dumper_gui - 副本\xp3dumper_gui\obj\Debug\xp3dumper_gui.pdb 35 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe.config 36 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe 37 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.pdb 38 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\Readme.txt 39 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\DllLoader.exe 40 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\dumperHelper.txt 41 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\pic_path.txt 42 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\readme.txt 43 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\history.txt 44 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\xp3dumper.txt 45 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\history.txt 46 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3enc.dll 47 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\xp3maker.txt 48 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!dumpHelper.tpm 49 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\!exporteraddr.tpm 50 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\xp3dumper.helper.dat 51 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~layerExSave.tpm 52 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\helpers\~~fpng.tpm 53 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm 54 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper\xp3maker\~xp3maker.tpm 55 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe.manifest 56 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.application 57 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.exe 58 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\bin\Debug\xp3dumper_gui.pdb 59 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\ResolveAssemblyReference.cache 60 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.GUI.MainForm.resources 61 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Properties.Resources.resources 62 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\Clowwindy.XP3Dumper.Resources.Resource.resources 63 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\ResGen.read.1.tlog 64 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\ResGen.write.1.tlog 65 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.TrustInfo.xml 66 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.exe.manifest 67 | D:\Documents\Visual Studio 2010\Projects\xp3dumper_gui\xp3dumper_gui\obj\Debug\xp3dumper_gui.application 68 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/xp3dumper_gui.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/xp3dumper_gui.exe -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Gfdw5td+MOIJ7IcIZ601H2XhJaU= 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | EjhUtXDHn27Uvl+JcF3HKUjatug= 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | Hg6KJQ4+DyFQpIc2kVyzSISbu70= 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | Es11uQGUH6BA3BwHFRTvEPmYTwM= 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | KQH3YnnZgF/QgxwtrkTxhUbEOzE= 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 7VVglum3qEfSmWMZinDjSyVXlU0= 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | eI/M7uOpAJw3/9mS4ITpG5nxK9Y= 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | mfienJTiUVouNe7yAMi+y5hi+w0= 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | btNPy9oIpHWife/DOxIZdNfPmh4= 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | w2/w2+jqcKWuOA3c62UA2zFtyTI= 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | wdcmE/F/hgEJvc/KaQucqTy9tg0= 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 70C/zLZlejquvg9aKZjsf/c6gDQ= 152 | 153 | 154 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Debug/xp3dumper_gui.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Debug/xp3dumper_gui.pdb -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/Clowwindy.XP3Dumper.GUI.MainForm.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/Clowwindy.XP3Dumper.GUI.MainForm.resources -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/Clowwindy.XP3Dumper.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/Clowwindy.XP3Dumper.Properties.Resources.resources -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/Clowwindy.XP3Dumper.Resources.Resource.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/Clowwindy.XP3Dumper.Resources.Resource.resources -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/TempPE/Resources.Resource.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/TempPE/Resources.Resource.Designer.cs.dll -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.TrustInfo.xml: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.application: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Kxxg1eTgQKfrMJ2DaN1KoLP3DM0= 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\Readme.txt 2 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\DllLoader.exe 3 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\dumperHelper.txt 4 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\pic_path.txt 5 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\readme.txt 6 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\history.txt 7 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\xp3dumper.txt 8 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\history.txt 9 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\xp3enc.dll 10 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\xp3maker.txt 11 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\!dumpHelper.tpm 12 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\!exporteraddr.tpm 13 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\xp3dumper.helper.dat 14 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\~layerExSave.tpm 15 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\helpers\~~fpng.tpm 16 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3dumper\~xp3dumper0.12d.tpm 17 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper\xp3maker\~xp3maker.tpm 18 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.exe.manifest 19 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.application 20 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.exe 21 | C:\workspace\xp3dumper_gui\xp3dumper_gui\bin\Release\xp3dumper_gui.pdb 22 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\ResolveAssemblyReference.cache 23 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.GUI.MainForm.resources 24 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.Properties.Resources.resources 25 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\Clowwindy.XP3Dumper.Resources.Resource.resources 26 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.csproj.GenerateResource.Cache 27 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.TrustInfo.xml 28 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.exe.manifest 29 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.application 30 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.exe 31 | C:\workspace\xp3dumper_gui\xp3dumper_gui\obj\Release\xp3dumper_gui.pdb 32 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/xp3dumper_gui.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/xp3dumper_gui.exe -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.exe.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 5p8fRlX/1eeIoZ0BCqORnprpz2w= 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | P7nE7DX2zHoIfKjq/b+YY7M3BbM= 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | Hg6KJQ4+DyFQpIc2kVyzSISbu70= 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | Es11uQGUH6BA3BwHFRTvEPmYTwM= 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | KQH3YnnZgF/QgxwtrkTxhUbEOzE= 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 7VVglum3qEfSmWMZinDjSyVXlU0= 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | eI/M7uOpAJw3/9mS4ITpG5nxK9Y= 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | mfienJTiUVouNe7yAMi+y5hi+w0= 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | btNPy9oIpHWife/DOxIZdNfPmh4= 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | w2/w2+jqcKWuOA3c62UA2zFtyTI= 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | wdcmE/F/hgEJvc/KaQucqTy9tg0= 143 | 144 | 145 | -------------------------------------------------------------------------------- /xp3dumper_gui/obj/Release/xp3dumper_gui.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/obj/Release/xp3dumper_gui.pdb -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/!dumpHelper.tpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/helpers/!dumpHelper.tpm -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/!exporteraddr.tpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/helpers/!exporteraddr.tpm -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/DllLoader.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/helpers/DllLoader.exe -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/dumperHelper.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/helpers/dumperHelper.txt -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/pic_path.txt: -------------------------------------------------------------------------------- 1 | F:\Shallot\hwr\dumped\bgimage.xp3 2 | bgimage.xp3 3 | -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/xp3dumper.helper.dat: -------------------------------------------------------------------------------- 1 | -3 -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/~layerExSave.tpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/helpers/~layerExSave.tpm -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/helpers/~~fpng.tpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/helpers/~~fpng.tpm -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/readme.txt -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3dumper/history.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3dumper/history.txt -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3dumper/xp3dumper.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3dumper/xp3dumper.txt -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3dumper/~xp3dumper0.12d.tpm -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3maker/history.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3maker/history.txt -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3maker/xp3enc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3maker/xp3enc.dll -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3maker/xp3maker.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3maker/xp3maker.txt -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper/xp3maker/~xp3maker.tpm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/galaxy001/xp3dumpergui/722b13b5382c2c7205231720f37c044aa4b584f4/xp3dumper_gui/xp3dumper/xp3maker/~xp3maker.tpm -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper_gui.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 9.0.21022 7 | 2.0 8 | {D852A983-B0FE-4B6E-8664-316BC13A8B16} 9 | WinExe 10 | Properties 11 | Clowwindy.XP3Dumper 12 | xp3dumper_gui 13 | v2.0 14 | 512 15 | false 16 | 17 | 18 | false 19 | CE6FA94365BE2EA26AF3F1A222C0D3BEA1A4063B 20 | clowwindy.pfx 21 | LocalIntranet 22 | true 23 | Properties\app.manifest 24 | false 25 | 26 | 27 | 28 | 29 | 3.5 30 | publish\ 31 | true 32 | Disk 33 | false 34 | Foreground 35 | 7 36 | Days 37 | false 38 | false 39 | true 40 | 1 41 | 1.0.0.%2a 42 | false 43 | true 44 | 45 | 46 | true 47 | full 48 | false 49 | bin\Debug\ 50 | DEBUG;TRACE 51 | prompt 52 | 4 53 | AllRules.ruleset 54 | 55 | 56 | pdbonly 57 | true 58 | bin\Release\ 59 | TRACE 60 | prompt 61 | 4 62 | AllRules.ruleset 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | Form 76 | 77 | 78 | MainForm.cs 79 | 80 | 81 | 82 | 83 | 84 | 85 | MainForm.cs 86 | Designer 87 | 88 | 89 | ResXFileCodeGenerator 90 | Resources.Designer.cs 91 | Designer 92 | 93 | 94 | ResXFileCodeGenerator 95 | Resource.Designer.cs 96 | Designer 97 | 98 | 99 | True 100 | Resources.resx 101 | True 102 | 103 | 104 | 105 | 106 | SettingsSingleFileGenerator 107 | Settings.Designer.cs 108 | 109 | 110 | PreserveNewest 111 | 112 | 113 | PreserveNewest 114 | 115 | 116 | PreserveNewest 117 | 118 | 119 | PreserveNewest 120 | 121 | 122 | PreserveNewest 123 | 124 | 125 | PreserveNewest 126 | 127 | 128 | PreserveNewest 129 | 130 | 131 | True 132 | Settings.settings 133 | True 134 | 135 | 136 | True 137 | True 138 | Resource.resx 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | False 147 | .NET Framework 3.5 SP1 Client Profile 148 | false 149 | 150 | 151 | False 152 | .NET Framework 2.0 %28x86%29 153 | true 154 | 155 | 156 | False 157 | .NET Framework 3.0 %28x86%29 158 | false 159 | 160 | 161 | False 162 | .NET Framework 3.5 163 | false 164 | 165 | 166 | False 167 | .NET Framework 3.5 SP1 168 | false 169 | 170 | 171 | 172 | 173 | PreserveNewest 174 | 175 | 176 | PreserveNewest 177 | 178 | 179 | PreserveNewest 180 | 181 | 182 | PreserveNewest 183 | 184 | 185 | PreserveNewest 186 | 187 | 188 | PreserveNewest 189 | 190 | 191 | PreserveNewest 192 | 193 | 194 | PreserveNewest 195 | 196 | 197 | PreserveNewest 198 | 199 | 200 | PreserveNewest 201 | 202 | 203 | 204 | 211 | -------------------------------------------------------------------------------- /xp3dumper_gui/xp3dumper_gui.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | publish\ 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | zh-CN 14 | false 15 | 16 | 17 | --------------------------------------------------------------------------------