├── 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 |
--------------------------------------------------------------------------------