├── LICENSE
├── PhacoxsInjector.sln
├── PhacoxsInjector
├── BootImage.cs
├── CllAssemblyVersion.exe
├── GBAInjector.cs
├── HelpString.Designer.cs
├── HelpString.es.Designer.cs
├── HelpString.es.resx
├── HelpString.resx
├── Icon.ico
├── JSON.dll
├── Log.cs
├── MenuIconImage.cs
├── N64Injector.cs
├── NDSInjector.cs
├── NESInjector.cs
├── NusContent.cs
├── PhacoxsInjector.csproj
├── PhacoxsInjectorCMD.cs
├── PhacoxsInjectorGUI.Designer.cs
├── PhacoxsInjectorGUI.cs
├── PhacoxsInjectorGUI.es.resx
├── PhacoxsInjectorGUI.resx
├── Program.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── RPX.cs
├── RPXNES.cs
├── RPXSNES.cs
├── Resources
│ ├── checkmark-16.png
│ ├── fc.png
│ ├── gba.png
│ ├── n64.png
│ ├── nds.png
│ ├── nes.png
│ ├── question.png
│ ├── sfc.png
│ ├── snes.png
│ ├── snes_pal.png
│ └── x-mark-16.png
├── RomFile.cs
├── RomGBA.cs
├── RomN64.cs
├── RomNDS.cs
├── RomNES.cs
├── RomSNES.cs
├── SNESInjector.cs
├── Security.cs
├── Useful.cs
├── VCGBA.cs
├── VCN64.cs
├── VCN64ConfigFile.cs
├── VCNDS.cs
├── VCNES.cs
├── VCSNES.cs
├── WiiUInjector.cs
├── WiiUVC.cs
├── app.config
├── cll.pfx
└── obj
│ ├── Beta
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── build.force
│ ├── Debug
│ ├── .NETFramework,Version=v4.6.AssemblyAttributes.cs
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacosInjector.HelpString.resources
│ ├── PhacosInjector.Properties.Resources.resources
│ ├── PhacosInjector.csproj.FileListAbsolute.txt
│ ├── PhacosInjector.csproj.GenerateResource.cache
│ ├── PhacosInjector.csprojAssemblyReference.cache
│ ├── PhacosInjector.exe
│ ├── PhacosInjector.pdb
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.CopyComplete
│ ├── PhacoxsInjector.csproj.CoreCompileInputs.cache
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── PhacoxsInjector.exe
│ ├── PhacoxsInjector.pdb
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── es
│ │ └── PhacoxsInjector.resources.dll
│ ├── Minor release
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── build.force
│ ├── Release
│ ├── .NETFramework,Version=v4.6.AssemblyAttributes.cs
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── build.force
│ ├── Revision release
│ ├── .NETFramework,Version=v4.6.AssemblyAttributes.cs
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.CopyComplete
│ ├── PhacoxsInjector.csproj.CoreCompileInputs.cache
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── PhacoxsInjector.exe
│ ├── PhacoxsInjector.pdb
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── es
│ │ └── PhacoxsInjector.resources.dll
│ ├── x64
│ ├── Beta
│ │ └── TempPE
│ │ │ ├── HelpString.Designer.cs.dll
│ │ │ └── Properties.Resources.Designer.cs.dll
│ ├── Debug
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── PhacoxsInjector.HelpString.es.resources
│ │ ├── PhacoxsInjector.HelpString.resources
│ │ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ │ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ │ ├── PhacoxsInjector.Properties.Resources.resources
│ │ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ │ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ │ ├── TempPE
│ │ │ ├── HelpString.Designer.cs.dll
│ │ │ └── Properties.Resources.Designer.cs.dll
│ │ └── build.force
│ ├── Minor release
│ │ └── TempPE
│ │ │ ├── HelpString.Designer.cs.dll
│ │ │ └── Properties.Resources.Designer.cs.dll
│ ├── Release
│ │ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ │ ├── TempPE
│ │ │ ├── HelpString.Designer.cs.dll
│ │ │ ├── HelpString.es.Designer.cs.dll
│ │ │ └── Properties.Resources.Designer.cs.dll
│ │ └── build.force
│ └── Revision release
│ │ ├── .NETFramework,Version=v4.6.AssemblyAttributes.cs
│ │ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ │ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ │ └── build.force
│ └── x86
│ ├── Beta
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── build.force
│ ├── Debug
│ ├── .NETFramework,Version=v4.6.AssemblyAttributes.cs
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.CopyComplete
│ ├── PhacoxsInjector.csproj.CoreCompileInputs.cache
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── PhacoxsInjector.exe
│ ├── PhacoxsInjector.pdb
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ ├── build.force
│ └── es
│ │ └── PhacoxsInjector.resources.dll
│ ├── Minor release
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.CopyComplete
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── PhacoxsInjector.exe
│ ├── PhacoxsInjector.pdb
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ ├── build.force
│ └── es
│ │ └── PhacoxsInjector.resources.dll
│ ├── Release
│ ├── .NETFramework,Version=v4.6.AssemblyAttributes.cs
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── PhacoxsInjector.HelpString.es.resources
│ ├── PhacoxsInjector.HelpString.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.es.resources
│ ├── PhacoxsInjector.PhacoxsInjectorGUI.resources
│ ├── PhacoxsInjector.Properties.Resources.resources
│ ├── PhacoxsInjector.csproj.CopyComplete
│ ├── PhacoxsInjector.csproj.CoreCompileInputs.cache
│ ├── PhacoxsInjector.csproj.FileListAbsolute.txt
│ ├── PhacoxsInjector.csproj.GenerateResource.cache
│ ├── PhacoxsInjector.csprojAssemblyReference.cache
│ ├── PhacoxsInjector.exe
│ ├── PhacoxsInjector.pdb
│ ├── TempPE
│ │ ├── HelpString.Designer.cs.dll
│ │ ├── HelpString.es.Designer.cs.dll
│ │ └── Properties.Resources.Designer.cs.dll
│ └── es
│ │ └── PhacoxsInjector.resources.dll
│ └── Revision release
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ └── TempPE
│ ├── HelpString.Designer.cs.dll
│ └── Properties.Resources.Designer.cs.dll
└── README.md
/PhacoxsInjector.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29230.47
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhacoxsInjector", "PhacoxsInjector\PhacoxsInjector.csproj", "{BED11D3F-4826-466D-B226-4F6BC26A403F}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VCN64Config", "..\VCN64Config\VCN64Config\VCN64Config.csproj", "{0D3458E2-05E8-4220-A698-65D0DBE38475}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Beta|Any CPU = Beta|Any CPU
13 | Beta|x64 = Beta|x64
14 | Beta|x86 = Beta|x86
15 | Debug|Any CPU = Debug|Any CPU
16 | Debug|x64 = Debug|x64
17 | Debug|x86 = Debug|x86
18 | Minor release|Any CPU = Minor release|Any CPU
19 | Minor release|x64 = Minor release|x64
20 | Minor release|x86 = Minor release|x86
21 | Release|Any CPU = Release|Any CPU
22 | Release|x64 = Release|x64
23 | Release|x86 = Release|x86
24 | Revision release|Any CPU = Revision release|Any CPU
25 | Revision release|x64 = Revision release|x64
26 | Revision release|x86 = Revision release|x86
27 | EndGlobalSection
28 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
29 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Beta|Any CPU.ActiveCfg = Beta|Any CPU
30 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Beta|Any CPU.Build.0 = Beta|Any CPU
31 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Beta|x64.ActiveCfg = Beta|x64
32 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Beta|x64.Build.0 = Beta|x64
33 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Beta|x86.ActiveCfg = Beta|x86
34 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Beta|x86.Build.0 = Beta|x86
35 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
36 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Debug|Any CPU.Build.0 = Debug|Any CPU
37 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Debug|x64.ActiveCfg = Debug|x64
38 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Debug|x64.Build.0 = Debug|x64
39 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Debug|x86.ActiveCfg = Debug|x86
40 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Debug|x86.Build.0 = Debug|x86
41 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Minor release|Any CPU.ActiveCfg = Minor release|Any CPU
42 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Minor release|Any CPU.Build.0 = Minor release|Any CPU
43 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Minor release|x64.ActiveCfg = Minor release|x64
44 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Minor release|x64.Build.0 = Minor release|x64
45 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Minor release|x86.ActiveCfg = Minor release|x86
46 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Minor release|x86.Build.0 = Minor release|x86
47 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Release|Any CPU.ActiveCfg = Release|Any CPU
48 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Release|Any CPU.Build.0 = Release|Any CPU
49 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Release|x64.ActiveCfg = Release|x64
50 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Release|x64.Build.0 = Release|x64
51 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Release|x86.ActiveCfg = Release|x86
52 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Release|x86.Build.0 = Release|x86
53 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Revision release|Any CPU.ActiveCfg = Revision release|Any CPU
54 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Revision release|Any CPU.Build.0 = Revision release|Any CPU
55 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Revision release|x64.ActiveCfg = Revision release|x64
56 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Revision release|x64.Build.0 = Revision release|x64
57 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Revision release|x86.ActiveCfg = Debug|x86
58 | {BED11D3F-4826-466D-B226-4F6BC26A403F}.Revision release|x86.Build.0 = Debug|x86
59 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|Any CPU.ActiveCfg = Beta|Any CPU
60 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|x64.ActiveCfg = Beta|x64
61 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Beta|x86.ActiveCfg = Beta|x86
62 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
63 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|x64.ActiveCfg = Debug|x64
64 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Debug|x86.ActiveCfg = Debug|x86
65 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|Any CPU.ActiveCfg = Minor release|Any CPU
66 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|x64.ActiveCfg = Minor release|x64
67 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Minor release|x86.ActiveCfg = Minor release|x86
68 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|Any CPU.ActiveCfg = Release|Any CPU
69 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x64.ActiveCfg = Release|x64
70 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x86.ActiveCfg = Release|x86
71 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Release|x86.Build.0 = Release|x86
72 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|Any CPU.ActiveCfg = Revision release|Any CPU
73 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|Any CPU.Build.0 = Revision release|Any CPU
74 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|x64.ActiveCfg = Revision release|x64
75 | {0D3458E2-05E8-4220-A698-65D0DBE38475}.Revision release|x86.ActiveCfg = Revision release|x86
76 | EndGlobalSection
77 | GlobalSection(SolutionProperties) = preSolution
78 | HideSolutionNode = FALSE
79 | EndGlobalSection
80 | GlobalSection(ExtensibilityGlobals) = postSolution
81 | SolutionGuid = {75FF2BDF-6D53-4C1F-A966-B7DB0D9EE809}
82 | EndGlobalSection
83 | EndGlobal
84 |
--------------------------------------------------------------------------------
/PhacoxsInjector/CllAssemblyVersion.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/CllAssemblyVersion.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/GBAInjector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.Drawing;
4 | using System.IO;
5 |
6 | namespace PhacoxsInjector
7 | {
8 | public class GBAInjector : WiiUInjector
9 | {
10 | public override string TitleId
11 | {
12 | get
13 | {
14 | if (BaseIsLoaded && RomIsValid)
15 | return "000500026A" + Rom.HashCRC16.ToString("X4") + Base.Index.ToString("X2");
16 | else
17 | return "";
18 | }
19 | }
20 |
21 | public GBAInjector()
22 | : base()
23 | {
24 | BasePath = Environment.CurrentDirectory + "\\base_gba";
25 | Base = GetLoadedBase();
26 | }
27 |
28 | public override void SetRom(string romPath)
29 | {
30 | RomPath = romPath;
31 | Rom = new RomGBA(romPath);
32 | }
33 |
34 | public override void Inject(bool encrypt, string outputPath, string shortName, string longName,
35 | Bitmap menuIconImg, Bitmap bootTvImg, Bitmap bootDrcImg)
36 | {
37 | string outPath = GetValidOutputPath(outputPath, shortName);
38 | if (Directory.Exists(outPath) &&
39 | (Directory.GetDirectories(outPath).Length != 0 || Directory.GetFiles(outPath).Length != 0))
40 | throw new Exception("The output path \"" + outPath + "\"exists and is not empty.");
41 |
42 | Base = GetLoadedBase();
43 | if (!BaseIsLoaded)
44 | throw new Exception("The base is not ready.");
45 |
46 | InjectImages(menuIconImg, bootTvImg, bootDrcImg);
47 | if (RomIsValid)
48 | {
49 | InjectMeta(shortName, longName);
50 | InjectRom();
51 | }
52 |
53 | if (encrypt)
54 | NusContent.Encrypt(BasePath, outPath);
55 | else if (!Useful.DirectoryCopy(BasePath, outPath, true))
56 | throw new Exception("\"" + BasePath + "\" copy failed.");
57 | }
58 |
59 | protected override void InjectRom()
60 | {
61 | if (!File.Exists(Environment.CurrentDirectory + "\\resources\\gba\\psb.exe"))
62 | throw new Exception("The \"" + Environment.CurrentDirectory + "\\resources\\gba\\psb.exe\" file not exist.");
63 |
64 | if (!File.Exists(Environment.CurrentDirectory + "\\resources\\gba\\inject.bat"))
65 | {
66 | StreamWriter sw = File.CreateText(Environment.CurrentDirectory + "\\resources\\gba\\inject.bat");
67 | sw.WriteLine("@echo off");
68 | sw.WriteLine("cd resources\\gba");
69 | sw.Write("psb.exe %1 %2 %3");
70 | sw.Close();
71 | }
72 |
73 | string tmpRomPath = Path.Combine(Environment.CurrentDirectory, "resources", "gba", "tmp.gba");
74 | File.Copy(RomPath, tmpRomPath, true);
75 |
76 | int paddingSize = 0;
77 | if (Rom.Size < 1048576)
78 | paddingSize = 1048576 - Rom.Size;
79 | else if (Rom.Size < 2097152)
80 | paddingSize = 2097152 - Rom.Size;
81 | else if (Rom.Size < 4194304)
82 | paddingSize = 4194304 - Rom.Size;
83 | else if (Rom.Size < 8388608)
84 | paddingSize = 8388608 - Rom.Size;
85 | else if (Rom.Size < 16777216)
86 | paddingSize = 16777216 - Rom.Size;
87 | else if (Rom.Size < 33554432)
88 | paddingSize = 33554432 - Rom.Size;
89 |
90 | byte[] padding = new byte[paddingSize];
91 | FileStream fs = File.Open(tmpRomPath, FileMode.Open);
92 | fs.Position = fs.Length;
93 | fs.Write(padding, 0, paddingSize);
94 | fs.Close();
95 |
96 | Process psb = Process.Start(Environment.CurrentDirectory + "\\resources\\gba\\inject.bat",
97 | "\"" + BasePath + "\\content\\alldata.psb.m\" \"" + tmpRomPath + "\" \"" + Environment.CurrentDirectory + "\\resources\\gba\\tmp.psb.m\"");
98 | psb.WaitForExit();
99 |
100 | if (psb.ExitCode == 0)
101 | {
102 | psb.Dispose();
103 | File.Delete(tmpRomPath);
104 | File.Delete(BasePath + "\\content\\alldata.bin");
105 | File.Delete(BasePath + "\\content\\alldata.psb.m");
106 | File.Move(Environment.CurrentDirectory + "\\resources\\gba\\tmp.bin", BasePath + "\\content\\alldata.bin");
107 | File.Move(Environment.CurrentDirectory + "\\resources\\gba\\tmp.psb.m", BasePath + "\\content\\alldata.psb.m");
108 | }
109 | else
110 | {
111 | psb.Dispose();
112 | throw new Exception("psb.exe fail.");
113 | }
114 | }
115 |
116 | protected override WiiUVC GetLoadedBase()
117 | {
118 | return GetBase(BasePath);
119 | }
120 |
121 | public VCGBA GetBase(string path)
122 | {
123 | try
124 | {
125 | ValidateBase(path);
126 | FileStream fs = File.Open(path + "\\code\\m2engage.rpx", FileMode.Open);
127 | uint hash = Cll.Security.ComputeCRC32(fs);
128 | fs.Close();
129 | return VCGBA.GetVC(hash);
130 | }
131 | catch
132 | {
133 | return null;
134 | }
135 | }
136 |
137 | public override void ValidateBase(string path)
138 | {
139 | string[] folders = {
140 | };
141 |
142 | string[] files = {
143 | path + "\\code\\app.xml",
144 | path + "\\code\\cos.xml",
145 | path + "\\code\\m2engage.rpx",
146 | path + "\\content\\alldata.psb.m",
147 | path + "\\content\\alldata.bin",
148 | path + "\\meta\\iconTex.tga",
149 | path + "\\meta\\bootTvTex.tga",
150 | path + "\\meta\\bootDrcTex.tga",
151 | path + "\\meta\\meta.xml"
152 | };
153 |
154 | ValidateBase(folders, files);
155 | }
156 |
157 | public override void ValidateEncryptedBase(string path)
158 | {
159 | ValidateEncryptedBase(path, "m2engage.rpx");
160 | }
161 | }
162 | }
163 |
--------------------------------------------------------------------------------
/PhacoxsInjector/HelpString.es.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/HelpString.es.Designer.cs
--------------------------------------------------------------------------------
/PhacoxsInjector/Icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Icon.ico
--------------------------------------------------------------------------------
/PhacoxsInjector/JSON.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/JSON.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/Log.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using System.IO;
4 |
5 | namespace Cll
6 | {
7 | public static class Log
8 | {
9 | public enum TabMode
10 | {
11 | None,
12 | OnlyFirst,
13 | ExceptFirst,
14 | All
15 | }
16 |
17 | private static string _filename;
18 | public static string Filename { get { return _filename != null ? _filename : ""; } }
19 | public static void SaveIn(String filename, bool clear = true)
20 | {
21 | if (filename != null && filename.Length > 0)
22 | {
23 | _filename = filename;
24 | if (clear)
25 | File.Delete(filename);
26 | }
27 | else
28 | _filename = null;
29 | }
30 |
31 | public static void Write(string value)
32 | {
33 | Debug.Write(value);
34 | Console.Write(value);
35 | if (_filename != null)
36 | File.AppendAllText(_filename, value);
37 | }
38 |
39 | public static void WriteLine(string value)
40 | {
41 | Debug.WriteLine(value);
42 | Console.WriteLine(value);
43 | if (_filename != null)
44 | File.AppendAllText(_filename, value + "\r\n");
45 | }
46 |
47 | public static void WriteLine(string value, int width, int tab, TabMode mode)
48 | {
49 | int tabLength = GetTabLength(value);
50 | string t = tab > 0 ? new string(' ', tab) : value.Substring(0, tabLength);
51 | string s = value.Substring(tabLength, value.Length - tabLength);
52 | string[] words = s.Split(new char[] { ' ' });
53 |
54 | if (words.Length == 1)
55 | WriteLine((mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "") + s);
56 |
57 | else if (words.Length > 1)
58 | {
59 | int charCount = words[0].Length;
60 | int start = 0;
61 | int i = 1;
62 | for (; i < words.Length; i++)
63 | {
64 | if ((mode == TabMode.All || mode == TabMode.OnlyFirst ? t.Length : 0) +
65 | charCount + words[i].Length + 1 < width)
66 | charCount += words[i].Length + 1;
67 | else
68 | {
69 | WriteLine((mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "") +
70 | s.Substring(start, charCount));
71 | start += charCount + 1;
72 | charCount = words[i].Length;
73 | break;
74 | }
75 |
76 | if (i + 1 == words.Length)
77 | WriteLine((mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "") +
78 | s.Substring(start, charCount));
79 | }
80 | i++;
81 | for (; i < words.Length; i++)
82 | {
83 | if ((mode == TabMode.All || mode == TabMode.ExceptFirst ? t.Length : 0) +
84 | charCount + words[i].Length + 1 < width)
85 | charCount += words[i].Length + 1;
86 | else
87 | {
88 | WriteLine((mode == TabMode.All || mode == TabMode.ExceptFirst ? t : "") +
89 | s.Substring(start, charCount));
90 | start += charCount + 1;
91 | charCount = words[i].Length;
92 | }
93 |
94 | if (i + 1 == words.Length)
95 | WriteLine((mode == TabMode.All || mode == TabMode.ExceptFirst ? t : "") +
96 | s.Substring(start, charCount));
97 | }
98 | }
99 | else
100 | WriteLine(mode == TabMode.All || mode == TabMode.OnlyFirst ? t : "");
101 | }
102 |
103 | public static void WriteText(string text, int width, int tab, TabMode mode)
104 | {
105 | text = text.Replace("\r", "");
106 | string[] lines = text.Split(new char[] { '\n' });
107 |
108 | foreach (string line in lines)
109 | WriteLine(line, width, tab, mode);
110 | }
111 |
112 | private static int GetTabLength(string line)
113 | {
114 | int i;
115 |
116 | for (i = 0; i < line.Length; i++)
117 | {
118 | if (!char.IsWhiteSpace(line[i]))
119 | break;
120 | }
121 |
122 | return i;
123 | }
124 | }
125 | }
126 |
--------------------------------------------------------------------------------
/PhacoxsInjector/MenuIconImage.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Drawing.Drawing2D;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public class MenuIconImage : IDisposable
8 | {
9 | private bool disposed = false;
10 |
11 | private Bitmap _frame;
12 | private Bitmap _titleScreen;
13 |
14 | public Bitmap Frame
15 | {
16 | set
17 | {
18 | if (_frame != null)
19 | _frame.Dispose();
20 | _frame = value;
21 | }
22 | get { return _frame; }
23 | }
24 | public Bitmap TitleScreen
25 | {
26 | set
27 | {
28 | if (_titleScreen != null)
29 | _titleScreen.Dispose();
30 | _titleScreen = value;
31 | }
32 | get { return _titleScreen; }
33 | }
34 |
35 | public MenuIconImage()
36 | {
37 | _frame = null;
38 | _titleScreen = null;
39 | }
40 |
41 | ~MenuIconImage()
42 | {
43 | Dispose(false);
44 | }
45 |
46 | public void Dispose()
47 | {
48 | Dispose(true);
49 | GC.SuppressFinalize(this);
50 | }
51 |
52 | protected virtual void Dispose(bool disposing)
53 | {
54 | if (!this.disposed)
55 | {
56 | if (disposing)
57 | {
58 | if (Frame != null)
59 | {
60 | Frame.Dispose();
61 | Frame = null;
62 | }
63 | if (TitleScreen != null)
64 | {
65 | TitleScreen.Dispose();
66 | TitleScreen = null;
67 | }
68 | }
69 | disposed = true;
70 | }
71 | }
72 |
73 | public Bitmap Create(RomFile.Format console)
74 | {
75 | Bitmap img = new Bitmap(128, 128);
76 | Graphics g = Graphics.FromImage(img);
77 | g.PixelOffsetMode = PixelOffsetMode.Half;
78 | g.SmoothingMode = SmoothingMode.AntiAlias;
79 | g.CompositingMode = CompositingMode.SourceOver;
80 | g.CompositingQuality = CompositingQuality.HighQuality;
81 | g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
82 | g.Clear(Color.FromArgb(30, 30, 30));
83 |
84 | Rectangle rectangleGBA = new Rectangle(3, 17, 122, 81);
85 | Rectangle rectangleH4V3 = new Rectangle(3, 9, 122, 92);
86 |
87 | if (console == RomFile.Format.GBA)
88 | {
89 | if (TitleScreen != null)
90 | g.DrawImage(TitleScreen, rectangleGBA);
91 | else
92 | g.FillRectangle(new SolidBrush(Color.Black), rectangleGBA);
93 | }
94 | else if (console == RomFile.Format.NDS)
95 | {
96 | if (TitleScreen != null)
97 | {
98 | if (TitleScreen.Width > TitleScreen.Height)
99 | g.DrawImage(TitleScreen, rectangleH4V3);
100 | else if (TitleScreen.Width < TitleScreen.Height)
101 | {
102 | g.FillRectangle(new SolidBrush(Color.Black), rectangleH4V3);
103 | g.DrawImage(TitleScreen, 30, 9, 69, 92);
104 | }
105 | else
106 | {
107 | g.FillRectangle(new SolidBrush(Color.Black), rectangleH4V3);
108 | g.InterpolationMode = InterpolationMode.NearestNeighbor;
109 | g.DrawImage(TitleScreen, new Rectangle(32, 23, 64, 64));
110 | g.InterpolationMode = InterpolationMode.Default;
111 | }
112 | }
113 | else
114 | g.FillRectangle(new SolidBrush(Color.Black), rectangleH4V3);
115 | }
116 | else
117 | {
118 | if (TitleScreen != null)
119 | g.DrawImage(TitleScreen, rectangleH4V3);
120 | else
121 | g.FillRectangle(new SolidBrush(Color.Black), rectangleH4V3);
122 | }
123 |
124 | if (Frame == null)
125 | {
126 | GraphicsPath vc = new GraphicsPath();
127 | Font font = new Font("Arial", 10.0F, FontStyle.Regular, GraphicsUnit.Point);
128 | StringFormat format = new StringFormat();
129 | format.Alignment = StringAlignment.Center;
130 | format.LineAlignment = StringAlignment.Center;
131 |
132 | vc.AddString("Virtual Console.", font.FontFamily,
133 | (int)(FontStyle.Bold | FontStyle.Italic),
134 | g.DpiY * 9.2F / 72.0F, new Rectangle(0, 101, 128, 27), format);
135 | g.DrawPath(new Pen(Color.Black, 2.0F), vc);
136 | g.FillPath(new SolidBrush(Color.FromArgb(147, 149, 152)), vc);
137 | }
138 | else
139 | g.DrawImage(Frame, new Rectangle(0, 0, 128, 128));
140 |
141 | return img;
142 | }
143 | }
144 | }
145 |
--------------------------------------------------------------------------------
/PhacoxsInjector/NDSInjector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.IO;
4 | using System.IO.Compression;
5 |
6 | namespace PhacoxsInjector
7 | {
8 | public class NDSInjector : WiiUInjector
9 | {
10 | public bool DarkFilter;
11 |
12 | public string LayoutFilePath
13 | { private set; get; }
14 |
15 | public Bitmap RomIcon
16 | {
17 | get
18 | {
19 | if (Rom != null && Rom.IsValid)
20 | return (Rom as RomNDS).Icon;
21 | else
22 | return null;
23 | }
24 | }
25 |
26 | public override string TitleId
27 | {
28 | get
29 | {
30 | if (BaseIsLoaded && RomIsValid)
31 | return "00050002D5" + Rom.HashCRC16.ToString("X4") + Base.Index.ToString("X2");
32 | else
33 | return "";
34 | }
35 | }
36 |
37 | public NDSInjector()
38 | : base()
39 | {
40 | BasePath = Environment.CurrentDirectory + "\\base_nds";
41 | Base = GetLoadedBase();
42 | }
43 |
44 | public override void SetRom(string romPath)
45 | {
46 | RomPath = romPath;
47 | Rom = new RomNDS(romPath);
48 | }
49 |
50 | public void SetLayoutFile(string layoutFilePath)
51 | {
52 | LayoutFilePath = layoutFilePath;
53 | }
54 |
55 | public override void Inject(bool encrypt, string outputPath, string shortName, string longName,
56 | Bitmap menuIconImg, Bitmap bootTvImg, Bitmap bootDrcImg)
57 | {
58 | string outPath = GetValidOutputPath(outputPath, shortName);
59 | if (Directory.Exists(outPath) &&
60 | (Directory.GetDirectories(outPath).Length != 0 || Directory.GetFiles(outPath).Length != 0))
61 | throw new Exception("The output path \"" + outPath + "\"exists and is not empty.");
62 |
63 | Base = GetLoadedBase();
64 | if (!BaseIsLoaded)
65 | throw new Exception("The base is not ready.");
66 |
67 | if (!InjectGameLayout())
68 | throw new Exception("Failed.");
69 |
70 | InjectImages(menuIconImg, bootTvImg, bootDrcImg);
71 | if (RomIsValid)
72 | {
73 | InjectMeta(shortName, longName);
74 | InjectRom();
75 | }
76 |
77 | if (encrypt)
78 | NusContent.Encrypt(BasePath, outPath);
79 | else if (!Useful.DirectoryCopy(BasePath, outPath, true))
80 | throw new Exception("\"" + BasePath + "\" copy failed.");
81 | }
82 |
83 | private bool InjectGameLayout()
84 | {
85 | StreamReader sr = null;
86 | try
87 | {
88 | sr = File.OpenText(Path.Combine(BasePath, "content", "0010", "configuration_cafe.json"));
89 | Cll.JSON.SyntacticAnalyzer syn = new Cll.JSON.SyntacticAnalyzer(sr);
90 | Cll.JSON.Element json = syn.Run();
91 | sr.Close();
92 |
93 | Cll.JSON.Object config = (Cll.JSON.Object)json.Value.GetValue("configuration");
94 |
95 | if (DarkFilter)
96 | config.GetValue("Display").SetValue("Brightness", new Cll.JSON.Number(80));
97 | else
98 | config.GetValue("Display").SetValue("Brightness", new Cll.JSON.Number(100));
99 |
100 | string text = json.ToString("");
101 | File.WriteAllText(Path.Combine(BasePath, "content", "0010", "configuration_cafe.json"), text);
102 |
103 | return true;
104 | }
105 | catch { }
106 | finally { if (sr != null) sr.Close(); }
107 |
108 | return false;
109 | }
110 |
111 | protected override void InjectRom()
112 | {
113 | if (!Directory.Exists(Environment.CurrentDirectory + "\\resources"))
114 | Directory.CreateDirectory(Environment.CurrentDirectory + "\\resources");
115 |
116 | if (Directory.Exists(Environment.CurrentDirectory + "\\resources\\nds"))
117 | Directory.Delete(Environment.CurrentDirectory + "\\resources\\nds", true);
118 | Directory.CreateDirectory(Environment.CurrentDirectory + "\\resources\\nds");
119 |
120 | if (File.Exists(BasePath + "\\content\\0010\\rom.zip"))
121 | File.Delete(BasePath + "\\content\\0010\\rom.zip");
122 |
123 | string dest = Environment.CurrentDirectory + "\\resources\\nds\\U" + Rom.ProductCodeVersion + ".nds";
124 | File.Copy(RomPath, dest);
125 | FileAttributes attributes = File.GetAttributes(dest);
126 | if ((attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
127 | File.SetAttributes(dest, attributes & ~FileAttributes.ReadOnly);
128 | ZipFile.CreateFromDirectory(Environment.CurrentDirectory + "\\resources\\nds", BasePath + "\\content\\0010\\rom.zip");
129 |
130 | Directory.Delete(Environment.CurrentDirectory + "\\resources\\nds", true);
131 | }
132 |
133 | protected override WiiUVC GetLoadedBase()
134 | {
135 | return GetBase(BasePath);
136 | }
137 |
138 | public VCNDS GetBase(string path)
139 | {
140 | try
141 | {
142 | ValidateBase(path);
143 | FileStream fs = File.Open(path + "\\code\\hachihachi_ntr.rpx", FileMode.Open);
144 | uint hash = Cll.Security.ComputeCRC32(fs);
145 | fs.Close();
146 | return VCNDS.GetVC(hash);
147 | }
148 | catch
149 | {
150 | return null;
151 | }
152 | }
153 |
154 | public override void ValidateBase(string path)
155 | {
156 | string[] folders = {
157 | path + "\\content\\0010\\assets",
158 | path + "\\content\\0010\\assets\\textures",
159 | path + "\\content\\0010\\data",
160 | path + "\\content\\0010\\data\\strings"
161 | };
162 |
163 | string[] files = {
164 | path + "\\code\\app.xml",
165 | path + "\\code\\cos.xml",
166 | path + "\\code\\hachihachi_ntr.rpx",
167 | path + "\\content\\0010\\configuration_cafe.json",
168 | path + "\\content\\0010\\rom.zip",
169 | path + "\\meta\\iconTex.tga",
170 | path + "\\meta\\bootTvTex.tga",
171 | path + "\\meta\\bootDrcTex.tga",
172 | path + "\\meta\\meta.xml"
173 | };
174 |
175 | ValidateBase(folders, files);
176 | }
177 |
178 | public override void ValidateEncryptedBase(string path)
179 | {
180 | ValidateEncryptedBase(path, "hachihachi_ntr.rpx");
181 | }
182 | }
183 | }
184 |
--------------------------------------------------------------------------------
/PhacoxsInjector/NESInjector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.IO;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public class NESInjector : WiiUInjector
8 | {
9 | public enum AspectRatio
10 | {
11 | Default,//H7V5
12 | H8V7,
13 | H4V3,
14 | H16V9
15 | };
16 |
17 | public AspectRatio AspectRatioValue;
18 | public byte Speed;
19 | public byte Players;
20 |
21 | public override string TitleId
22 | {
23 | get
24 | {
25 | if (BaseIsLoaded && RomIsValid)
26 | return "0005000261" + Rom.HashCRC16.ToString("X4") + Base.Index.ToString("X2");
27 | else
28 | return "";
29 | }
30 | }
31 |
32 | public NESInjector()
33 | : base()
34 | {
35 | BasePath = Environment.CurrentDirectory + "\\base_nes";
36 | Base = GetLoadedBase();
37 |
38 | AspectRatioValue = AspectRatio.Default;
39 | Speed = 60;
40 | Players = 2;
41 | }
42 |
43 | public override void SetRom(string romPath)
44 | {
45 | RomPath = romPath;
46 | Rom = new RomNES(romPath);
47 | }
48 |
49 | public override void Inject(bool encrypt, string outputPath, string shortName, string longName,
50 | Bitmap menuIconImg, Bitmap bootTvImg, Bitmap bootDrcImg)
51 | {
52 | string outPath = GetValidOutputPath(outputPath, shortName);
53 | if (Directory.Exists(outPath) &&
54 | (Directory.GetDirectories(outPath).Length != 0 || Directory.GetFiles(outPath).Length != 0))
55 | throw new Exception("The output path \"" + outPath + "\"exists and is not empty.");
56 |
57 | Base = GetLoadedBase();
58 | if (!BaseIsLoaded)
59 | throw new Exception("The base is not ready.");
60 |
61 | InjectImages(menuIconImg, bootTvImg, bootDrcImg);
62 | if (RomIsValid)
63 | InjectMeta(shortName, longName);
64 | InjectRom();
65 |
66 | if (encrypt)
67 | NusContent.Encrypt(BasePath, outPath);
68 | else if (!Useful.DirectoryCopy(BasePath, outPath, true))
69 | throw new Exception("\"" + BasePath + "\" copy failed.");
70 | }
71 |
72 | protected override void InjectRom()
73 | {
74 | byte speed = (byte)(Speed == 50 ? 50 : 60);
75 | byte players = (byte)(Players == 4 ? 4 : Players == 3 ? 3 : 2);
76 | short widthTv;
77 | short widthDrc;
78 | switch (AspectRatioValue)
79 | {
80 | case AspectRatio.H8V7:
81 | widthTv = 2347;
82 | widthDrc = 1044;
83 | break;
84 | case AspectRatio.H4V3:
85 | widthTv = 2012;
86 | widthDrc = 895;
87 | break;
88 | case AspectRatio.H16V9:
89 | widthTv = 1509;
90 | widthDrc = 671;
91 | break;
92 | default:
93 | widthTv = 1920;
94 | widthDrc = 854;
95 | break;
96 | }
97 |
98 | if (!Directory.Exists(Environment.CurrentDirectory + "\\resources"))
99 | Directory.CreateDirectory(Environment.CurrentDirectory + "\\resources");
100 |
101 | DirectoryInfo code = new DirectoryInfo(BasePath + "\\code");
102 | FileInfo[] rpxFiles = code.GetFiles("*.rpx");
103 | RPXNES.Inject(rpxFiles[0].FullName, RomPath, Environment.CurrentDirectory + "\\resources\\nes.rpx", speed, players, 0, 0, widthTv, widthDrc);
104 |
105 | File.Delete(rpxFiles[0].FullName);
106 | File.Move(Environment.CurrentDirectory + "\\resources\\nes.rpx", rpxFiles[0].FullName);
107 | }
108 |
109 | protected override WiiUVC GetLoadedBase()
110 | {
111 | return GetBase(BasePath);
112 | }
113 |
114 | public VCNES GetBase(string path)
115 | {
116 | try
117 | {
118 | ValidateBase(path, false);
119 | RPXNES vc = ValidateRPX(path);
120 | return VCNES.GetVC(vc.CRCsSum);
121 | }
122 | catch
123 | {
124 | return null;
125 | }
126 | }
127 |
128 | private RPXNES ValidateRPX(string path)
129 | {
130 | DirectoryInfo code = new DirectoryInfo(path + "\\code");
131 | if (!code.Exists)
132 | throw new Exception("The \"" + path + "\\code\" folder not exist.");
133 |
134 | FileInfo[] rpxFiles = code.GetFiles("*.rpx");
135 | if (rpxFiles.Length != 1)
136 | throw new Exception("The \"" + path + "\\code\" folder has more than one RPX file.");
137 |
138 | if (!(rpxFiles[0].Name.StartsWith("WUP-F") && (
139 | rpxFiles[0].Name.EndsWith("E.rpx") ||
140 | rpxFiles[0].Name.EndsWith("P.rpx") ||
141 | rpxFiles[0].Name.EndsWith("J.rpx"))))
142 | throw new Exception("The \"" + rpxFiles[0].Name + "\" RPX file is not an RPX NES.");
143 |
144 | return new RPXNES(rpxFiles[0].FullName);
145 | }
146 |
147 | private void ValidateBase(string path, bool validateRPX)
148 | {
149 | string[] folders = {
150 | path + "\\content\\msg",
151 | path + "\\content\\snd",
152 | };
153 |
154 | string[] files = {
155 | path + "\\code\\app.xml",
156 | path + "\\code\\cos.xml",
157 | path + "\\content\\texture2D_206.gsh",
158 | path + "\\meta\\iconTex.tga",
159 | path + "\\meta\\bootTvTex.tga",
160 | path + "\\meta\\bootDrcTex.tga",
161 | path + "\\meta\\meta.xml"
162 | };
163 |
164 | ValidateBase(folders, files);
165 | if (validateRPX)
166 | ValidateRPX(path);
167 | }
168 |
169 | public override void ValidateBase(string path)
170 | {
171 | ValidateBase(path, true);
172 | }
173 |
174 | public override void ValidateEncryptedBase(string path)
175 | {
176 | string appFileName = GetAppFileName(path);
177 |
178 | if (!(appFileName.StartsWith("WUP-F") && (
179 | appFileName.EndsWith("E.rpx") ||
180 | appFileName.EndsWith("P.rpx") ||
181 | appFileName.EndsWith("J.rpx"))))
182 | throw new Exception("The \"" + appFileName + "\" RPX file is not an RPX NES.");
183 | }
184 | }
185 | }
186 |
--------------------------------------------------------------------------------
/PhacoxsInjector/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Windows.Forms;
5 |
6 | namespace PhacoxsInjector
7 | {
8 | class Program
9 | {
10 | [System.Runtime.InteropServices.DllImport("kernel32.dll")]
11 | static extern bool FreeConsole();
12 |
13 | ///
14 | /// Main entry point for the application.
15 | ///
16 | [STAThread]
17 | static void Main(string[] args)
18 | {
19 | if (args.Length == 0)
20 | {
21 | FreeConsole();
22 | Application.EnableVisualStyles();
23 | Application.SetCompatibleTextRenderingDefault(false);
24 | Application.Run(new PhacoxsInjectorGUI());
25 | }
26 | else
27 | {
28 | PhacoxsInjectorCMD cmd = new PhacoxsInjectorCMD();
29 | cmd.Run(args);
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/PhacoxsInjector/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // La información general de un ensamblado se controla mediante el siguiente
6 | // conjunto de atributos. Cambie estos valores de atributo para modificar la información
7 | // asociada con un ensamblado.
8 | [assembly: AssemblyTitle("PhacoxsInjector debug")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("PhacosInjector")]
13 | [assembly: AssemblyCopyright("Copyright © 2020")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles
18 | // para los componentes COM. Si es necesario obtener acceso a un tipo en este ensamblado desde
19 | // COM, establezca el atributo ComVisible en true en este tipo.
20 | [assembly: ComVisible(false)]
21 |
22 | // El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM.
23 | [assembly: Guid("bed11d3f-4826-466d-b226-4f6bc26a403f")]
24 |
25 | // La información de versión de un ensamblado consta de los cuatro valores siguientes:
26 | //
27 | // Versión principal
28 | // Versión secundaria
29 | // Número de compilación
30 | // Revisión
31 | //
32 | // Puede especificar todos los valores o usar los valores predeterminados de número de compilación y de revisión
33 | // utilizando el carácter "*", como se muestra a continuación:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.1.234.4")]
36 | [assembly: AssemblyFileVersion("1.1.234.4")]
37 |
--------------------------------------------------------------------------------
/PhacoxsInjector/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Este código fue generado por una herramienta.
4 | // Versión de runtime:4.0.30319.42000
5 | //
6 | // Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
7 | // se vuelve a generar el código.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace PhacoxsInjector.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
17 | ///
18 | // StronglyTypedResourceBuilder generó automáticamente esta clase
19 | // a través de una herramienta como ResGen o Visual Studio.
20 | // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen
21 | // con la opción /str o recompile su proyecto de VS.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.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 | /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase.
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("PhacoxsInjector.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las
51 | /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado.
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 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
65 | ///
66 | internal static System.Drawing.Bitmap checkmark_16 {
67 | get {
68 | object obj = ResourceManager.GetObject("checkmark-16", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
75 | ///
76 | internal static System.Drawing.Bitmap fc {
77 | get {
78 | object obj = ResourceManager.GetObject("fc", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
85 | ///
86 | internal static System.Drawing.Bitmap gba {
87 | get {
88 | object obj = ResourceManager.GetObject("gba", resourceCulture);
89 | return ((System.Drawing.Bitmap)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
95 | ///
96 | internal static System.Drawing.Bitmap n64 {
97 | get {
98 | object obj = ResourceManager.GetObject("n64", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
105 | ///
106 | internal static System.Drawing.Bitmap nds {
107 | get {
108 | object obj = ResourceManager.GetObject("nds", resourceCulture);
109 | return ((System.Drawing.Bitmap)(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
115 | ///
116 | internal static System.Drawing.Bitmap nes {
117 | get {
118 | object obj = ResourceManager.GetObject("nes", resourceCulture);
119 | return ((System.Drawing.Bitmap)(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
125 | ///
126 | internal static System.Drawing.Bitmap question {
127 | get {
128 | object obj = ResourceManager.GetObject("question", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
135 | ///
136 | internal static System.Drawing.Bitmap sfc {
137 | get {
138 | object obj = ResourceManager.GetObject("sfc", resourceCulture);
139 | return ((System.Drawing.Bitmap)(obj));
140 | }
141 | }
142 |
143 | ///
144 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
145 | ///
146 | internal static System.Drawing.Bitmap snes {
147 | get {
148 | object obj = ResourceManager.GetObject("snes", resourceCulture);
149 | return ((System.Drawing.Bitmap)(obj));
150 | }
151 | }
152 |
153 | ///
154 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
155 | ///
156 | internal static System.Drawing.Bitmap snes_pal {
157 | get {
158 | object obj = ResourceManager.GetObject("snes_pal", resourceCulture);
159 | return ((System.Drawing.Bitmap)(obj));
160 | }
161 | }
162 |
163 | ///
164 | /// Busca un recurso adaptado de tipo System.Drawing.Bitmap.
165 | ///
166 | internal static System.Drawing.Bitmap x_mark_16 {
167 | get {
168 | object obj = ResourceManager.GetObject("x-mark-16", resourceCulture);
169 | return ((System.Drawing.Bitmap)(obj));
170 | }
171 | }
172 | }
173 | }
174 |
--------------------------------------------------------------------------------
/PhacoxsInjector/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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\checkmark-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\Resources\sfc.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | ..\Resources\snes_pal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\Resources\fc.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | ..\Resources\question.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | ..\Resources\x-mark-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | ..\Resources\n64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
143 | ..\Resources\snes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
144 |
145 |
146 | ..\Resources\gba.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
147 |
148 |
149 | ..\Resources\nes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
150 |
151 |
152 | ..\Resources\nds.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
153 |
154 |
--------------------------------------------------------------------------------
/PhacoxsInjector/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | en-EU
7 |
8 |
9 | True
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
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 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/checkmark-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/checkmark-16.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/fc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/fc.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/gba.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/gba.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/n64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/n64.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/nds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/nds.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/nes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/nes.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/question.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/question.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/sfc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/sfc.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/snes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/snes.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/snes_pal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/snes_pal.png
--------------------------------------------------------------------------------
/PhacoxsInjector/Resources/x-mark-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/Resources/x-mark-16.png
--------------------------------------------------------------------------------
/PhacoxsInjector/RomFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public abstract class RomFile
8 | {
9 | public enum Format
10 | {
11 | Famicom,
12 | NES,
13 | SuperFamicom,
14 | SNES_EUR,
15 | SNES_USA,
16 | N64,
17 | GBA,
18 | NDS,
19 | Indeterminate
20 | }
21 |
22 | public Format Console { protected set; get; }
23 |
24 | public int Size
25 | { protected set; get; }
26 | public string Title
27 | { protected set; get; }
28 | public char FormatCode
29 | { protected set; get; }
30 | public string ShortId
31 | { protected set; get; }
32 | public char RegionCode
33 | { protected set; get; }
34 | public byte Version
35 | { protected set; get; }
36 | public char Revision
37 | { get { return Version == 0 ? ' ' : (char)(Version + 0x40); } }
38 | public string ProductCode
39 | { get { return (FormatCode + ShortId + RegionCode).ToUpper(); } }
40 | public string ProductCodeVersion
41 | { get { return ProductCode + Version.ToString("X1"); } }
42 | public bool IsValid
43 | { protected set; get; }
44 | public ushort HashCRC16
45 | { protected set; get; }
46 |
47 | public RomFile()
48 | {
49 | Console = Format.Indeterminate;
50 | Size = 0;
51 | Title = "";
52 | FormatCode = '?';
53 | ShortId = "??";
54 | RegionCode = '?';
55 | Version = 0;
56 | IsValid = false;
57 | HashCRC16 = 0;
58 | }
59 |
60 | public static Format GetFormat(string filename)
61 | {
62 | if (RomNES.Validate(filename))
63 | return Format.NES;
64 | else if (RomN64.Validate(filename))
65 | return Format.N64;
66 | else if (RomGBA.Validate(filename))
67 | return Format.GBA;
68 | else if (RomNDS.Validate(filename))
69 | return Format.NDS;
70 | else if (RomSNES.Validate(filename))
71 | return Format.SNES_USA;
72 |
73 | return Format.Indeterminate;
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/PhacoxsInjector/RomGBA.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public class RomGBA : RomFile
8 | {
9 | public RomGBA(string filename)
10 | : base()
11 | {
12 | byte[] header = new byte[0xC0];
13 | FileStream fs = File.OpenRead(filename);
14 |
15 | fs.Read(header, 0, 0xC0);
16 | fs.Close();
17 |
18 | if (Validate(header))
19 | {
20 | byte uniqueCode;
21 | byte[] shortTitle = new byte[2];
22 | byte region;
23 |
24 | uniqueCode = header[0xAC];
25 | shortTitle[0] = header[0xAD];
26 | shortTitle[1] = header[0xAE];
27 | region = header[0xAF];
28 |
29 | if (Useful.IsUpperLetterOrDigit(uniqueCode))
30 | FormatCode = (char)uniqueCode;
31 | if (Useful.IsUpperLetterOrDigit(shortTitle[0]) &&
32 | Useful.IsUpperLetterOrDigit(shortTitle[1]))
33 | ShortId = Encoding.ASCII.GetString(shortTitle);
34 | if (Useful.IsUpperLetterOrDigit(region))
35 | RegionCode = (char)region;
36 | if (Useful.IsUpperLetterOrDigit(header[0xBC]))
37 | Version = header[0xBC];
38 |
39 | byte[] titleBytes = new byte[0x0C];
40 | Array.Copy(header, 0xA0, titleBytes, 0, 0x0C);
41 | int count = 0x0C;
42 | while (--count >= 0 && titleBytes[count] == 0) ;
43 | Title = Encoding.ASCII.GetString(titleBytes, 0, count + 1);
44 |
45 | fs = File.Open(filename, FileMode.Open);
46 | Size = (int)fs.Length;
47 | HashCRC16 = Cll.Security.ComputeCRC16(fs);
48 | fs.Close();
49 |
50 | if (Size > 33554432)
51 | throw new FormatException("The GBA ROM has more than 32 MiB.");
52 |
53 | IsValid = true;
54 | Console = Format.GBA;
55 | }
56 | else
57 | throw new FormatException("Check bytes in the GBA ROM header are invalid.");
58 | }
59 |
60 | private static bool Validate(byte[] header)
61 | {
62 | int chk = 0;
63 | for (int i = 0xA0; i < 0xBD; i++)
64 | chk -= header[i];
65 | chk = (chk - 0x19) & 0xFF;
66 |
67 | if (header[0xB2] == 0x96 && header[0xBD] == chk)
68 | return true;
69 |
70 | return false;
71 | }
72 |
73 | public static bool Validate(string filename)
74 | {
75 | if (File.Exists(filename))
76 | {
77 | byte[] header = new byte[0xC0];
78 | FileStream fs = File.OpenRead(filename);
79 | fs.Read(header, 0, 0xC0);
80 | fs.Close();
81 | return Validate(header);
82 | }
83 | return false;
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/PhacoxsInjector/RomN64.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public class RomN64 : RomFile
8 | {
9 | public enum Subformat
10 | {
11 | BigEndian,
12 | LittleEndian,
13 | ByteSwapped,
14 | Indeterminate
15 | }
16 |
17 | public Subformat Endianness
18 | { private set; get; }
19 |
20 | public RomN64(string filename)
21 | : base()
22 | {
23 | Endianness = Subformat.Indeterminate;
24 |
25 | byte[] header = new byte[0x40];
26 | FileStream fs = File.Open(filename, FileMode.Open);
27 | Size = (int)fs.Length;
28 | fs.Read(header, 0, 0x40);
29 | fs.Close();
30 |
31 | Endianness = GetFormat(header);
32 |
33 | if (Endianness == Subformat.BigEndian ||
34 | (Endianness != Subformat.Indeterminate && Size % 4 == 0))
35 | {
36 | byte uniqueCode;
37 | byte[] shortTitle = new byte[2];
38 | byte region;
39 |
40 | header = ToBigEndian(header, Endianness);
41 |
42 | uniqueCode = header[0x3B];
43 | shortTitle[0] = header[0x3C];
44 | shortTitle[1] = header[0x3D];
45 | region = header[0x3E];
46 |
47 | if (Useful.IsUpperLetterOrDigit(uniqueCode))
48 | FormatCode = (char)uniqueCode;
49 | if (Useful.IsUpperLetterOrDigit(shortTitle[0]) &&
50 | Useful.IsUpperLetterOrDigit(shortTitle[1]))
51 | ShortId = Encoding.ASCII.GetString(shortTitle);
52 | if (Useful.IsUpperLetterOrDigit(region))
53 | RegionCode = (char)region;
54 | if (Useful.IsUpperLetterOrDigit(header[0x3F]))
55 | Version = header[0x3F];
56 |
57 | byte[] titleBytes = new byte[20];
58 | Array.Copy(header, 0x20, titleBytes, 0, 20);
59 | int count = 20;
60 | while (--count >= 0 && titleBytes[count] == 0x20) ;
61 | Title = Encoding.ASCII.GetString(titleBytes, 0, count + 1);
62 |
63 | fs = File.Open(filename, FileMode.Open);
64 | HashCRC16 = Cll.Security.ComputeCRC16(fs);
65 | fs.Close();
66 |
67 | IsValid = true;
68 | Console = Format.N64;
69 | }
70 | else
71 | {
72 | Size = 0;
73 | throw new FormatException("It was not possible to determine the N64 ROM format.");
74 | }
75 | }
76 |
77 | private static Subformat GetFormat(byte[] header)
78 | {
79 | Subformat format = Subformat.Indeterminate;
80 |
81 | if (header[0] == 0x80 &&
82 | header[1] == 0x37 &&
83 | header[2] == 0x12 &&
84 | header[3] == 0x40)
85 | format = Subformat.BigEndian;
86 | else if (header[0] == 0x37 &&
87 | header[1] == 0x80 &&
88 | header[2] == 0x40 &&
89 | header[3] == 0x12)
90 | format = Subformat.ByteSwapped;
91 | else if (header[0] == 0x40 &&
92 | header[1] == 0x12 &&
93 | header[2] == 0x37 &&
94 | header[3] == 0x80)
95 | format = Subformat.LittleEndian;
96 |
97 | return format;
98 | }
99 |
100 | public static bool Validate(string filename)
101 | {
102 | if (File.Exists(filename))
103 | {
104 | byte[] header = new byte[0x40];
105 | FileStream fs = File.OpenRead(filename);
106 | int size = (int)fs.Length;
107 | fs.Read(header, 0, 0x40);
108 | fs.Close();
109 | Subformat format = GetFormat(header);
110 | return format == Subformat.BigEndian ||
111 | (format != Subformat.Indeterminate && size % 4 == 0);
112 | }
113 | return false;
114 | }
115 |
116 | public static void ToBigEndian(string source, string destination)
117 | {
118 | byte[] header = new byte[0x40];
119 | FileStream fs = File.OpenRead(source);
120 | int size = (int)fs.Length;
121 | fs.Read(header, 0, 0x40);
122 | fs.Close();
123 | Subformat format = GetFormat(header);
124 |
125 | if (format == Subformat.BigEndian ||
126 | (format != Subformat.Indeterminate && size % 4 == 0))
127 | {
128 | fs = File.OpenRead(source);
129 | byte[] data = new byte[fs.Length];
130 | fs.Read(data, 0, data.Length);
131 | fs.Close();
132 |
133 | data = ToBigEndian(data, format);
134 | fs = File.Open(destination, FileMode.Create);
135 | fs.Write(data, 0, data.Length);
136 | fs.Close();
137 | }
138 | else
139 | throw new Exception("The source file is not an N64 ROM.");
140 | }
141 |
142 | private static byte[] ToBigEndian(byte[] array, Subformat endianness)
143 | {
144 | byte[] bigEndian = new byte[4];
145 |
146 | if (endianness == Subformat.ByteSwapped)
147 | {
148 | for (int i = 0; i < array.Length / 4; i++)
149 | {
150 | bigEndian[0] = array[(i * 4) + 1];
151 | bigEndian[1] = array[(i * 4) + 0];
152 | bigEndian[2] = array[(i * 4) + 3];
153 | bigEndian[3] = array[(i * 4) + 2];
154 |
155 | array[(i * 4) + 0] = bigEndian[0];
156 | array[(i * 4) + 1] = bigEndian[1];
157 | array[(i * 4) + 2] = bigEndian[2];
158 | array[(i * 4) + 3] = bigEndian[3];
159 | }
160 | }
161 | else if (endianness == Subformat.LittleEndian)
162 | {
163 | for (int i = 0; i < array.Length / 4; i++)
164 | {
165 | bigEndian[0] = array[(i * 4) + 3];
166 | bigEndian[1] = array[(i * 4) + 2];
167 | bigEndian[2] = array[(i * 4) + 1];
168 | bigEndian[3] = array[(i * 4) + 0];
169 |
170 | array[(i * 4) + 0] = bigEndian[0];
171 | array[(i * 4) + 1] = bigEndian[1];
172 | array[(i * 4) + 2] = bigEndian[2];
173 | array[(i * 4) + 3] = bigEndian[3];
174 | }
175 | }
176 |
177 | return array;
178 | }
179 | }
180 | }
181 |
--------------------------------------------------------------------------------
/PhacoxsInjector/RomNDS.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.IO;
4 | using System.Text;
5 |
6 | namespace PhacoxsInjector
7 | {
8 | public class RomNDS : RomFile, IDisposable
9 | {
10 | private bool disposed = false;
11 |
12 | public string TitleLine1 { private set; get; }
13 | public string TitleLine2 { private set; get; }
14 | public Bitmap Icon
15 | { private set; get; }
16 |
17 | public RomNDS(string filename)
18 | : base()
19 | {
20 | TitleLine1 = "";
21 | TitleLine2 = "";
22 | Icon = null;
23 |
24 | byte[] header = new byte[0x200];
25 | FileStream fs = File.OpenRead(filename);
26 | fs.Read(header, 0, 0x200);
27 | fs.Close();
28 |
29 | if (Validate(header))
30 | {
31 | byte uniqueCode;
32 | byte[] shortTitle = new byte[2];
33 | byte region;
34 |
35 | uniqueCode = header[0x0C];
36 | shortTitle[0] = header[0x0D];
37 | shortTitle[1] = header[0x0E];
38 | region = header[0x0F];
39 |
40 | if (Useful.IsUpperLetterOrDigit(uniqueCode))
41 | FormatCode = (char)uniqueCode;
42 | if (Useful.IsUpperLetterOrDigit(shortTitle[0]) &&
43 | Useful.IsUpperLetterOrDigit(shortTitle[1]))
44 | ShortId = Encoding.ASCII.GetString(shortTitle);
45 | if (Useful.IsUpperLetterOrDigit(region))
46 | RegionCode = (char)region;
47 | if (Useful.IsUpperLetterOrDigit(header[0x1E]))
48 | Version = header[0x1E];
49 |
50 | byte[] offsetBytes = new byte[4];
51 | byte[] bitmapBytes = new byte[0x200];
52 | byte[] paletteBytes = new byte[0x20];
53 | byte[] titleBytes = new byte[0x100];
54 |
55 | fs = File.OpenRead(filename);
56 | Size = (int)fs.Length;
57 | fs.Seek(0x68, SeekOrigin.Begin);
58 | fs.Read(offsetBytes, 0, 4);
59 | int offset = (offsetBytes[3] << 24) + (offsetBytes[2] << 16) + (offsetBytes[1] << 8) + offsetBytes[0];
60 | fs.Seek(offset + 0x20, SeekOrigin.Begin);
61 | fs.Read(bitmapBytes, 0, 0x200);
62 | fs.Read(paletteBytes, 0, 0x20);
63 | fs.Read(titleBytes, 0, 0x100);
64 | fs.Position = 0;
65 | HashCRC16 = Cll.Security.ComputeCRC16(fs);
66 | fs.Close();
67 |
68 | string title = Encoding.Unicode.GetString(titleBytes);
69 | string[] lines = title.Split(new char[] { '\n' });
70 |
71 | if (lines.Length == 2)
72 | {
73 | Title = lines[0];
74 | TitleLine1 = lines[0];
75 | }
76 | else if (lines.Length >= 3)
77 | {
78 | Title = lines[0] + " " + lines[1];
79 | TitleLine1 = lines[0];
80 | TitleLine2 = lines[1];
81 | }
82 |
83 | Color[] palette = new Color[16];
84 | int j = -1;
85 | for (int i = 0; i < 16; i++)
86 | palette[i] = Color.FromArgb(
87 | (paletteBytes[++j] & 0x1F) << 3, //0000 0000 0001 1111
88 | ((paletteBytes[j] & 0xE0) >> 2) + //0000 0000 1110 0000
89 | ((paletteBytes[++j] & 0x03) << 6), //0000 0011 0000 0000
90 | (paletteBytes[j] & 0x7C) << 1); //0111 1100 0000 0000
91 | palette[0] = Color.FromArgb(0, palette[0].R, palette[0].G, palette[0].B);
92 |
93 | byte[] pix = new byte[1024];
94 |
95 | int pixIndex;
96 | int bytesIndex;
97 | for (int tileY = 0; tileY < 4; tileY++)
98 | for (int tileX = 0; tileX < 4; tileX++)
99 | for (int i = 0; i < 8; i++)
100 | {
101 | pixIndex = i * 32 + tileX * 8 + tileY * 256;
102 | bytesIndex = i * 4 + tileX * 32 + tileY * 128;
103 | pix[pixIndex] = (byte)(bitmapBytes[bytesIndex] & 0x0F);
104 | pix[pixIndex + 1] = (byte)((bitmapBytes[bytesIndex] & 0xF0) >> 4);
105 | pix[pixIndex + 2] = (byte)(bitmapBytes[bytesIndex + 1] & 0x0F);
106 | pix[pixIndex + 3] = (byte)((bitmapBytes[bytesIndex + 1] & 0xF0) >> 4);
107 | pix[pixIndex + 4] = (byte)(bitmapBytes[bytesIndex + 2] & 0x0F);
108 | pix[pixIndex + 5] = (byte)((bitmapBytes[bytesIndex + 2] & 0xF0) >> 4);
109 | pix[pixIndex + 6] = (byte)(bitmapBytes[bytesIndex + 3] & 0x0F);
110 | pix[pixIndex + 7] = (byte)((bitmapBytes[bytesIndex + 3] & 0xF0) >> 4);
111 | }
112 |
113 | Bitmap icon = new Bitmap(32, 32);
114 | Rectangle rect = new Rectangle(0, 0, icon.Width, icon.Height);
115 | System.Drawing.Imaging.BitmapData data =
116 | icon.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
117 | icon.PixelFormat);
118 | int length = data.Width * data.Height * 4;
119 | byte[] iconBytes = new byte[length];
120 | IntPtr ptr = data.Scan0;
121 | System.Runtime.InteropServices.Marshal.Copy(ptr, iconBytes, 0, length);
122 | Color color;
123 | for (int i = 0; i < 1024; i++)
124 | {
125 | color = palette[pix[i]];
126 | iconBytes[i * 4] = color.B;
127 | iconBytes[i * 4 + 1] = color.G;
128 | iconBytes[i * 4 + 2] = color.R;
129 | iconBytes[i * 4 + 3] = color.A;
130 | }
131 | System.Runtime.InteropServices.Marshal.Copy(iconBytes, 0, ptr, length);
132 | icon.UnlockBits(data);
133 |
134 | Icon = icon;
135 | IsValid = true;
136 | Console = Format.NDS;
137 | }
138 | else
139 | throw new FormatException("Checksums in the NDS ROM header are invalid.");
140 | }
141 |
142 | private static bool Validate(byte[] header)
143 | {
144 | ushort logoCrc = (ushort)((header[0x15D] << 8) + header[0x15C]);
145 | ushort headerCrc = (ushort)((header[0x15F] << 8) + header[0x15E]);
146 | ushort logoCrcComp = Cll.Security.ComputeCRC16_MODBUS(header, 0xC0, 0x9C);
147 | ushort headerCrcComp = Cll.Security.ComputeCRC16_MODBUS(header, 0, 0x15E);
148 |
149 | if (logoCrc == logoCrcComp && headerCrc == headerCrcComp)
150 | return true;
151 |
152 | return false;
153 | }
154 |
155 | public static bool Validate(string filename)
156 | {
157 | if (File.Exists(filename))
158 | {
159 | byte[] header = new byte[0x200];
160 | FileStream fs = File.OpenRead(filename);
161 | fs.Read(header, 0, 0x200);
162 | fs.Close();
163 | return Validate(header);
164 | }
165 | return false;
166 | }
167 |
168 | ~RomNDS()
169 | {
170 | Dispose(false);
171 | }
172 |
173 | public void Dispose()
174 | {
175 | Dispose(true);
176 | GC.SuppressFinalize(this);
177 | }
178 |
179 | protected virtual void Dispose(bool disposing)
180 | {
181 | if (!this.disposed)
182 | {
183 | if (disposing)
184 | {
185 | if (Icon != null)
186 | {
187 | Icon.Dispose();
188 | Icon = null;
189 | }
190 | }
191 | disposed = true;
192 | }
193 | }
194 | }
195 | }
196 |
--------------------------------------------------------------------------------
/PhacoxsInjector/RomNES.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public class RomNES : RomFile
8 | {
9 | public enum Subformat
10 | {
11 | iNES, //Archaic iNES, iNES 0.7 and iNES 1.0
12 | NES20, //NES 2.0
13 | FDS, //Famicom Disk System
14 | Indeterminate
15 | }
16 |
17 | public Subformat Header
18 | { private set; get; }
19 |
20 | public RomNES(string filename)
21 | : base()
22 | {
23 | Header = Subformat.Indeterminate;
24 |
25 | byte[] header = new byte[0x10];
26 | FileStream fs = File.OpenRead(filename);
27 | fs.Read(header, 0, 0x10);
28 | fs.Close();
29 |
30 | Header = GetFormat(header);
31 |
32 | if (Header != Subformat.Indeterminate)
33 | {
34 | fs = File.Open(filename, FileMode.Open);
35 | Size = (int)fs.Length - (Header == Subformat.FDS ? 0 : 16);
36 | HashCRC16 = Cll.Security.ComputeCRC16(fs);
37 | fs.Close();
38 |
39 | IsValid = true;
40 | Console = Format.NES;
41 | }
42 | else
43 | throw new FormatException("It was not possible to determine the NES ROM format.");
44 |
45 | }
46 |
47 | private static Subformat GetFormat(byte[] header)
48 | {
49 | Subformat format = Subformat.Indeterminate;
50 |
51 | if (header[0] == 0x4E && header[1] == 0x45 && header[2] == 0x53 && header[3] == 0x1A)
52 | {
53 | if ((header[7] & 0x0C) == 0x08)
54 | format = Subformat.NES20;
55 | else
56 | format = Subformat.iNES;
57 | }
58 | else if(header[0] == 0x01 &&
59 | header[1] == 0x2A &&
60 | header[2] == 0x4E &&
61 | header[3] == 0x49 &&
62 | header[4] == 0x4E &&
63 | header[5] == 0x54 &&
64 | header[6] == 0x45 &&
65 | header[7] == 0x4E &&
66 | header[8] == 0x44 &&
67 | header[9] == 0x4F &&
68 | header[10] == 0x2D &&
69 | header[11] == 0x48 &&
70 | header[12] == 0x56 &&
71 | header[13] == 0x43 &&
72 | header[14] == 0x2A)
73 | {
74 | format = Subformat.FDS;
75 | }
76 |
77 | return format;
78 | }
79 |
80 | public static bool Validate(string filename)
81 | {
82 | if (File.Exists(filename))
83 | {
84 | byte[] header = new byte[0x10];
85 | FileStream fs = File.OpenRead(filename);
86 | fs.Read(header, 0, 0x10);
87 | fs.Close();
88 | Subformat format = GetFormat(header);
89 | return format != Subformat.Indeterminate;
90 | }
91 | return false;
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/PhacoxsInjector/RomSNES.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public class RomSNES : RomFile
8 | {
9 | public enum Subformat
10 | {
11 | LoROM,
12 | HiROM,
13 | Indeterminate
14 | }
15 |
16 | public bool IsSMC
17 | { private set; get; }
18 | public Subformat Mode
19 | { private set; get; }
20 |
21 | public RomSNES(string filename)
22 | : base()
23 | {
24 | IsSMC = false;
25 | Mode = Subformat.Indeterminate;
26 |
27 | FileStream fs = File.OpenRead(filename);
28 | int smcHeaderSize = SMCHeaderSize((int)fs.Length);
29 | byte[] data = GetData(fs, smcHeaderSize);
30 | fs.Close();
31 |
32 | if (smcHeaderSize == 0x200)
33 | IsSMC = true;
34 |
35 | int headerOffset = -1;
36 | Mode = GetFormat(data, ref headerOffset);
37 |
38 | if (Mode != Subformat.Indeterminate)
39 | {
40 | if (data[headerOffset + 0x2A] == 0x33)
41 | {
42 | byte uniqueCode;
43 | byte[] shortTitle = new byte[2];
44 | byte region;
45 |
46 | uniqueCode = data[headerOffset + 0x02];
47 | shortTitle[0] = data[headerOffset + 0x03];
48 | shortTitle[1] = data[headerOffset + 0x04];
49 | region = data[headerOffset + 0x05];
50 |
51 | if (Useful.IsUpperLetterOrDigit(uniqueCode))
52 | FormatCode = (char)uniqueCode;
53 | if (Useful.IsUpperLetterOrDigit(shortTitle[0]) &&
54 | Useful.IsUpperLetterOrDigit(shortTitle[1]))
55 | ShortId = Encoding.ASCII.GetString(shortTitle);
56 | if (Useful.IsUpperLetterOrDigit(region))
57 | RegionCode = (char)region;
58 | }
59 |
60 | Version = data[headerOffset + 0x2B];
61 |
62 | byte[] titleBytes = new byte[21];
63 | Array.Copy(data, headerOffset + 0x10, titleBytes, 0, 21);
64 | int count = 21;
65 | while (--count >= 0 && titleBytes[count] == 0x20) ;
66 | Title = Encoding.ASCII.GetString(titleBytes, 0, count + 1);
67 | Size = data.Length;
68 | HashCRC16 = Cll.Security.ComputeCRC16_ARC(data, 0, data.Length);
69 |
70 | IsValid = true;
71 | Console = Format.SNES_USA;
72 | }
73 | else
74 | {
75 | Size = 0;
76 | throw new FormatException("It was not possible to determine the SNES ROM format.");
77 | }
78 | }
79 |
80 | public static int SMCHeaderSize(int filesize)
81 | {
82 | if (filesize % 1024 == 0)
83 | return 0;
84 | else if (filesize % 1024 == 0x200)
85 | return 0x200;
86 | else
87 | return -1;
88 | }
89 |
90 | private static byte[] GetData(FileStream fs, int smcHeader)
91 | {
92 | byte[] data = null;
93 |
94 | if (smcHeader != -1)
95 | {
96 | data = new byte[(int)fs.Length - smcHeader];
97 | fs.Seek(smcHeader, SeekOrigin.Begin);
98 | fs.Read(data, 0, data.Length);
99 | }
100 | else
101 | throw new FormatException("The SNES ROM has an invalid size.");
102 |
103 | return data;
104 | }
105 |
106 | private static Subformat GetFormat(byte[] data, ref int headerOffset)
107 | {
108 | Subformat format = Subformat.Indeterminate;
109 |
110 | if (data != null)
111 | {
112 | ushort checksum16 = Cll.Security.Checksum16(data, 0, data.Length);
113 | ushort checksumCL = (ushort)(data[0x7FDC] + (data[0x7FDD] << 8));
114 | ushort checksumL = (ushort)(data[0x7FDE] + (data[0x7FDF] << 8));
115 | ushort checksumCH = (ushort)(data[0xFFDC] + (data[0xFFDD] << 8));
116 | ushort checksumH = (ushort)(data[0xFFDE] + (data[0xFFDF] << 8));
117 |
118 | if ((checksumCL ^ 0xFFFF) == checksumL && checksumL == checksum16)
119 | {
120 | format = Subformat.LoROM;
121 | headerOffset = 0x7FB0;
122 | }
123 | else if ((checksumCH ^ 0xFFFF) == checksumH && checksumH == checksum16)
124 | {
125 | format = Subformat.HiROM;
126 | headerOffset = 0xFFB0;
127 | }
128 | else
129 | {
130 | headerOffset = 0x7FB0;
131 | format = Subformat.LoROM;
132 | for (int i = 0; i < 21; i++)
133 | {
134 | if (data[headerOffset + 0x10 + i] < 0x20 || data[headerOffset + 0x10 + i] > 0x7E)
135 | {
136 | headerOffset = 0xFFB0;
137 | break;
138 | }
139 | }
140 |
141 | if (headerOffset == 0xFFB0)
142 | {
143 | format = Subformat.HiROM;
144 | for (int i = 0; i < 21; i++)
145 | {
146 | if (data[headerOffset + 0x10 + i] < 0x20 || data[headerOffset + 0x10 + i] > 0x7E)
147 | {
148 | headerOffset = -1;
149 | format = Subformat.Indeterminate;
150 | break;
151 | }
152 | }
153 | }
154 |
155 | if (
156 | format != Subformat.Indeterminate &&
157 | (
158 | (data[headerOffset + 0x27] > 0x0D || data[headerOffset + 0x28] > 0x08) ||
159 | (Math.Pow(2.0, 3.0 + data[headerOffset + 0x27]) / 8.0 > data.Length) ||
160 | (data[headerOffset + 0x25] != 0x20 &&//Slow + LoROM
161 | data[headerOffset + 0x25] != 0x21 && //Slow + HiROM
162 | data[headerOffset + 0x25] != 0x22 && //Slow + LoROM (S-DD1) [?]
163 | data[headerOffset + 0x25] != 0x23 && //Slow + LoROM (SA-1)
164 | data[headerOffset + 0x25] != 0x25 && //Slow + ExHiROM [?]
165 | data[headerOffset + 0x25] != 0x2A && //Slow + ExHiROM (SPC7110) [?]
166 | data[headerOffset + 0x25] != 0x30 && //Fast + LoROM
167 | data[headerOffset + 0x25] != 0x31 && //Fast + HiROM
168 | data[headerOffset + 0x25] != 0x32 && //Fast + ExLoROM (or LoROM (S-DD1) [?])
169 | data[headerOffset + 0x25] != 0x33 && //Fast + LoROM (SA-1) [?]
170 | data[headerOffset + 0x25] != 0x35 && //Fast + ExHiROM
171 | data[headerOffset + 0x25] != 0x3A) //Fast + ExHiROM (SPC7110)
172 | )
173 | )
174 | {
175 | format = Subformat.Indeterminate;
176 | }
177 | }
178 | }
179 |
180 | return format;
181 | }
182 |
183 | public static bool Validate(string filename)
184 | {
185 | if (File.Exists(filename))
186 | {
187 | FileStream fs = File.OpenRead(filename);
188 | int smcHeaderSize = SMCHeaderSize((int)fs.Length);
189 | byte[] data = GetData(fs, smcHeaderSize);
190 | fs.Close();
191 | int headerOffset = -1;
192 | Subformat format = GetFormat(data, ref headerOffset);
193 | return format != Subformat.Indeterminate;
194 | }
195 | return false;
196 | }
197 | }
198 | }
199 |
--------------------------------------------------------------------------------
/PhacoxsInjector/SNESInjector.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.IO;
4 | using System.Text;
5 |
6 | namespace PhacoxsInjector
7 | {
8 | public class SNESInjector : WiiUInjector
9 | {
10 | public enum AspectRatio
11 | {
12 | Default,//H4V3
13 | H8V7,
14 | H16V9
15 | };
16 |
17 | public AspectRatio AspectRatioValue;
18 | public byte Speed;
19 | public byte Players;
20 | public byte SoundVolume;
21 |
22 | public override string TitleId
23 | {
24 | get
25 | {
26 | if (BaseIsLoaded && RomIsValid)
27 | return "0005000262" + Rom.HashCRC16.ToString("X4") + Base.Index.ToString("X2");
28 | else
29 | return "";
30 | }
31 | }
32 |
33 | public SNESInjector()
34 | : base()
35 | {
36 | BasePath = Environment.CurrentDirectory + "\\base_snes";
37 | Base = GetLoadedBase();
38 |
39 | AspectRatioValue = AspectRatio.Default;
40 | Speed = 60;
41 | Players = 2;
42 | SoundVolume = 100;
43 | }
44 |
45 | public override void SetRom(string romPath)
46 | {
47 | RomPath = romPath;
48 | Rom = new RomSNES(romPath);
49 | }
50 |
51 | public override void Inject(bool encrypt, string outputPath, string shortName, string longName,
52 | Bitmap menuIconImg, Bitmap bootTvImg, Bitmap bootDrcImg)
53 | {
54 | string outPath = GetValidOutputPath(outputPath, shortName);
55 | if (Directory.Exists(outPath) &&
56 | (Directory.GetDirectories(outPath).Length != 0 || Directory.GetFiles(outPath).Length != 0))
57 | throw new Exception("The output path \"" + outPath + "\"exists and is not empty.");
58 |
59 | Base = GetLoadedBase();
60 | if (!BaseIsLoaded)
61 | throw new Exception("The base is not ready.");
62 |
63 | InjectImages(menuIconImg, bootTvImg, bootDrcImg);
64 | if (RomIsValid)
65 | InjectMeta(shortName, longName);
66 | InjectRom();
67 |
68 | if (encrypt)
69 | NusContent.Encrypt(BasePath, outPath);
70 | else if (!Useful.DirectoryCopy(BasePath, outPath, true))
71 | throw new Exception("\"" + BasePath + "\" copy failed.");
72 | }
73 |
74 | protected override void InjectRom()
75 | {
76 | byte speed = (byte)(Speed == 50 ? 50 : 60);
77 | byte players = (byte)(Players == 4 ? 4 : Players == 3 ? 3 : 2);
78 | byte romType = 0;
79 | if (RomIsValid)
80 | {
81 | switch ((Rom as RomSNES).Mode)
82 | {
83 | case RomSNES.Subformat.LoROM:
84 | romType = 20;
85 | break;
86 | case RomSNES.Subformat.HiROM:
87 | romType = 21;
88 | break;
89 | default:
90 | romType = 0;
91 | break;
92 | }
93 | }
94 | short widthTv;
95 | short widthDrc;
96 | switch (AspectRatioValue)
97 | {
98 | case AspectRatio.H8V7:
99 | widthTv = 2240;
100 | widthDrc = 996;
101 | break;
102 | case AspectRatio.H16V9:
103 | widthTv = 1440;
104 | widthDrc = 640;
105 | break;
106 | default:
107 | widthTv = 1920;
108 | widthDrc = 854;
109 | break;
110 | }
111 |
112 | if (!Directory.Exists(Environment.CurrentDirectory + "\\resources"))
113 | Directory.CreateDirectory(Environment.CurrentDirectory + "\\resources");
114 |
115 | DirectoryInfo code = new DirectoryInfo(BasePath + "\\code");
116 | FileInfo[] rpxFiles = code.GetFiles("*.rpx");
117 | RPXSNES.Inject(rpxFiles[0].FullName, RomPath, Environment.CurrentDirectory + "\\resources\\snes.rpx", speed, players, SoundVolume, romType, widthTv, widthDrc);
118 |
119 | File.Delete(rpxFiles[0].FullName);
120 | File.Move(Environment.CurrentDirectory + "\\resources\\snes.rpx", rpxFiles[0].FullName);
121 | }
122 |
123 | protected override WiiUVC GetLoadedBase()
124 | {
125 | return GetBase(BasePath);
126 | }
127 |
128 | public VCSNES GetBase(string path)
129 | {
130 | try
131 | {
132 | ValidateBase(path, false);
133 | RPXSNES vc = ValidateRPX(path);
134 | return VCSNES.GetVC(vc.CRCsSum);
135 | }
136 | catch
137 | {
138 | return null;
139 | }
140 | }
141 |
142 | private RPXSNES ValidateRPX(string path)
143 | {
144 | DirectoryInfo code = new DirectoryInfo(path + "\\code");
145 | if (!code.Exists)
146 | throw new Exception("The \"" + path + "\\code\" folder not exist.");
147 |
148 | FileInfo[] rpxFiles = code.GetFiles("*.rpx");
149 | if (rpxFiles.Length != 1)
150 | throw new Exception("The \"" + path + "\\code\" folder has more than one RPX file.");
151 |
152 | if (!(rpxFiles[0].Name.StartsWith("WUP-J") && (
153 | rpxFiles[0].Name.EndsWith("E.rpx") ||
154 | rpxFiles[0].Name.EndsWith("P.rpx") ||
155 | rpxFiles[0].Name.EndsWith("D.rpx") ||
156 | rpxFiles[0].Name.EndsWith("F.rpx") ||
157 | rpxFiles[0].Name.EndsWith("J.rpx"))))
158 | throw new Exception("The \"" + rpxFiles[0].Name + "\" RPX file is not an RPX SNES.");
159 |
160 | return new RPXSNES(rpxFiles[0].FullName);
161 | }
162 |
163 | private void ValidateBase(string path, bool validateRPX)
164 | {
165 | string[] folders = {
166 | path + "\\content\\msg",
167 | path + "\\content\\snd",
168 | };
169 |
170 | string[] files = {
171 | path + "\\code\\app.xml",
172 | path + "\\code\\cos.xml",
173 | path + "\\content\\texture2D_206.gsh",
174 | path + "\\meta\\iconTex.tga",
175 | path + "\\meta\\bootTvTex.tga",
176 | path + "\\meta\\bootDrcTex.tga",
177 | path + "\\meta\\meta.xml"
178 | };
179 |
180 | ValidateBase(folders, files);
181 | if (validateRPX)
182 | ValidateRPX(path);
183 | }
184 |
185 | public override void ValidateBase(string path)
186 | {
187 | ValidateBase(path, true);
188 | }
189 |
190 | public override void ValidateEncryptedBase(string path)
191 | {
192 | string appFileName = GetAppFileName(path);
193 |
194 | if (!(appFileName.StartsWith("WUP-J") && (
195 | appFileName.EndsWith("E.rpx") ||
196 | appFileName.EndsWith("P.rpx") ||
197 | appFileName.EndsWith("D.rpx") ||
198 | appFileName.EndsWith("F.rpx") ||
199 | appFileName.EndsWith("J.rpx"))))
200 | throw new Exception("The \"" + appFileName + "\" RPX file is not an RPX SNES.");
201 | }
202 | }
203 | }
204 |
--------------------------------------------------------------------------------
/PhacoxsInjector/Useful.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text;
4 |
5 | namespace PhacoxsInjector
6 | {
7 | public static class Useful
8 | {
9 | public static bool DirectoryCopy(string source, string destination, bool overwrite)
10 | {
11 | if (destination != source && (!Directory.Exists(destination) || overwrite))
12 | {
13 | Directory.CreateDirectory(destination);
14 |
15 | string[] sources = Directory.GetFiles(source);
16 | string[] destinations = new string[sources.Length];
17 | int i, last;
18 |
19 | for (i = 0; i < sources.Length; i++)
20 | destinations[i] = destination + "\\" + Path.GetFileName(sources[i]);
21 |
22 | for (i = 0; i < sources.Length; i++)
23 | File.Copy(sources[i], destinations[i], overwrite);
24 |
25 | string[] sourcesDir = Directory.GetDirectories(source);
26 | string[] destinationsDir = new string[sourcesDir.Length];
27 |
28 | for (i = 0; i < sourcesDir.Length; i++)
29 | {
30 | last = sourcesDir[i].LastIndexOf('\\');
31 | destinationsDir[i] = destination + sourcesDir[i].Substring(last, sourcesDir[i].Length - last);
32 | }
33 |
34 | for (i = 0; i < sourcesDir.Length; i++)
35 | {
36 | if (!DirectoryCopy(sourcesDir[i], destinationsDir[i], overwrite))
37 | return false;
38 | }
39 |
40 | return true;
41 | }
42 | return false;
43 | }
44 |
45 | public static byte[] StrHexToByteArray(string hex, string separator)
46 | {
47 | if (hex.Length % 2 == 1)
48 | throw new Exception("The binary key cannot have an odd number of digits.");
49 |
50 | if (separator.Length > 0)
51 | hex = hex.Replace(separator, "");
52 |
53 | if (!IsHexadecimal(hex))
54 | throw new Exception("The binary key does not contain only hexadecimal values.");
55 |
56 | byte[] arr = new byte[hex.Length >> 1];
57 |
58 | for (int i = 0; i < hex.Length >> 1; ++i)
59 | arr[i] = (byte)((GetHexVal(hex[i << 1]) << 4) + (GetHexVal(hex[(i << 1) + 1])));
60 |
61 | return arr;
62 | }
63 |
64 | public static bool IsHexadecimal(string hex)
65 | {
66 | for (int i = 0; i < hex.Length; i++)
67 | {
68 | if ((hex[i] < '0' || hex[i] > '9')
69 | && (hex[i] < 'A' || hex[i] > 'F')
70 | && (hex[i] < 'a' || hex[i] > 'f'))
71 | return false;
72 | }
73 | return true;
74 | }
75 |
76 | public static bool IsUpperLetterOrDigit(byte c)
77 | {
78 | if (c >= 0x30 && c <= 0x39 || c >= 0x41 && c <= 0x5A)
79 | return true;
80 | else
81 | return false;
82 | }
83 |
84 | private static int GetHexVal(char hex)
85 | {
86 | int val = (int)hex;
87 | //For uppercase A-F letters:
88 | //return val - (val < 58 ? 48 : 55);
89 | //For lowercase a-f letters:
90 | //return val - (val < 58 ? 48 : 87);
91 | //Or the two combined, but a bit slower:
92 | return val - (val < 58 ? 48 : (val < 97 ? 55 : 87));
93 | }
94 |
95 | public static bool IsUTF8(byte[] bytes)
96 | {
97 | try
98 | {
99 | (new UTF8Encoding(false, true)).GetString(bytes);
100 | }
101 | catch
102 | {
103 | return false;
104 | }
105 | return true;
106 | }
107 |
108 | public static string Windows1252ToASCII(string windows1252, char replacement)
109 | {
110 | if (replacement < 0x20 || replacement > 0x7E)
111 | throw new Exception("Replacement character is not a valid ASCII character.");
112 |
113 | windows1252 = windows1252.Replace("Š", "Sh");
114 | windows1252 = windows1252.Replace("Œ", "OE");
115 | windows1252 = windows1252.Replace("Ž", "Zh");
116 | windows1252 = windows1252.Replace("š", "sh");
117 | windows1252 = windows1252.Replace("œ", "oe");
118 | windows1252 = windows1252.Replace("ž", "zh");
119 | windows1252 = windows1252.Replace("Ÿ", "Ij");
120 | windows1252 = windows1252.Replace("Æ", "AE");
121 | windows1252 = windows1252.Replace("Ð", "Dh");
122 | windows1252 = windows1252.Replace("Ñ", "Nh");
123 | windows1252 = windows1252.Replace("Ø", "OE");
124 | windows1252 = windows1252.Replace("Þ", "Th");
125 | windows1252 = windows1252.Replace("ß", "ss");
126 | windows1252 = windows1252.Replace("æ", "ae");
127 | windows1252 = windows1252.Replace("ð", "dh");
128 | windows1252 = windows1252.Replace("ñ", "nh");
129 | windows1252 = windows1252.Replace("ø", "oe");
130 | windows1252 = windows1252.Replace("þ", "th");
131 | windows1252 = windows1252.Replace("ÿ", "ij");
132 |
133 | char[] array = windows1252.ToCharArray();
134 |
135 | for (int i = 0; i < array.Length; i++)
136 | {
137 | if (array[i] >= 0xC0 && array[i] <= 0xC5)
138 | array[i] = (char)0x41; //A
139 | else if (array[i] >= 0xC8 && array[i] <= 0xCB)
140 | array[i] = (char)0x45; //E
141 | else if (array[i] >= 0xCC && array[i] <= 0xCF)
142 | array[i] = (char)0x49; //I
143 | else if (array[i] >= 0xD2 && array[i] <= 0xD6)
144 | array[i] = (char)0x4F; //O
145 | else if (array[i] >= 0xD9 && array[i] <= 0xDC)
146 | array[i] = (char)0x55; //U
147 | else if (array[i] >= 0xE0 && array[i] <= 0xE5)
148 | array[i] = (char)0x61; //a
149 | else if (array[i] >= 0xE8 && array[i] <= 0xEB)
150 | array[i] = (char)0x65; //e
151 | else if (array[i] >= 0xEC && array[i] <= 0xEF)
152 | array[i] = (char)0x69; //i
153 | else if (array[i] >= 0xF2 && array[i] <= 0xF6)
154 | array[i] = (char)0x6F; //o
155 | else if (array[i] >= 0xF9 && array[i] <= 0xFC)
156 | array[i] = (char)0x75; //u
157 | else if (array[i] == 0xC7)
158 | array[i] = (char)0x53; //S
159 | else if (array[i] == 0xE7)
160 | array[i] = (char)0x73; //s
161 | else if (array[i] == 0xDD)
162 | array[i] = (char)0x59; //Y
163 | else if (array[i] == 0xFD)
164 | array[i] = (char)0x79; //y
165 | else if (array[i] == 0x91)
166 | array[i] = (char)0x27; //'
167 | else if (array[i] == 0x92)
168 | array[i] = (char)0x27; //'
169 | else if (array[i] == 0x93)
170 | array[i] = (char)0x22; //"
171 | else if (array[i] == 0x94)
172 | array[i] = (char)0x22; //"
173 | else if (array[i] < 0x20 || array[i] > 0x7E)
174 | array[i] = replacement;
175 | }
176 |
177 | return new string(array);
178 | }
179 |
180 | public static string ToFileSize(int filesize)
181 | {
182 | if (filesize < 0)
183 | throw new Exception("File size cannot be negative.");
184 |
185 | if (filesize == 1)
186 | return "1 byte";
187 |
188 | double value = filesize;
189 | int multiple = 0;
190 | string unit = "";
191 |
192 | while (value >= 1024 && multiple < 8)
193 | {
194 | value /= 1024;
195 | multiple++;
196 | }
197 |
198 | switch (multiple)
199 | {
200 | case 0: unit = "bytes"; break;
201 | case 1: unit = "KiB"; break; // Kibibyte
202 | case 2: unit = "MiB"; break; // Mebibyte
203 | case 3: unit = "GiB"; break; // Gibibyte
204 | case 4: unit = "TiB"; break; // Tebibyte
205 | case 5: unit = "PiB"; break; // Pebibyte
206 | case 6: unit = "EiB"; break; // Exbibyte
207 | case 7: unit = "ZiB"; break; // Zebibyte
208 | case 8: unit = "YiB"; break; // Yobibyte
209 | }
210 |
211 | return Math.Round(value, 2).ToString(System.Globalization.CultureInfo.CurrentCulture) + " " + unit;
212 | }
213 | }
214 | }
215 |
--------------------------------------------------------------------------------
/PhacoxsInjector/VCN64.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PhacoxsInjector
4 | {
5 | public class VCN64 : WiiUVC
6 | {
7 | public readonly int SVN;
8 |
9 | public VCN64(int index, uint hash, DateTime release, string title, int svn)
10 | : base(index, hash, release, title)
11 | {
12 | SVN = svn;
13 | }
14 |
15 | public VCN64(uint hash)
16 | : base(hash)
17 | {
18 | SVN = 0;
19 | }
20 |
21 | public override string ToString()
22 | {
23 | return "Hash: " + Hash.ToString("X8") + ", SVN: " + SVN.ToString() + " TIME: " + Release.ToString("yyyy/MM/dd hh:mm:ss") + "\r\nTitle: " + Title;
24 | }
25 |
26 | public static VCN64 GetVC(uint hash)
27 | {
28 | switch (hash)
29 | {
30 | case 0xFB245F10: return VCN64.Title01;
31 | case 0x8EF60284: return VCN64.Title02;
32 | case 0xF042E451: return VCN64.Title03;
33 | case 0xAE933905: return VCN64.Title04;
34 | case 0xCEB7A833: return VCN64.Title05;
35 | case 0x7EB7B97D: return VCN64.Title06;
36 | case 0x17BCC968: return VCN64.Title07;
37 | case 0x05F20995: return VCN64.Title08;
38 | case 0x8D3C196C: return VCN64.Title09;
39 | case 0x307DCE21: return VCN64.Title10;
40 | case 0xF41BC127: return VCN64.Title11;
41 | case 0x36C0456E: return VCN64.Title12;
42 | case 0x5559F831: return VCN64.Title13;
43 | case 0xD554D2E4: return VCN64.Title14;
44 | case 0x04F7D67F: return VCN64.Title15;
45 | case 0xC376B949: return VCN64.Title16;
46 | case 0xEE8855FF: return VCN64.Title17;
47 | case 0x71FC1731: return VCN64.Title18;
48 | case 0x967E7DF0: return VCN64.Title19;
49 | case 0xBE3CEC5F: return VCN64.Title20;
50 | case 0x89F2BC09: return VCN64.Title21;
51 | case 0xFED1FB48: return VCN64.Title22;
52 | case 0x724C4F5D: return VCN64.Title23;
53 | case 0x2AF3C23B: return VCN64.Title24;
54 | default: return null;
55 | }
56 | }
57 |
58 | /// Donkey Kong 64 (USA/EUR)/Super Mario 64 (USA/EUR/JPN)
59 | public static readonly VCN64 Title01 = new VCN64(01, 0xFB245F10, new DateTime(2015, 1, 20, 14, 12, 6), "Super Mario 64 (USA/EUR/JPN)/Donkey Kong 64 (USA/EUR)", 1680);
60 | /// Donkey Kong 64 (JPN)
61 | public static readonly VCN64 Title02 = new VCN64(02, 0x8EF60284, new DateTime(2015, 1, 27, 16, 8, 0), "Donkey Kong 64 (JPN)", 1690);
62 | /// The Legend of Zelda: Ocarina of Time (USA/EUR/JPN)
63 | public static readonly VCN64 Title03 = new VCN64(03, 0xF042E451, new DateTime(2015, 1, 30, 10, 49, 22), "The Legend of Zelda: Ocarina of Time (USA/EUR/JPN)", 1696);
64 | /// Paper Mario (USA/EUR/JPN)
65 | public static readonly VCN64 Title04 = new VCN64(04, 0xAE933905, new DateTime(2015, 3, 5, 15, 6, 57), "Paper Mario (USA/EUR/JPN)", 1743);
66 | /// Kirby 64: The Crystal Shards (JPN)
67 | public static readonly VCN64 Title05 = new VCN64(05, 0xCEB7A833, new DateTime(2015, 3, 19, 16, 15, 32), "Kirby 64: The Crystal Shards (JPN)", 1778);
68 | /// Kirby 64: The Crystal Shards (USA/EUR)
69 | public static readonly VCN64 Title06 = new VCN64(06, 0x7EB7B97D, new DateTime(2015, 3, 24, 13, 46, 36), "Kirby 64: The Crystal Shards (USA/EUR)", 1790);
70 | /// Mario Tennis (JPN)/1080º Snowboarding (JPN)
71 | public static readonly VCN64 Title07 = new VCN64(07, 0x17BCC968, new DateTime(2015, 5, 12, 17, 32, 21), "Mario Tennis (JPN)/1080º Snowboarding (JPN)", 1897);
72 | /// Mario Tennis (USA/EUR)/1080º Snowboarding (USA/EUR)
73 | public static readonly VCN64 Title08 = new VCN64(08, 0x05F20995, new DateTime(2015, 5, 20, 14, 34, 0), "Mario Tennis (USA/EUR)/1080º Snowboarding (USA/EUR)", 1918);
74 | /// Mario Golf (JPN)
75 | public static readonly VCN64 Title09 = new VCN64(09, 0x8D3C196C, new DateTime(2015, 6, 9, 11, 0, 28), "Mario Golf (JPN)", 1946);
76 | /// Mario Golf (USA/EUR)
77 | public static readonly VCN64 Title10 = new VCN64(10, 0x307DCE21, new DateTime(2015, 6, 16, 16, 9, 3), "Mario Golf (USA/EUR)", 1955);
78 | /// Star Fox 64 (USA/EUR/JPN)
79 | public static readonly VCN64 Title11 = new VCN64(11, 0xF41BC127, new DateTime(2015, 6, 30, 14, 7, 35), "Star Fox 64 (USA/EUR/JPN)", 1970);
80 | /// Sin and Punishment (USA/EUR/JPN)
81 | public static readonly VCN64 Title12 = new VCN64(12, 0x36C0456E, new DateTime(2015, 7, 16, 9, 20, 39), "Sin and Punishment (USA/EUR/JPN)", 1991);
82 | /// Mario Kart 64 (USA/EUR/JPN)
83 | public static readonly VCN64 Title13 = new VCN64(13, 0x5559F831, new DateTime(2015, 8, 18, 10, 7, 52), "Mario Kart 64 (USA/EUR/JPN)", 2043);
84 | /// Yoshi's Story (USA/EUR/JPN)
85 | public static readonly VCN64 Title14 = new VCN64(14, 0xD554D2E4, new DateTime(2015, 9, 15, 16, 19, 11), "Yoshi's Story (USA/EUR/JPN)", 2079);
86 | /// Wave Race 64 (JPN)
87 | public static readonly VCN64 Title15 = new VCN64(15, 0x04F7D67F, new DateTime(2015, 10, 22, 10, 15, 3), "Wave Race 64 (JPN)", 2109);
88 | /// Wave Race 64 (USA/EUR)
89 | public static readonly VCN64 Title16 = new VCN64(16, 0xC376B949, new DateTime(2015, 11, 18, 12, 41, 26), "Wave Race 64 (USA/EUR)", 2136);
90 | /// The Legend of Zelda: Majora's Mask (JPN)
91 | public static readonly VCN64 Title17 = new VCN64(17, 0xEE8855FF, new DateTime(2015, 12, 16, 16, 1, 23), "The Legend of Zelda: Majora's Mask (JPN)", 2170);
92 | /// The Legend of Zelda: Majora's Mask (USA/EUR)
93 | public static readonly VCN64 Title18 = new VCN64(18, 0x71FC1731, new DateTime(2016, 1, 5, 16, 50, 14), "The Legend of Zelda: Majora's Mask (USA/EUR)", 2190);
94 | /// Pokémon Snap (USA/EUR/JPN)
95 | public static readonly VCN64 Title19 = new VCN64(19, 0x967E7DF0, new DateTime(2016, 1, 8, 9, 42, 51), "Pokémon Snap (USA/EUR/JPN)", 2195);
96 | /// Mario Party 2 (USA/EUR/JPN)
97 | public static readonly VCN64 Title20 = new VCN64(20, 0xBE3CEC5F, new DateTime(2016, 2, 2, 10, 56, 10), "Mario Party 2 (USA/EUR/JPN)", 2234);
98 | /// Custom Robo V2 (JPN)
99 | public static readonly VCN64 Title21 = new VCN64(21, 0x89F2BC09, new DateTime(2016, 2, 26, 9, 3, 55), "Custom Robo V2 (JPN)", 2244);
100 | /// Ogre Battle 64: Person of Lordly Caliber (USA/EUR/JPN)
101 | public static readonly VCN64 Title22 = new VCN64(22, 0xFED1FB48, new DateTime(2016, 8, 30, 13, 57, 2), "Ogre Battle 64: Person of Lordly Caliber (USA/EUR/JPN)", 2395);
102 | /// Excitebike 64 (USA/EUR/JPN)
103 | public static readonly VCN64 Title23 = new VCN64(23, 0x724C4F5D, new DateTime(2016, 9, 14, 13, 42, 0), "Excitebike 64 (USA/EUR/JPN)", 2404);
104 | /// F-Zero X (USA/EUR/JPN)/Bomberman 64 (USA/EUR/JPN)/Harvest Moon 64 (USA/EUR/JPN)
105 | public static readonly VCN64 Title24 = new VCN64(24, 0x2AF3C23B, new DateTime(2016, 11, 18, 11, 44, 39), "F-Zero X (USA/EUR/JPN)/Bomberman 64 (USA/EUR/JPN)/Harvest Moon 64 (USA/EUR/JPN)", 2428);
106 | }
107 | }
108 |
--------------------------------------------------------------------------------
/PhacoxsInjector/VCN64ConfigFile.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 |
4 | namespace PhacoxsInjector
5 | {
6 | public class VCN64ConfigFile
7 | {
8 | public bool IsValid
9 | { private set; get; }
10 | public ushort HashCRC16
11 | { private set; get; }
12 |
13 | public VCN64ConfigFile(string filename)
14 | {
15 | IsValid = false;
16 | HashCRC16 = 0;
17 |
18 | try
19 | {
20 | IsValid = Validate(filename);
21 | }
22 | catch
23 | {
24 | IsValid = UTF8Validator(filename);
25 | }
26 |
27 | if (IsValid)
28 | {
29 | FileStream fs = File.Open(filename, FileMode.Open);
30 | HashCRC16 = Cll.Security.ComputeCRC16(fs);
31 | fs.Close();
32 | }
33 | //else
34 | //throw new FormatException("N64 config file \"" + filename + "\" is invalid.");
35 | }
36 |
37 | public static void Copy(string source, string destination)
38 | {
39 | bool valid = false;
40 | try
41 | {
42 | valid = Validate(source);
43 | }
44 | catch
45 | {
46 | valid = UTF8Validator(source);
47 | }
48 |
49 | if (valid)
50 | File.Copy(source, destination);
51 | //else
52 | //throw new Exception("N64 config file \"" + source + "\" copy failed.");
53 | }
54 |
55 | private static bool Validate(string filename)
56 | {
57 | return VCN64Config.Validator.Evaluate(filename);
58 | }
59 |
60 | //The UTF8 validator is not 100% reliable.
61 | public static bool UTF8Validator(string filename)
62 | {
63 | if (File.Exists(filename))
64 | {
65 | FileStream fs = File.Open(filename, FileMode.Open);
66 | byte[] file = new byte[fs.Length];
67 | fs.Read(file, 0, file.Length);
68 | fs.Close();
69 | return Useful.IsUTF8(file);
70 | }
71 | else
72 | throw new Exception("N64 config file \"" + filename + "\" not exists.");
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/PhacoxsInjector/VCNDS.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PhacoxsInjector
4 | {
5 | public class VCNDS : WiiUVC
6 | {
7 | public VCNDS(int index, uint hash, DateTime release, string title)
8 | : base(index, hash, release, title)
9 | {
10 | }
11 |
12 | public VCNDS(uint hash)
13 | : base(hash)
14 | {
15 | }
16 |
17 | public override string ToString()
18 | {
19 | return "Hash: " + Hash.ToString("X8") + ", Release date: " + Release.ToString("yyyy/MM/dd") + "\r\nTitle: " + Title;
20 | }
21 |
22 | public static VCNDS GetVC(uint hash)
23 | {
24 | switch (hash)
25 | {
26 | case 0xCD2CFD15: return VCNDS.Title01;
27 | case 0x8071CB03: return VCNDS.Title02;
28 | case 0x9454C9D0: return VCNDS.Title03;
29 | case 0xE0207B48: return VCNDS.Title04;
30 | case 0xDBF04FD0: return VCNDS.Title05;
31 | case 0x70AB80AC: return VCNDS.Title06;
32 | case 0x99D0711F: return VCNDS.Title07;
33 | case 0xDCB3AB59: return VCNDS.Title08;
34 | case 0xEF47DDC4: return VCNDS.Title09;
35 | case 0x71110CE9: return VCNDS.Title10;
36 | case 0xEEEB4E36: return VCNDS.Title11;
37 | case 0x9566F967: return VCNDS.Title12;
38 | case 0x746411E4: return VCNDS.Title13;
39 | case 0x16B0D355: return VCNDS.Title14;
40 | case 0xDA012FA8: return VCNDS.Title15;
41 | case 0x76949547: return VCNDS.Title16;
42 | case 0x4489EF3E: return VCNDS.Title17;
43 | case 0x52DEFCB3: return VCNDS.Title18;
44 | case 0x595D3B65: return VCNDS.Title19;
45 | case 0x320B05E2: return VCNDS.Title20;
46 | case 0xFF82AF20: return VCNDS.Title21;
47 | case 0x70783B5F: return VCNDS.Title22;
48 | case 0x2FF26429: return VCNDS.Title23;
49 | case 0x816543BD: return VCNDS.Title24;
50 | case 0x563921C1: return VCNDS.Title25;
51 | case 0x52319B0A: return VCNDS.Title26;
52 | case 0xB8454E86: return VCNDS.Title27;
53 | default: return null;
54 | }
55 | }
56 |
57 | /// Big Brain Academy (USA/EUR/JPN)/WarioWare: Touched! (USA/EUR/JPN)/Yoshi’s Island DS (USA/EUR/JPN)
58 | public static readonly VCNDS Title01 = new VCNDS(01, 0xCD2CFD15, new DateTime(2015, 4, 1), "Big Brain Academy (USA/EUR/JPN)/WarioWare: Touched! (USA/EUR/JPN)/\nYoshi’s Island DS (USA/EUR/JPN)");
59 | /// Mario Kart DS (USA/EUR/JPN)/New Super Mario Bros. (USA/JPN)
60 | public static readonly VCNDS Title02 = new VCNDS(02, 0x8071CB03, new DateTime(2015, 4, 2), "Mario Kart DS (USA/EUR/JPN)/New Super Mario Bros. (USA/JPN)");
61 | /// Brain Age: Train Your Brain in Minutes a Day! (USA/EUR/JPN)/Yoshi Touch and Go (USA/EUR/JPN)
62 | public static readonly VCNDS Title03 = new VCNDS(03, 0x9454C9D0, new DateTime(2015, 4, 9), "Brain Age: Train Your Brain in Minutes a Day! (USA/EUR/JPN)/\nYoshi Touch & Go (USA/EUR/JPN)");
63 | /// Mario and Luigi: Partners in Time (USA/EUR/JPN)
64 | public static readonly VCNDS Title04 = new VCNDS(04, 0xE0207B48, new DateTime(2015, 6, 10), "Mario & Luigi: Partners in Time (USA/EUR/JPN)");
65 | /// Star Fox Command (USA/EUR/JPN)
66 | public static readonly VCNDS Title05 = new VCNDS(05, 0xDBF04FD0, new DateTime(2015, 6, 25), "Star Fox Command (USA/EUR/JPN)");
67 | /// Kirby: Squeak Squad (USA/EUR/JPN)
68 | public static readonly VCNDS Title06 = new VCNDS(06, 0x70AB80AC, new DateTime(2015, 6, 25), "Kirby: Squeak Squad (USA/EUR/JPN)");
69 | /// Fire Emblem: Shadow Dragon (USA/EUR/JPN)
70 | public static readonly VCNDS Title07 = new VCNDS(07, 0x99D0711F, new DateTime(2015, 7, 2), "Fire Emblem: Shadow Dragon (USA/EUR/JPN)");
71 | /// DK: Jungle Climber (USA/EUR/JPN)
72 | public static readonly VCNDS Title08 = new VCNDS(08, 0xDCB3AB59, new DateTime(2015, 7, 8), "DK: Jungle Climber (USA/EUR/JPN)");
73 | /// Wario: Master of Disguise (USA/EUR/JPN)
74 | public static readonly VCNDS Title09 = new VCNDS(09, 0xEF47DDC4, new DateTime(2015, 8, 20), "Wario: Master of Disguise (USA/EUR/JPN)");
75 | /// Mario vs. Donkey Kong 2: March of the Minis (USA/EUR/JPN)
76 | public static readonly VCNDS Title10 = new VCNDS(10, 0x71110CE9, new DateTime(2015, 9, 17), "Mario vs. Donkey Kong 2: March of the Minis (USA/EUR/JPN)");
77 | /// Metroid Prime Hunters (USA/EUR/JPN)
78 | public static readonly VCNDS Title11 = new VCNDS(11, 0xEEEB4E36, new DateTime(2015, 9, 30), "Metroid Prime Hunters (USA/EUR/JPN)");
79 | /// The Legend of Zelda: Phantom Hourglass (USA/EUR/JPN)
80 | public static readonly VCNDS Title12 = new VCNDS(12, 0x9566F967, new DateTime(2015, 11, 13), "The Legend of Zelda: Phantom Hourglass (USA/EUR/JPN)");
81 | /// The Legend of Zelda: Spirit Tracks (USA/EUR/JPN)
82 | public static readonly VCNDS Title13 = new VCNDS(13, 0x746411E4, new DateTime(2015, 11, 13), "The Legend of Zelda: Spirit Tracks (USA/EUR/JPN)");
83 | /// Animal Crossing: Wild World (USA/EUR/JPN)
84 | public static readonly VCNDS Title14 = new VCNDS(14, 0x16B0D355, new DateTime(2015, 11, 19), "Animal Crossing: Wild World (USA/EUR/JPN)");
85 | /// Super Mario 64 DS (USA/EUR/JPN)/Kirby: Canvas Curse (USA/EUR/JPN)
86 | public static readonly VCNDS Title15 = new VCNDS(15, 0xDA012FA8, new DateTime(2015, 12, 3), "Super Mario 64 DS (USA/EUR/JPN)/Kirby: Canvas Curse (USA/EUR/JPN)");
87 | /// Kirby: Mass Attack (USA/EUR/JPN)
88 | public static readonly VCNDS Title16 = new VCNDS(16, 0x76949547, new DateTime(2015, 12, 3), "Kirby: Mass Attack (USA/EUR/JPN)");
89 | /// New Super Mario Bros. (EUR)
90 | public static readonly VCNDS Title17 = new VCNDS(17, 0x4489EF3E, new DateTime(2015, 12, 17), "New Super Mario Bros. (EUR)");
91 | /// Pokémon Ranger (USA)/Pokémon Mystery Dungeon: Blue Rescue Team (USA/EUR)
92 | public static readonly VCNDS Title18 = new VCNDS(18, 0x52DEFCB3, new DateTime(2016, 2, 11), "Pokémon Ranger (USA)/Pokémon Mystery Dungeon: Blue Rescue Team (USA/EUR)");
93 | /// Pokémon Ranger (EUR)
94 | public static readonly VCNDS Title19 = new VCNDS(19, 0x595D3B65, new DateTime(2016, 2, 25), "Pokémon Ranger (EUR)");
95 | /// Pokémon Ranger (JPN)/Pokémon Mystery Dungeon: Blue Rescue Team (JPN)
96 | public static readonly VCNDS Title20 = new VCNDS(20, 0x320B05E2, new DateTime(2016, 3, 23), "Pokémon Ranger (JPN)/Pokémon Mystery Dungeon: Blue Rescue Team (JPN)");
97 | /// Mario Party DS (USA/EUR/JPN)
98 | public static readonly VCNDS Title21 = new VCNDS(21, 0xFF82AF20, new DateTime(2016, 4, 21), "Mario Party DS (USA/EUR/JPN)");
99 | /// Style Savvy (USA/EUR)
100 | public static readonly VCNDS Title22 = new VCNDS(22, 0x70783B5F, new DateTime(2016, 5, 5), "Style Savvy (USA/EUR)");
101 | /// Mario Hoops 3-on-3 (USA/EUR/JPN)
102 | public static readonly VCNDS Title23 = new VCNDS(23, 0x2FF26429, new DateTime(2016, 5, 11), "Mario Hoops 3-on-3 (USA/EUR/JPN)");
103 | /// Advance Wars: Dual Strike (USA/EUR/JPN)
104 | public static readonly VCNDS Title24 = new VCNDS(24, 0x816543BD, new DateTime(2016, 5, 11), "Advance Wars: Dual Strike (USA/EUR/JPN)");
105 | /// Pokémon Ranger: Guardian Signs (JPN)/Pokémon Ranger: Shadows of Almia (USA/EUR/JPN)/Pokémon Mystery Dungeon: Explorers of Sky (USA/EUR/JPN)
106 | public static readonly VCNDS Title25 = new VCNDS(25, 0x563921C1, new DateTime(2016, 6, 9), "Pokémon Ranger: Guardian Signs (JPN)/Pokémon Ranger: Shadows of Almia (USA/EUR/JPN)/\nPokémon Mystery Dungeon: Explorers of Sky (USA/EUR/JPN)");
107 | /// Pokémon Ranger: Guardian Signs (USA/EUR)
108 | public static readonly VCNDS Title26 = new VCNDS(26, 0x52319B0A, new DateTime(2016, 6, 9), "Pokémon Ranger: Guardian Signs (USA/EUR)");
109 | /// Style Savvy (JPN)/Picross 3D (USA/EUR/JPN)
110 | public static readonly VCNDS Title27 = new VCNDS(27, 0xB8454E86, new DateTime(2016, 7, 13), "Style Savvy (JPN)/Picross 3D (USA/EUR/JPN)");
111 | }
112 | }
113 |
--------------------------------------------------------------------------------
/PhacoxsInjector/WiiUVC.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace PhacoxsInjector
4 | {
5 | public abstract class WiiUVC
6 | {
7 | public readonly int Index;
8 | public readonly uint Hash;
9 | public readonly DateTime Release;
10 | public readonly string Title;
11 |
12 | public WiiUVC(int index, uint hash, DateTime release, string title)
13 | {
14 | Index = index;
15 | Hash = hash;
16 | Release = release;
17 | Title = title;
18 | }
19 |
20 | public WiiUVC(uint hash)
21 | {
22 | Index = 0;
23 | Hash = hash;
24 | Release = new DateTime();
25 | Title = "Unknown";
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/PhacoxsInjector/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | en-EU
13 |
14 |
15 | True
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
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 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | en-EU
63 |
64 |
65 | True
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/PhacoxsInjector/cll.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/cll.pfx
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.csprojAssemblyReference.cache
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.HelpString.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.PhacoxsInjectorGUI.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.Properties.Resources.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.HelpString.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Beta\PhacoxsInjector.csproj.GenerateResource.cache
8 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Beta/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Beta/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/.NETFramework,Version=v4.6.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
5 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacosInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacosInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\bin\Debug\PhacosInjector.exe
2 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\bin\Debug\PhacosInjector.pdb
3 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.csprojAssemblyReference.cache
4 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.Properties.Resources.resources
5 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.csproj.GenerateResource.cache
6 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.exe
7 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.pdb
8 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\bin\Debug\PhacosInjector.exe.config
9 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.HelpString.resources
10 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacosInjector.PhacosInjectorGUI.resources
11 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacosInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacosInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacosInjector.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacosInjector.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacosInjector.pdb
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.csproj.CopyComplete
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 5e359a89a9d5b9dc66edcb63c9dbd148ce8f17b3
2 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacoxsInjector.HelpString.resources
2 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacoxsInjector.Properties.Resources.resources
3 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacoxsInjector.csproj.GenerateResource.cache
4 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacoxsInjector.PhacoxsInjectorGUI.resources
5 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\bin\Debug\PhacoxsInjector.exe.config
6 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\bin\Debug\PhacoxsInjector.exe
7 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\bin\Debug\PhacoxsInjector.pdb
8 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacoxsInjector.exe
9 | C:\Users\Alberto\source\repos\PhacosInjector\PhacosInjector\obj\Debug\PhacoxsInjector.pdb
10 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\PhacoxsInjector.exe.config
11 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\PhacoxsInjector.exe
12 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\PhacoxsInjector.pdb
13 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\es\PhacoxsInjector.resources.dll
14 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\JSON.dll
15 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\VCN64Config.exe
16 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\VCN64Config.pdb
17 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Debug\JSON.pdb
18 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.csprojAssemblyReference.cache
19 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.HelpString.resources
20 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.PhacoxsInjectorGUI.resources
21 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.Properties.Resources.resources
22 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.HelpString.es.resources
23 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
24 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.csproj.GenerateResource.cache
25 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.csproj.CoreCompileInputs.cache
26 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\es\PhacoxsInjector.resources.dll
27 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.csproj.CopyComplete
28 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.exe
29 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Debug\PhacoxsInjector.pdb
30 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/PhacoxsInjector.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/PhacoxsInjector.pdb
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Debug/es/PhacoxsInjector.resources.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Debug/es/PhacoxsInjector.resources.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.csprojAssemblyReference.cache
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.HelpString.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.PhacoxsInjectorGUI.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.Properties.Resources.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.HelpString.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Minor release\PhacoxsInjector.csproj.GenerateResource.cache
8 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Minor release/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Minor release/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/.NETFramework,Version=v4.6.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
5 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.csprojAssemblyReference.cache
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.HelpString.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.PhacoxsInjectorGUI.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.Properties.Resources.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.HelpString.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Release\PhacoxsInjector.csproj.GenerateResource.cache
8 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Release/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Release/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/.NETFramework,Version=v4.6.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
5 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csproj.CopyComplete
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 715b66159316f465356ae5ef9ad9faf315c2c513
2 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\PhacoxsInjector.exe.config
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\PhacoxsInjector.exe
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\PhacoxsInjector.pdb
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\es\PhacoxsInjector.resources.dll
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\VCN64Config.exe
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\VCN64Config.pdb
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.csprojAssemblyReference.cache
8 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.HelpString.resources
9 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.PhacoxsInjectorGUI.resources
10 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.Properties.Resources.resources
11 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.HelpString.es.resources
12 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
13 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.csproj.GenerateResource.cache
14 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\es\PhacoxsInjector.resources.dll
15 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.csproj.CopyComplete
16 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.exe
17 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.pdb
18 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\Revision release\PhacoxsInjector.csproj.CoreCompileInputs.cache
19 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\JSON.dll
20 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\Revision release\JSON.pdb
21 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/PhacoxsInjector.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/PhacoxsInjector.pdb
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/Revision release/es/PhacoxsInjector.resources.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/Revision release/es/PhacoxsInjector.resources.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Beta/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Beta/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Beta/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Beta/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x64\Debug\PhacoxsInjector.HelpString.resources
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x64\Debug\PhacoxsInjector.PhacoxsInjectorGUI.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x64\Debug\PhacoxsInjector.Properties.Resources.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x64\Debug\PhacoxsInjector.HelpString.es.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x64\Debug\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x64\Debug\PhacoxsInjector.csproj.GenerateResource.cache
7 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Debug/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Debug/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Minor release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Minor release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Minor release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Minor release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Release/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Release/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Revision release/.NETFramework,Version=v4.6.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
5 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Revision release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Revision release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Revision release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Revision release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Revision release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Revision release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Revision release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Revision release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x64/Revision release/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x64/Revision release/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Beta/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Beta/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Beta/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Beta/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Beta/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Beta/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Beta/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Beta/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Beta/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Beta/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Beta/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Beta/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/.NETFramework,Version=v4.6.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
5 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csproj.CopyComplete
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 0cf5e00afb376d4bbd4c484ecb5bad26782158ac
2 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.csprojAssemblyReference.cache
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.HelpString.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.PhacoxsInjectorGUI.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.Properties.Resources.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.HelpString.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.csproj.GenerateResource.cache
8 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.csproj.CoreCompileInputs.cache
9 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\PhacoxsInjector.exe.config
10 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\PhacoxsInjector.exe
11 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\PhacoxsInjector.pdb
12 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\es\PhacoxsInjector.resources.dll
13 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\VCN64Config.exe
14 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\VCN64Config.pdb
15 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\es\PhacoxsInjector.resources.dll
16 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.csproj.CopyComplete
17 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.exe
18 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Debug\PhacoxsInjector.pdb
19 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\JSON.dll
20 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Debug\JSON.pdb
21 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/PhacoxsInjector.pdb
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Debug/es/PhacoxsInjector.resources.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Debug/es/PhacoxsInjector.resources.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csproj.CopyComplete
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.csprojAssemblyReference.cache
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.HelpString.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.PhacoxsInjectorGUI.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.Properties.Resources.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.HelpString.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.csproj.GenerateResource.cache
8 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Minor release\PhacoxsInjector.exe.config
9 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Minor release\PhacoxsInjector.exe
10 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Minor release\PhacoxsInjector.pdb
11 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Minor release\es\PhacoxsInjector.resources.dll
12 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Minor release\VCN64Config.exe
13 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Minor release\VCN64Config.pdb
14 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\es\PhacoxsInjector.resources.dll
15 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.csproj.CopyComplete
16 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.exe
17 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Minor release\PhacoxsInjector.pdb
18 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/PhacoxsInjector.pdb
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/build.force:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/build.force
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Minor release/es/PhacoxsInjector.resources.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Minor release/es/PhacoxsInjector.resources.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/.NETFramework,Version=v4.6.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
5 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.HelpString.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.HelpString.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.HelpString.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.HelpString.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.PhacoxsInjectorGUI.es.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.PhacoxsInjectorGUI.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.PhacoxsInjectorGUI.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.Properties.Resources.resources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.Properties.Resources.resources
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csproj.CopyComplete
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 0dafcda05fb4c386c27f32ff35c6adc502322d61
2 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.HelpString.resources
2 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.PhacoxsInjectorGUI.resources
3 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.Properties.Resources.resources
4 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.HelpString.es.resources
5 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.PhacoxsInjectorGUI.es.resources
6 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.csproj.GenerateResource.cache
7 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\PhacoxsInjector.exe.config
8 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\PhacoxsInjector.exe
9 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\PhacoxsInjector.pdb
10 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\es\PhacoxsInjector.resources.dll
11 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\VCN64Config.exe
12 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\VCN64Config.pdb
13 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.csprojAssemblyReference.cache
14 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\es\PhacoxsInjector.resources.dll
15 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.csproj.CopyComplete
16 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.exe
17 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.pdb
18 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\obj\x86\Release\PhacoxsInjector.csproj.CoreCompileInputs.cache
19 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\JSON.dll
20 | C:\Users\Alberto\source\repos\PhacoxsInjector\PhacoxsInjector\bin\x86\Release\JSON.pdb
21 |
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csproj.GenerateResource.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csproj.GenerateResource.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.exe
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/PhacoxsInjector.pdb
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/TempPE/HelpString.es.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/TempPE/HelpString.es.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Release/es/PhacoxsInjector.resources.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Release/es/PhacoxsInjector.resources.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Revision release/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Revision release/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Revision release/TempPE/HelpString.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Revision release/TempPE/HelpString.Designer.cs.dll
--------------------------------------------------------------------------------
/PhacoxsInjector/obj/x86/Revision release/TempPE/Properties.Resources.Designer.cs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/phacoxcll/PhacoxsInjector/c61250b9f3500955fc7868355ad8858a8c866c63/PhacoxsInjector/obj/x86/Revision release/TempPE/Properties.Resources.Designer.cs.dll
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Phacox's Injector
2 | This is a program that allows you to inject games into the Virtual Console of the Wii U. It is compatible with NES, SNES, N64, GBA and NDS games.
3 |
4 | Characteristics
5 |
6 | - Easy to use graphic interface.
7 | - Contextual help and two languages, English and Spanish.
8 | - Automatically recognize ROM formats, *.nes, *.fds, *.sfc, *.smc, *.z64, *.n64, *.v64, *.gba and *.nds
9 | - Support images *.png, *.jpg and *.bmp
10 | - Configuration of the N64 Virtual Console, easily disables the dark filter, aspect ratio and display scale of the game. It simplifies the incorporation of the ".ini" configuration file for the game and has an advanced editor "VCN64ConfigEditor".
11 | - The Title ID reflects whether you have used the same combination of ROM and base game.
12 | - Option to package the result (WUP Installer format) or leave it unpacked (Loadiine format).
13 | - It is able to remember the folders of your ROM collections and image gallery.
14 | - You can use any game as a base (you can only inject the ROM if the base supports it, although this does not guarantee that the game works).
15 | - Use Wii U Virtual Console games packed (files, title.cert, title.tik, title.tmd, "*.app" and "*.h3") or unpacked (folders code, content and meta) as base.
16 |
17 | ## Usage
18 |
19 | ### Mode selection
20 |
21 | Auto
22 | - The program adapts automatically according to the chosen ROM.
23 | - Enable the base game load after choosing the ROM.
24 | - In this mode you will use the image templates of NES, SNES (USA), N64, GBA and NDS, as appropriate.
25 |
26 | Famicom
27 | - You can only choose ROMs for Famicom and NES.
28 | - Enable the base game load for Famicom and NES.
29 | - Use Famicom image templates.
30 |
31 | NES
32 | - You can only choose ROMs for Famicom and NES.
33 | - Enable the base game load for Famicom and NES.
34 | - Use the NES image templates.
35 |
36 | Super Famicom
37 | - You can only choose ROMs for Super Famicom and SNES.
38 | - Enable the base game load for Super Famicom and SNES.
39 | - Use Super Famicom image templates.
40 |
41 | SNES (EUR)
42 | - You can only choose ROMs for Super Famicom and SNES.
43 | - Enable the base game load for Super Famicom and SNES.
44 | - Use the SNES (EUR) image templates.
45 |
46 | SNES (USA)
47 | - You can only choose ROMs for Super Famicom and SNES.
48 | - Enable the base game load for Super Famicom and SNES.
49 | - Use the SNES (USA) image templates.
50 |
51 | N64
52 | - You can only choose ROMs for N64.
53 | - Enable the base game load for N64.
54 | - Use the N64 image templates.
55 |
56 | GBA
57 | - You can only choose ROMs for GBA.
58 | - Enable the base game load for GBA.
59 | - Use the GBA image templates.
60 |
61 | NDS
62 | - You can only choose ROMs for NDS.
63 | - Enable the base game load for NDS.
64 | - Use the NDS image templates.
65 |
66 |
67 | ### Main
68 |
69 | In this section you just need to put the name of the game and load a base (you can use the same base that is already loaded). Choosing a ROM is optional!
70 |
71 | If you choose a ROM, the program will change the name that appears in the console menus to the new name you set and will inject the selected ROM.
72 |
73 | If you do not choose a ROM, the program will not change the name of the base game, the new name you entered will only be used to name the output folder and the base game ROM will not be modified. Useful if you just want to edit some option of the Virtual Console without modifying anything else.
74 |
75 | You can change the Virtual Console settings.
76 |
77 | For Famicom and NES
78 | - Change the aspect ratio, 7:5 (default and not recommended), 8:7 (native, recommended for square pixels), 4:3 (used in old square televisions) and 16:9 (widescreen, to occupy the full width of modern televisions).
79 | - Change the speed emulation, 60 FPS (for NTSC games) or 50 FPS (for PAL games).
80 | - Change the number of players.
81 |
82 | For Super Famicom and SNES
83 | - Change the aspect ratio, 4:3 (default, it was used in old square televisions), 8:7 (native, recommended to obtain square pixels) and 16:9 (wide screen, to occupy the full width of the modern televisions).
84 | - Change the speed emulation, 60 FPS (for NTSC games) or 50 FPS (for PAL games).
85 | - Change the number of players.
86 | - Change the sound volume (only for SNES base games type B1 and B2).
87 |
88 | For Nintendo 64
89 | - Disable the dark filter.
90 | - Change the aspect ratio from 4:3 to 16:9 (this stretches the image if the ROM does not have a widescreen patch)
91 | - Change the display scale of the game.
92 | - Change the display position of the game.
93 | - Choose the configuration file that corresponds to the game you are going to inject (not all games have a configuration file and partly because of that they do not work in the Virtual Console).
94 |
95 |
96 | ### Images
97 |
98 | In this section you can modify the menu icon and the game presentation images.
99 |
100 | You can load only the image of the title screen and it will be updated in all templates, Select the year of launch of the game, the number of players it supports and if you want to show or hide the name you gave the game.
101 |
102 | You also have the option to keep the images of the base game. Useful if you just want to edit some option of the Virtual Console without modifying anything else.
103 |
104 | For Nintendo DS, you can use the ROM icon instead of the title screen image.
105 |
106 |
107 | ### Injecting
108 |
109 | To enable the buttons, name the game and load a base. Injecting a ROM is optional (see the Main section).
110 |
111 | By clicking on the "Do pack" button you will have to select a folder where the game will be placed in WUP Installer format (files, title.cert, title.tik, title.tmd, "*.app" and "*.h3"). If you have not yet set the Wii U Common Key, it will result in a failed injection (technically the injection is performed, but the result cannot be packed).
112 |
113 | By clicking on the "Do not pack" button you will have to select a folder where the game will be placed in Loadiine format (folders, code, content and meta).
114 |
115 | Regardless of whether it fails or not, an injection will show the program log file.
116 |
117 |
118 | ### Settings
119 |
120 | In this section you can enter the Wii U Common Key, this will allow you to package and unpack games in WUP format.
121 |
122 | You can change the language of the program and disable contextual help.
123 |
124 |
125 |
126 | ## Changelog
127 | 1.1 (2020-02-29)
128 | - Allows modifying the frame rate and the number of players in the NES and SNES games.
129 | - Allows you to modify the sound volume for some SNES base games.
130 | - Add the option to individually modify the vertical and horizontal zoom of the N64 games.
131 | - Allows you to move the game image area of the N64 games.
132 | - Fixes an error that prevented editing the N64 Virtual Console settings without injecting a ROM.
133 | - Some minor fixes.
134 |
135 | 1.0.9 (2020-01-26)
136 | - Fix a bug when placing a short name without a defined target console.
137 |
138 | 1.0.8 (2020-01-11)
139 | - NDS ROM titles are now displayed correctly.
140 | - Some minor fixes.
141 |
142 | 1.0.7 (2020-01-09)
143 | - Fix an bug in which the size of the NES ROMs to be injected is not correctly evaluated.
144 |
145 | 1.0.6 (2019-12-29)
146 | - Improves validation of N64 ROMs.
147 | - Improves NES aspect ratios.
148 |
149 | 1.0.5 (2019-12-27)
150 | - Update the version of CNUSPacker.
151 | - Some minor fixes.
152 |
153 | 1.0.4 (2019-12-27)
154 | - Fix a bug where the short name was always used as a long name.
155 | - Fix a bug where the name was not drawn on the template images if it was not previously passed through the Images section.
156 |
157 | 1.0.3 (2019-12-26)
158 | - Fix an error in the way of transferring the common key to CNUSPacker.
159 |
160 | 1.0.2 (2019-12-25)
161 | - Fix an error when loading encrypted base games, the load was always failed due to a resource management error.
162 |
163 | 1.0.1 (2019-12-20)
164 | - Replaces the use of NUSPacker.jar in favor of CNUSPacker.exe.
165 |
166 | 1.0 (2019-12-19)
167 | - Initial release.
168 |
169 |
170 |
171 | ## Disclaimer
172 |
173 | The tools packaged with this application belong to their respective developers.
174 |
175 | Credits
176 |
177 | CNUSPacker by NicoAICP, Morilli - https://github.com/Hotbrawl20/CNUS_Packer
178 |
179 | CDecrypt v3.0 by Crediar, phacox.cll - https://github.com/phacoxcll/cdecrypt
180 |
181 | inject_gba_C by Morilli - https://github.com/Morilli/inject_gba_C
182 |
--------------------------------------------------------------------------------