How do I legally distribute a ROM hack

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by DarkFlare69, Jul 1, 2015.

  1. DarkFlare69
    OP

    DarkFlare69 GBAtemp Psycho!

    Member
    4,626
    2,460
    Dec 8, 2014
    United States
    Ohio
    Yeah, title. I know I can't do .cia or .3ds, so how do I legally do it?
     
  2. dubbz82

    dubbz82 GBAtemp Maniac

    Member
    1,494
    806
    Feb 2, 2014
    United States
    kinda depends on the contents of the patch, and what was actually patched. If there's fmv that was altered, it might be significantly more difficult to do it legally.
     
  3. DarkFlare69
    OP

    DarkFlare69 GBAtemp Psycho!

    Member
    4,626
    2,460
    Dec 8, 2014
    United States
    Ohio
    In my case, it's MK7 custom tracks, custom title screen, banner.bin, icon.bin, and texture hacks
     
  4. Sliter

    Sliter GBAtemp Addict

    Member
    2,997
    785
    Dec 7, 2013
    Brazil
    ᕕ( ᐛ )ᕗ
    man tecnically even a patch is illegal, because we aren't allowed to mess with game content :/ even more distribute xD or use... but anyway

    the acceptable way is or making a .cia to work like a update for the game or sharing the files and showing how to apply then, without sharing the riginal ROM
     
  5. dubbz82

    dubbz82 GBAtemp Maniac

    Member
    1,494
    806
    Feb 2, 2014
    United States
    my best GUESS anyways would be to create something like a ppf, ips, etc. to jump through the legal loopholes though, you'd probably have to distribute it as a patch against decrypted content, and the content would have to be decrypted by the end user...even then, best to get clarification from a mod.
     
  6. DarkFlare69
    OP

    DarkFlare69 GBAtemp Psycho!

    Member
    4,626
    2,460
    Dec 8, 2014
    United States
    Ohio
    Can I make a program that patches the users rom
     
  7. sarkwalvein

    sarkwalvein Professional asshole at GBATemp

    Member
    GBAtemp Patron
    sarkwalvein is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    4,673
    4,664
    Jun 29, 2007
    Germany
    Niedersachsen
    xdelta
     
    dimmidice likes this.
  8. dubbz82

    dubbz82 GBAtemp Maniac

    Member
    1,494
    806
    Feb 2, 2014
    United States
    I think you'd be stepping on toes, because you'd have to decrypt the content on your side first, and that would differ significantly from the encrypted rom the user would be feeding in. Like i said though, best to get some moderator clarification.
     
  9. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,193
    8,944
    Nov 21, 2005
    The Wii also used encrypted software, albeit encrypted with a key that everybody knew. The patches/ROM hacks for it had to work against the decrypted files, give or take the stuff that loaded off the back of an exploit (Smash Brothers stuff using smash stack being the obvious one, there was another that used the various system menu driven stuff). You might be able to abuse the update functionality and present your hack as an update but that tends to work better for minor patches to the binary, not several megs of content hack. Modifying an existing official patch is also tricky but you can patch a patch.

    Obviously you can not patch an encrypted ROM and you not can share an xorpad to decrypt it. Even encrypting it again could pose some question -- if you are 0 key encrypting it (a la some of the gateway stuff, not sure what the feelings are among people right now for this method) then that is one thing but encrypting it with the xorpad is another.

    To that end you are going to have to get your end users to decrypt it, apply the patches to the decrypted ROM and encrypt it again.

    Apply the patches is an interesting one. For my own internal use in hacks on the DS I would just rebuild with ndstool or something. I make something for release and I would often manually edit things to inject properly to minimise the changes, which is about as tedious as you would imagine. Alternatively you could bundle a tool that broke down the file system into files, patch the individual files (obviously for most end users you are going to want a batch file/shell script) and then rebuild it. You can try patching a plaintext/decrypted ROM and using something like xdelta to do it, I would try to help it out by only modifying files in place or putting new content in padding sections/the end of the ROM though as a 1 gig file is going to be quite large for its relocation search abilities, and the abilities of any relocation search of a sane patching method.

    In short it is going to suck as your audience will likely suffer a barrier to entry if you want to release it here and sites that do not post ROMs.
     
  10. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,673
    Sep 1, 2010
    What about posting a partial decrypted romfs in a compressed file containing your modified files to merge with a retail romfs that has been decrypted? Or would that still have legal issues?
     
  11. blinkzane

    blinkzane Panic at your moms house

    Member
    717
    209
    Jul 24, 2012
    United States
    Florida
    What's the worst they would do, shut it down? as long as you aren't making money off of it they have no reason to sue you, and it costs too much to send someone to court over infringement. Just my opinion though.

    Unless you're asking so that you can post it here in the open, then disregard all of that.
     
  12. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,193
    8,944
    Nov 21, 2005
    I suppose partial decrypted to merge would work, however as in this case it would probably then contain modified versions of the base files then that is still going to trouble things. If it was a translation and nothing of the original script remained we are back in traditional ROM hacking territory to play it as we do. If the additions are completely original (or port of an open source track or something) then yeah you have a slightly lesser but possibly slightly easier patching system.
     
  13. gamesquest1

    gamesquest1 Nabnut

    Member
    14,087
    9,423
    Sep 23, 2013
    yeah the 3DS poses a big problem for distributing game mods legally

    notable mentions are
    ---------------------------------------------------------------------------------------
    Re-encryption and smart data management can result in very practical xdelta patches....but this method is much more restrictive, you need to keep files sizes exactly the same, if you shrink or enlarge any file compared to the original it throws off the romFS layout, which combined with the encryption which means you won't get a small patch and you will be including a bunch of the original romFS's contents

    but for small mods, config editing, stuff like pokemon wild encounter mods translations (with management of filesizes) this is the most effective method and can result in patches of around 5mb which can be applied directly to a encrypted rom

    ---------------------------------------------------------------------------------------

    next up is the good old auto script for extracting the rom, replacing files and rebuilding, this is probably the most versatile, but it does require the end user to generate their own xorpads....but once they do that everything else can be automated, be it patches for games that use large files where you only edited a small section of the original file, or if you created full replacement files a straight swap over of stuff

    ---------------------------------------------------------------------------------------

    NTR plugin + required modded files
    this one is really easy, but for example if you only edited 2kb of a 20mb file, NTR would still require the whole replacement file to be included, which brings you back to the more "illegal" side of things....plus layeredFS is 4.x only for o3DS users, and won't play 7.x games unless your on a n3DS.

    ---------------------------------------------------------------------------------------

    and finally the "fake update"/ cia patch method....seeing as atm the only way people have got this working is by basing their work on real patches, and afaik this requires the cia patch to include the games original code.bin file....technically i dont think this would ever be "legal"....unless you go through the same troubles as as the above options (making people decrypt and patch, making your own .xdelta patch...etc, which undermines the usefulness of .cia patches to legally distribute rom mods....but it is more convenient for the end user if the "legal" issue doesn't bother you
    ---------------------------------------------------------------------------------------

    truth be told, no matter what option you go with, someone will probably end up making a full pre-built .3ds/.cia and distributing it at the usual places, so lazy people who cba making it themselves will probably head there to get it pre-built anyway, so i wouldn't worry about making it super easy, just as long as it works
     
  14. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    17,674
    8,285
    Oct 27, 2002
    France
    Engine room, learning
    That method was proposed for Labyrinth translation patch, but he finally decided to go with the re-encryption route.

    Though, he released his tools to automate the process for the users if any other project owner want to use the batch extract+patch+recompile method.
    Look in the Labyrinth translation thread to find the tool.
     
  15. DarkFlare69
    OP

    DarkFlare69 GBAtemp Psycho!

    Member
    4,626
    2,460
    Dec 8, 2014
    United States
    Ohio
    I'm asking so I can post it here.

    What if I link to a video which has a link in the desc which leads to a Web page that has hidden hex values in the html that users save? Will i get banned for that? @Cyan
     
    blinkzane likes this.
  16. Cyan

    Cyan GBATemp's lurking knight

    Global Moderator
    17,674
    8,285
    Oct 27, 2002
    France
    Engine room, learning
    it would be ok if the hidden hex values would be encrypted and to get the key you need to run a WiiU homebrew which unlock a link to download a 3DS CFW which redirects all internet access to a key which allow to decrypt the hex..

    No, really, why don't you just go the clean way instead of trying to find how to circumvent illegal distribution method?
    if you want to distribute something illegal, there are far way easier method : Torrent website, ISO website, just upload it on such sites, users know where to find it.
    no need to pile secrecy to make it harder for the end user.


    If you want to be legal/clean to post it here, I already gave you an info:
    the "Labyrinth no Kanata" thread contains tools to patch 3DS roms legally.
    the user need to generate the XOR Pad, and then launch the tool, and all is automatic. You don't provide ISO or ROM or illegal stuff, just a patch with your translation or hack and the patcher.


    gamesquest1 also provided different methods, but the "cia updater" is not very clean in my opinion as it depend on an existing offcial/retail patch file. it's edited to add already patched files inside, which are illegal to share too.
    both re-using a cia updater and the content is wrong.

    The other methods seems fine:
    - The automated patcher
    - Re-encrypting the patched ROM to make a small xdelta with only the differences between two encrypted ROMs. (the patch should be as big as your own work. if you replace a NPC's name, the patch will have the size of that replaced name)
    - NTR/layerFS, but it depends on a specific firmware versions and need patched files. You can share the xdelta of the patched file, not the files themselves.
     
    DarkFlare69 and blinkzane like this.