Hacking [RELEASE] Phacox's Injector (NES/SNES/N64/GBA/NDS for Wii U)

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
169
Trophies
0
XP
1,287
Country
Mexico
Hi

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.

Download <-- 1.1.4

Characteristics

- Easy to use graphic interface.
- Contextual help and two languages, English and Spanish.
- Automatically recognize ROM formats, *.nes, *.fds, *.sfc, *.smc, *.z64, *.n64, *.v64, *.gba and *.nds
- Support images *.png, *.jpg and *.bmp
- 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".
- The Title ID reflects whether you have used the same combination of ROM and base game.
- Option to package the result (WUP Installer format) or leave it unpacked (Loadiine format).
- It is able to remember the folders of your ROM collections and image gallery.
- 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).
- 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.

Have the Wii U Common Key on hand (search for it on Google).
Requires .NET Framework 4.6 or higher.

Usage

Mode selection
Auto
- The program adapts automatically according to the chosen ROM.
- Enable the base game load after choosing the ROM.
- In this mode you will use the image templates of NES, SNES (USA), N64, GBA and NDS, as appropriate.

Famicom
- You can only choose ROMs for Famicom and NES.
- Enable the base game load for Famicom and NES.
- Use Famicom image templates.

NES
- You can only choose ROMs for Famicom and NES.
- Enable the base game load for Famicom and NES.
- Use the NES image templates.

Super Famicom
- You can only choose ROMs for Super Famicom and SNES.
- Enable the base game load for Super Famicom and SNES.
- Use Super Famicom image templates.

SNES (EUR)
- You can only choose ROMs for Super Famicom and SNES.
- Enable the base game load for Super Famicom and SNES.
- Use the SNES (EUR) image templates.

SNES (USA)
- You can only choose ROMs for Super Famicom and SNES.
- Enable the base game load for Super Famicom and SNES.
- Use the SNES (USA) image templates.

N64
- You can only choose ROMs for N64.
- Enable the base game load for N64.
- Use the N64 image templates.

GBA
- You can only choose ROMs for GBA.
- Enable the base game load for GBA.
- Use the GBA image templates.

NDS
- You can only choose ROMs for NDS.
- Enable the base game load for NDS.
- Use the NDS image templates.

Main
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!

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.

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.

You can change the Virtual Console settings.

For Famicom and NES
- 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).
- Change the speed emulation, 60 FPS (for NTSC games) or 50 FPS (for PAL games).
- Change the number of players.

For Super Famicom and SNES
- 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).
- Change the speed emulation, 60 FPS (for NTSC games) or 50 FPS (for PAL games).
- Change the number of players.
- Change the sound volume (only for SNES base games type B1 and B2).

For Nintendo 64
- Disable the dark filter.
- Change the aspect ratio from 4:3 to 16:9 (this stretches the image if the ROM does not have a widescreen patch)
- Change the display scale of the game.
- Change the display position of the game.
- 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). You can download all the configuration files (made by Nintendo) here.

Screenshots
main_auto.png

main_nes.png

main_snes.png

main_n64.png

main_gba.png

main_nds.png

Images
In this section you can modify the menu icon and the game presentation images.

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.

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.

For Nintendo DS, you can use the ROM icon instead of the title screen image.

Screenshots
images_fc.png

images_nes.png

images_sfc.png

images_snes_eur.png

images_snes_usa.png

images_n64.png

images_gba.png

images_nds.png

Injecting
To enable the buttons, name the game and load a base. Injecting a ROM is optional (see the Main section).

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).

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).

Regardless of whether it fails or not, an injection will show the program log file.

Screenshots
injecting.png

Settings
In this section you can enter the Wii U Common Key, this will allow you to package and unpack games in WUP format.

You can change the language of the program and disable contextual help.

Screenshots
Settings.png

Changelog
1.1.4 (2020-09-15)
- Add the option to modify the dark filter of NDS games.
- Change some default Virtual Console settings.
- Changes the version of psb.exe (inject_gba_C) to improve compatibility with 32-bit computers.

1.1.3 (2020-07-07)
- Change the type of Title-ID (from 00050000 to 00050002) this should correct error 199-9999 despite having enabled a CFW.
- Fixes a bug that validates some previously injected games without being correctly identified.

1.1.2 (2020-07-04)
- Add a message when you change the application mode having a ROM selected.
- Change the description of the load base game button.

1.1.1 (2020-07-03)
- Now correctly load the ROMs without product code.
- Now padding automatically the GBA ROMs when needed.

1.1 (2020-02-29)
- Allows modifying the frame rate and the number of players in the NES and SNES games.
- Allows you to modify the sound volume for some SNES base games.
- Add the option to individually modify the vertical and horizontal zoom of the N64 games.
- Allows you to move the game image area of the N64 games.
- Fixes an error that prevented editing the N64 Virtual Console settings without injecting a ROM.
- Includes VCN64Config Editor 1.2.
- Some minor fixes.

1.0.9 (2020-01-26)
- Fix a bug when placing a short name without a defined target console.

1.0.8 (2020-01-11)
- NDS ROM titles are now displayed correctly.
- Some minor fixes.

1.0.7 (2020-01-09)
- Fix an bug in which the size of the NES ROMs to be injected is not correctly evaluated.

1.0.6 (2019-12-29)
- Improves validation of N64 ROMs.
- Improves NES aspect ratios.

1.0.5 (2019-12-27)
- Update the version of CNUSPacker.
- Some minor fixes.

1.0.4 (2019-12-27)
- Fix a bug where the short name was always used as a long name.
- Fix a bug where the name was not drawn on the template images if it was not previously passed through the Images section.

1.0.3 (2019-12-26)
- Fix an error in the way of transferring the common key to CNUSPacker.

1.0.2 (2019-12-25)
- Fix an error when loading encrypted base games, the load was always failed due to a resource management error.

1.0.1 (2019-12-20)
- Replaces the use of NUSPacker.jar in favor of CNUSPacker.exe.

1.0 (2019-12-19)
- Initial release.



Disclaimer
The tools packaged with this application belong to their respective developers.
CNUSPacker by NicoAICP, Morilli
CDecrypt v3.0 by Crediar, phacox.cll
inject_gba_C by Morilli

*More details soon...
 

Attachments

  • PhacoxsInjector_VC_Lists.zip
    227.8 KB · Views: 1,572
Last edited by phacox_cll,

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
169
Trophies
0
XP
1,287
Country
Mexico
Sounds Great .... But man i could never get the n64 games working is this a simple task ?
As you know, the compatibility of the N64 Virtual Console is limited, partly because of the few N64 configuration files available. But this is only an initial version, there are other ways (Wii64 and Not64) you just need to make it simpler to incorporate with the Wii U, do not lose hope ;)
 
  • Like
Reactions: SuperDan

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
169
Trophies
0
XP
1,287
Country
Mexico
Beautiful, going to test it later. Is it doable to remove the dark filter for GBA games like it is for N64 games?
I delved very little with the GBA Virtual Console. In fact, I didn't know I had a dark filter. If you have information on how to remove the dark filter, I can incorporate this function.
 

DonCaballero

Well-Known Member
Member
Joined
Mar 8, 2017
Messages
119
Trophies
0
Age
32
XP
719
Country
Brazil
I delved very little with the GBA Virtual Console. In fact, I didn't know I had a dark filter. If you have information on how to remove the dark filter, I can incorporate this function.

Sadly, I never saw it being done on the Wii U and I don't even know if it's possible. I hope someone shows up knowing how to do it, but I've been hoping for this for so long it's like I have reached resignation lol.
 

dvandrade

New Member
Newbie
Joined
Dec 25, 2019
Messages
4
Trophies
0
Age
36
XP
30
Country
Brazil
I've tried a lot like breath of fire, super mario world, super castlevania IV. Here is the log:

Phacox's Injector 1.0.1
25/12/2019 11:49:36
Language to EN.
Players changed: None
TV preview updated.
GamePad preview updated.
Changed mode to Indeterminate.
GUI changed to default.
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Wii U Common Key files: OK!
ROM format: SNES_USA
GUI changed to SNES (USA).
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Reading ROM...
ROM is valid.
Hash: 2AC3
Size: 4 MiB
Settings button clicked.
Injecting button clicked.
Show name enabled.
Use short name: Chrono Trigger
TV preview updated.
GamePad preview updated.
Images button clicked.
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Title screen changed.
Release date enabled: 1995
TV preview updated.
GamePad preview updated.
Main button clicked.
Loading SNES base...
The base is invalid.
System.InvalidOperationException: No process is associated with this object.
at System.Diagnostics.Process.EnsureState(State state)
at System.Diagnostics.Process.get_HasExited()
at System.Diagnostics.Process.EnsureState(State state)
at System.Diagnostics.Process.get_ExitCode()
at PhacoxsInjector.NusContent.Decrypt(String inputPath, String filename, String outputFilename)
at PhacoxsInjector.WiiUInjector.GetAppFileName(String path)
at PhacoxsInjector.SNESInjector.ValidateEncryptedBase(String path)
at PhacoxsInjector.WiiUInjector.LoadBase(String path)
at PhacoxsInjector.PhacoxsInjectorGUI.AskBase()
Could not load base.
Loading SNES base...
The base is invalid.
System.InvalidOperationException: No process is associated with this object.
at System.Diagnostics.Process.EnsureState(State state)
at System.Diagnostics.Process.get_HasExited()
at System.Diagnostics.Process.EnsureState(State state)
at System.Diagnostics.Process.get_ExitCode()
at PhacoxsInjector.NusContent.Decrypt(String inputPath, String filename, String outputFilename)
at PhacoxsInjector.WiiUInjector.GetAppFileName(String path)
at PhacoxsInjector.SNESInjector.ValidateEncryptedBase(String path)
at PhacoxsInjector.WiiUInjector.LoadBase(String path)
at PhacoxsInjector.PhacoxsInjectorGUI.AskBase()
Could not load base.
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
169
Trophies
0
XP
1,287
Country
Mexico
I've tried a lot like breath of fire, super mario world, super castlevania IV. Here is the log:

Phacox's Injector 1.0.1
25/12/2019 11:49:36
Language to EN.
...
Could not load base.
Thanks for the data to correct this bug.
The load of encrypted base games was always failed due to a resource management error.
Version 1.0.2 (now available) fix the bug.
 
  • Like
Reactions: jeannotte

dvandrade

New Member
Newbie
Joined
Dec 25, 2019
Messages
4
Trophies
0
Age
36
XP
30
Country
Brazil
Now loading base is ok, but after that is the rom injected automatically? or should I go to injecting section and choose do not pack or do pack? They are not able to click. Where the files are saved??
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
169
Trophies
0
XP
1,287
Country
Mexico
You must go to the Injecting section to do the injection.

The ROM is taken directly from the file you select at the beginning.

Placing a name is mandatory to enable the buttons in the Injecting section. For NES and SNES it is necessary that the size of the ROM you want to inject be smaller or equal to the size of the base game ROM.

The base game stores (decrypted) in a "base" folder, next to the executable, with a console suffix ("base_*console*"), all modifications are made in that folder until you select one of the options of injected "Do not pack" or "Do pack", if you do not select an option the base is not modified. Depending on the option you select, the folder already modified will be copied or encrypted in the path that was selected.
 

Andrehws

Active Member
Newcomer
Joined
Nov 21, 2018
Messages
37
Trophies
0
Age
26
XP
229
Country
Brazil
Be sure to place the Wii U Common Key in the Settings section. If so, what base game are you using and in what format (packaged or unpackaged)? That would help diagnose the problem.

i am downloading base games with wiiu usb helper, right?
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
169
Trophies
0
XP
1,287
Country
Mexico
It worked to pack the files, but when I was going to install gave an error, that was missing files or corrupted.
Error was in how "Phacox's Injector" transferred the common key to CNUSPacker, it was not doing well, so the files were being encrypted with a key in zeros.

Version 1.0.3 fixes the bug. (Version 1.0 doesn't have that bug either.)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: https://youtu.be/Ueu-y2rE16k