1. phacox_cll

    OP phacox_cll Advanced Member
    Newcomer

    Joined:
    Mar 30, 2019
    Messages:
    67
    Country:
    Mexico
    Version 1.2 of "DSInject" is the final version of independent development. "DSInject" is now integrated into "Phacox's Injector", and its development continues within this.

    Thanks to all who supported this thread.


    Hello,

    DSInject is a program that allows you to inject NDS games into the Wii U VC. Focused on streamlining the testing of different ROM combinations and Wii U VC base game.

    Download <-- 1.2

    Features

    - Two modes of use, graphic and commands.
    - Support for ROM formats *.nds and *.srl
    - Image support *.png, *.jpg and *.bmp
    - The Title ID reflects if you have used the same combination of ROM, INI and Wii U VC base game.
    - Option to encrypt the result (WUPInstaller format) or leave it deciphered (Loadiine format).
    - Define folders for your ROM collection, image gallery and display layouts.
    - Use encrypted or decrypted Wii U VC games as a base.
    - Multiple options through the command window, you can define everything or just an input folder and an output folder, or combine (see the examples).

    Use in graphic mode
    The first time you open DSInject go to the configuration tab, define the folders of your collections, enter the Wii U Common Key and select a NDS game from the Wii U VC that you previously have to use as a base.

    [​IMG]

    Once the base has been loaded correctly, go to the main tab.

    Click on the respective button on the right and select the NDS ROM file.

    Enter a name and if you want enter also a name of two lines.

    Modify the game layout. (In development).

    If you do not want to use the default images, change them with the respective buttons.

    Choose if you want to pack (encrypt) or not the result.

    Click on the inject button, select the output folder and wait for the process to be performed. The program will let you know if the injection was successful or if there was a problem.

    [​IMG]

    It is only necessary to enter the Wii U Common Key once and it will be saved. It is necessary if you want to encrypt or decrypt NUS content.
    Use in command mode
    Help comand:
    Use: DSinject [-base folder_path] [-name short_name] [-longname name_line_1 name_line_2] [-in folder_path] [-rom file_path] [-icon file_path] [-tv file_path] [-drc file_path] [-out folder_path] [not-encrypt]
    Or: DSinject help
    Or: DSinject load-key common_key
    Or: DSinject load-base folder_path
    Or: DSinject create-image [-frame file_path] [-title file_path] [-name short_name|-longname name_line_1 name_line_2] [-r value] [-out folder_path]
    Or: DSinject create-icon [-frame file_path] [-title file_path] [-out folder_path]
    Or: SDinject pack|unpack -in folder_path [-out folder_path]

    Options:

    help
    Show this help message.

    load-key common_key
    The Wii U Common Key is required to pack and unpack NUS CONTENT.
    load-base folder_path
    Path to the NDS VC game that will be copied internally "base" where the ROM will be injected.

    create-image
    Indicates that must create an image for the boot screen.
    create-icon
    Indicates that must create an icon to represent a game.

    pack
    Indicates that the NUS CONTENT input will be encrypted.
    unpack
    Indicates that the NUS CONTENT input will be decrypted.

    -base folder_path
    Path to the NDS VC game where the ROM will be injected.
    The process does not modify the NDS VC game since it creates an internal copy of the game "base", if not specified, the previous loaded base will be used.
    -name short_name
    A short game name to show.
    If not specified, the name inside ROM will be used.
    If the create-image option is present, it indicates the name of a single line that will be placed on the frame image.
    -longname name_line_1 name_line_2
    A long game name to show can be two lines.
    If not specified, the short name will be used.
    If the create-image option is present, it indicates the name of two lines that will be placed on the frame image.
    -in folder_path
    Path where the "rom.nds", "vc.ini", "icon.png", "tv.png" and "drc.png" files are taken.
    If the pack|unpack option is present it indicates the path to the NUS CONTENT.
    -rom file_path
    Path to the NDS game ROM.
    If not specified, the "rom.z64" file will be searched in the "-in" folder.
    -icon file_path
    Path to an image file to use as icon (*.png, *.jpg or *.bmp).
    If not specified, the "icon.png" file will be searched in the "-in" folder, if not found a default image will be used.
    -tv file_path
    Path to an image file to use as boot tv (*.png, *.jpg or *.bmp).
    If not specified, the "tv.png" file will be searched in the "-in" folder, if not found a default image will be used.
    -drc file_path
    Path to an image file to use as boot drc (*.png, *.jpg or *.bmp).
    If not specified, the "drc.png" file will be searched in the "-in" folder, if not found the boot tv image will be used.
    -out folder_path
    Path where the result will be put.
    If not specified, the root folder of 64Inject will be used.
    not-encrypt
    Indicates that the result should not be encrypted, by default is encrypted.

    -title file_path
    Path to the image of the title screen, which will be placed on the background by default. If not specified, a black box will be placed.
    -frame file_path
    Path to the frame image, which will be placed on the title screen.
    If not specified, the background will be seen by default.
    -r value
    A value greater than or equal to 2004, that represents the launch year of the game, will be placed on the frame image.

    Note:
    If the paths or names contain spaces put them in quotes.
    Examples:

    First use

    >dsinject load-key XXXXXXXXXXXXXXXXXX

    Load the Common Key to be able to decrypt and encrypt NUS content.

    >dsinject load-base "c:\path\to\nds game [00050000XXXXXXXX]"

    Load the game "nds game [00050000XXXXXXXX]" as the base for the injections.

    Simple injection

    >dsinject -name "Game Name" -rom "c:\path\to\some nds rom.nds"

    Change the ROM of the base game. Use the specified name. Encrypts the result.

    Simpler injection

    >dsinject -name "Game Name" -in "c:\path\to\input folder"

    Previously the "input folder" must contain the file "rom.nds" and optionally the files "icon.png", "tv.png" and "drc.png". Encrypts the result.

    Even simpler injection

    >dsinject -rom "c:\path\to\some nds rom.nds"

    Change the ROM of the base game. Use the internal name of the ROM. Encrypts the result.

    Advanced injection

    >dsinject -base "c:\path\to\other nds game [00050000XXXXXXXX]" -name "Game Name" -in "c:\path\to\input folder" -rom "c:\path\to\some nds rom.nds" -icon "c:\path\to\some Image.jpg" -out "c:\path\to\output folder" not-encrypt

    Load the game "other nds game [00050000XXXXXXXX]" as a base. Use the indicated rom and icon (skip the search for the files "rom.nds" and "icon.png"), if the "input folder" contains the files "tv.png" or "drc .png ", will use them for the injection. Put the result unencrypted in the folder "output folder".
    Warning messages
    Two warning messages are considered, when DSInject is started.

    One occurs when Java is not detected, which is necessary to run both NUSPacker and JNUSTool.

    [​IMG]

    The second occurs when NUSPacker or JNUSTool are not detected. DSInject will work, although these tools are not present, but it will not be able to decipher or encrypt NUS content, if it is requested to decrypt an encrypted base game it will simply detect it as invalid, if it is requested to encrypt the result, it will perform the injection in the base game but it will not can complete the process by launching a failed injection message.

    [​IMG]

    Changelog
    1.2 FINAL (2019-12-02)
    - Leave the beta phase.
    - Show more relevant information in the log file.
    - Change the way to calculate the Title ID.
    - Other corrections and minor changes.

    1.1.1 beta (2019-11-10)
    - Now set the names (short and long) as the title of all regions.

    1.1 beta (2019-09-21)
    - Now identify all the base games correctly.

    1.0 beta (2019-07-22)
    - Initial release.
    Disclaimer

    The tools packaged with this application belong to their respective developers.

    Credits

    NUSPacker by timogus.

    JNUSTool by Maschell.
     
    Last edited: Dec 24, 2019
    CORE and CeeDee like this.
  2. CORE

    CORE 3:16
    Member

    Joined:
    Jul 15, 2018
    Messages:
    911
    Country:
    United Kingdom
    Did not know this was released... Time to get my back logged NDS Injects now:yayu:

    Thanks @phacox_cll
     
    phacox_cll likes this.
  3. Brainbow

    Brainbow Member
    Newcomer

    Joined:
    Nov 10, 2019
    Messages:
    10
    Country:
    Germany
    Hey, thanks for this program.
    Injected my first DS game and it works flawlessly.

    But there seems to be a bug with the title of the icon in the Wii U Menu.
    Instead of the Short name I inserted, the program took the title of the base game I used to inject.

    Can I fix this somehow?
     
  4. CORE

    CORE 3:16
    Member

    Joined:
    Jul 15, 2018
    Messages:
    911
    Country:
    United Kingdom
    Yes but it involves FTPING and modifying the meta folder. xml file it been a while since I have messed with WiiU.

    Filezilla and Notepad++ is useful to have or plain notepad will do.

    Are you sure it the App though? mine appears to fine? Even so u can just delete via HDD management and reinstall a new inject.

    BARE IN MIND BE CAREFUL INSTALLING DS INJECTS U COULD OVERWRITE HAXCHI OR COLDBOOT.

    BE VIGILANT WHEN IT COMES TO TITLE IDs take note of them essentially DS.

    Title Lister is a handy App to list what u have installed and u can use that to get Title ID of the DS Game u used for HaxChi or ColdBoot so u dont accidentally overwrite via an Injected DS Game.

    If your using Browser Exploit though I guess dont need to worry so much but still better off not making a mess and overwriting other Injects by mistake.
     
    Last edited: Nov 10, 2019
    phacox_cll likes this.
  5. Brainbow

    Brainbow Member
    Newcomer

    Joined:
    Nov 10, 2019
    Messages:
    10
    Country:
    Germany
    Thanks for the fast reply.
    You can see my settings in the pictures. I don't think I did something wrong.
    dsinject_options.png dsinject_options_2.png

    This time I didn't check "Pack up result" to look at the meta.xml.
    The program only applies the shortname to the english language. Others get the name of the base game, "YOSHI'S ISLAND DS" in this case.
    inject_meta.png

    As a workaround I changed the names manually in the meta.xml as you suggested and wrote my own batch to pack the file with nusPacker.
    I reinstalled the game, this time everything works correctly. :)
     
    phacox_cll and CORE like this.
  6. phacox_cll

    OP phacox_cll Advanced Member
    Newcomer

    Joined:
    Mar 30, 2019
    Messages:
    67
    Country:
    Mexico
    Hi, the bug was mine, DSInject 1.1 and earlier versions only modify the titles in English. Version 1.1.1 will correct that bug.
     
    CORE likes this.
  7. phacox_cll

    OP phacox_cll Advanced Member
    Newcomer

    Joined:
    Mar 30, 2019
    Messages:
    67
    Country:
    Mexico
    In question of overwriting by mistake Haxchi or Coldboot.

    DSInject generates Title IDs that have the following structure: 00050000D5XXXXYY

    Where XXXX is a 16-bit hash generated from the base CRC32 and ROM CRC32, and YY are flags that indicate the use of custom images.

    And I anticipate that I will modify this structure (in the final version 1.2), where XXXX will be the CRC16 of the ROM, and YY will be an internal identifier (index) of the base used. This to be the same as the one that the multi-injector I am preparing will use.

    In any case, it is guaranteed that you will not generate a Title ID of an official DS game, since no official game starts with 00050000D5.
     
    CORE likes this.
  8. Brainbow

    Brainbow Member
    Newcomer

    Joined:
    Nov 10, 2019
    Messages:
    10
    Country:
    Germany
    Hi, good to hear.

    In order to spare me the workaround to change the meta.xml manually, I altered your sourcecode and made a new version to fix the translation.
    I can't upload the file as I don't have enough posts, but it's just DSInjector.cs where the code is missing.
     
    CORE and phacox_cll like this.
  9. phacox_cll

    OP phacox_cll Advanced Member
    Newcomer

    Joined:
    Mar 30, 2019
    Messages:
    67
    Country:
    Mexico
    Version 1.2 is available
    ;)
     
    CORE likes this.
  10. phacox_cll

    OP phacox_cll Advanced Member
    Newcomer

    Joined:
    Mar 30, 2019
    Messages:
    67
    Country:
    Mexico
    Last edited: Dec 19, 2019
    CORE likes this.
  11. RazGAWD

    RazGAWD Member
    Newcomer

    Joined:
    Feb 10, 2020
    Messages:
    15
    Country:
    Canada
    I havent used this tool but went through the first few pages to get a better sense of the material.

    So my queation is then, do we use an existing legit copy of a DS game from the store and inject it? Does this imply a very limited number of DS titles you can inject?
     
    Last edited: Feb 14, 2020
  12. TimzUneeverse

    TimzUneeverse Newbie
    Newcomer

    Joined:
    Mar 4, 2019
    Messages:
    7
    Country:
    United States
    I need help searching for the base to inject my NDS ROM.
     
  13. phacox_cll

    OP phacox_cll Advanced Member
    Newcomer

    Joined:
    Mar 30, 2019
    Messages:
    67
    Country:
    Mexico
    To get all the base games use "USB Helper" or "utik", it could not provide any link here.
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Definitive, DSInject, Injector