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