[Release] 3ds Rom Tools (GUI)

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by Shadowtrance, Sep 7, 2015.

  1. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    As the title says, this is a release of my 3ds Rom Tools (couldn't think of a better name) GUI frontend for ctrtool / padxorer.

    It's basically for extracting rom files with a few button presses without messing with batch files and commandline like we have been for so long.
    Supports encrypted games, via xorpads and of course decrypted games decrypted using Decrypt 9's rom decryptor feature. :)

    So i thought I'd take a stab at it and learn a bit of C# while I'm at it. :)

    Help button pretty much tells you what to do if you don't happen to figure it out by just looking at the window.

    Source is here. https://github.com/Shadowtrance/3ds-Rom-Tools
    And pre-built copy is here. https://github.com/Shadowtrance/3ds-Rom-Tools/releases

    I'm open to suggestions for adding stuff, although i can't really think of much to add. Also open to pull requests with code optimizing, enhancements etc as I'm still pretty new to C# so I'm sure there's things that could be done better. But as it stands now it does the job i wanted it to. :)

    Of course if there's any issues that come up please do let me know. :)

    Anyway here's a few screenshots, not much to it really.

    Thanks for reading and enjoy. :)

    [​IMG]

    [​IMG]
     
    Last edited by Shadowtrance, Sep 8, 2015


  2. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
  3. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    On Windows 8, upon first launch of 3ds Rom Tools.exe it takes 2-3 minutes to load up, looked a bit glitchy with the window disappearing for a second and reappearing. Subsequent launches are immediate with no issues.

    On rom selection, after click on Browse and then cancel, it throws up an error "Unhandled exception has occurred in your application. If you click Continue, the application will Ignore this error and attempt to continue. If you click Quit, the application will close immediately. Path cannot be the empty string or all whitespace." I can click on Browse again if I click Ignore.

    Ok, there must be a step that I'm missing, because after selecting a rom, pressing any of the buttons (extract exheader, etc) gives me a window saying it's done, but all my folders are still empty in the rom directory created by the program. Are they being stored somewhere else? The buttons for unpacking remained grayed out after extracting was supposedly completed.

    Before you ask, I'm running the exe with the whole zip file unpacked so it does have access to the other files in the download.
     
    Last edited by ayanekochan, Sep 9, 2015
  4. nastys

    nastys ナースティス

    Member
    1,466
    859
    Aug 5, 2014
    Italy
    Earth
    Port it to Qt (C++), which is cross-platform :)
     
  5. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    I can't replicate this. Runs fine (few seconds from clicking to appearing), I'm on win 8.1.

    I can replicate this. Will have to fix it and put in some checks so that doesn't happen if someone happens to click cancel. I must have missed browse/cancel issue while testing.

    They shouldn't be empty, a folder with the name of the rom file (minus extension) should be created in the same folder as the program, and there should be 3 sub folders inside it (decrypted, encrypted and unpacked). And the files should be move to their respective folder once unpacked.
    Also if you press unpack and the game isn't already decrypted (using the rom decryption option in Decrypt9) only the encrypted files will appear, and the unpack will do nothing. So for that to work you need to use the xorpad tab after extracting.

    — Posts automatically merged - Please don't double post! —

    If i knew QT or C++ i would, but i don't. :P
    But the source is there on github. :)
     
  6. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    That's just it though. I see the 3 sub folders but all of them are empty after I press each of the extract buttons.

    I'm testing it with a Monster Hunter 4 U (U) rom, I'm assuming it's encrypted since it's a cart dump. I selected the rom and then pressed extract, got a completed confirm window, and then nothing. No files in any of the new folders and grey buttons for unpack.
     
  7. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    That's quite strange. Have you tried any other games?
    Also did you make sure to "unblock" the zip after downloading (if it's blocked that is) ? Seeing as windows seems to like blocking files. (right click > properties > unblock > apply > OK).
    I have MH4U (E) i think so i'll check it with that.
     
  8. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    I already unzipped with no issues but I re-did it again just in case after "unblocking" the zip. Tried MH4U again with and without admin rights, both times with same results. Also tried with a different rom TFF:Curtain Call (U), with and without admin rights, same thing. It looks like it creates those folders at the time when the rom is selected, but it does not become populated with files after I press any of the extract buttons. Sometimes the extraction complete window doesn't appear but most of the time it comes up immediately.

    Also, these are .3ds roms, I don't know if that makes a difference.

    Edit: Just checked again, I am actually on win8.1
     
    Last edited by ayanekochan, Sep 9, 2015
  9. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    That's really strange. And no it doesn't matter that they're .3ds files as that's what it's looking for anyway (among other file extensions).

    I'll try it with those 2 games myself in a minute, i have the eu versions here.

    Edit: Well i just tried both of those games and they extracted fine. Didn't try unpack as i don't have the xorpads at the moment or a decrypted copy of either.
     
    Last edited by Shadowtrance, Sep 9, 2015
  10. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    Hmm, I browsed through your code a bit and it looks like there's supposed to be output displayed in the text box when the extract button is run? Mine is blank except for the folder extension which is displayed after I select the rom file. But even after I get the extraction complete window it remains blank.
     
  11. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    Yeah it should look like this... I really have no idea what's going wrong on your end. :(


    [​IMG]
     
  12. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    Yea, that's really strange, my text box is completely empty...

    Are there any additional software I need to install? Win8.1 should have all the essential requirements right?

    I'm re-dumping another cart to see if its a cart issue.
     
  13. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    Can't think of any other requirements except .NET framework (4.5) but you obviously already have that as it probably wouldn't even run otherwise.
    Only other thing i can think of is try running ctrtool from cmd and see what happens, although i don't think it requires anything else either, nor does padxorer I'm pretty sure. Only other software required is python for the merge exefs script. (i don't know how to convert python to C# otherwise that wouldn't be needed either).
     
  14. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    I tried the extraction again with a new rom dump, no dice.

    When I run ctrtool from cmd, it gives me an error: The program can't start because MSVCR120D.dll is missing from your computer. Try reinstalling the program to fix this problem

    I'm thinking this is the reason why it's not working for me?

    — Posts automatically merged - Please don't double post! —

    Running the dll through google gives me this page: https://msdn.microsoft.com/en-us/library/windows/hardware/dn448963(v=vs.85).aspx

    I think you're supposed to include this in the code/package for it to run properly? It doesn't sound like non-development environments would have this file.
     
  15. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    No, no need for me to include it as it's part of the Microsoft Visual C++ 2013 Redistributable. (the GUI itself doesn't need it, but ctrtool does for some reason)
    So yeah that will be the problem causing you to get nothing output.
    http://www.microsoft.com/en-us/download/details.aspx?id=40784
     
  16. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    Didn't work, I'm still getting the same error from trying to run ctrtool from cmd after I installed the dist pack. I also confirmed that I have the dll file in windows/system32, but interestingly it dates back to 2013...
     
  17. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    Found the culprit! I replaced the ctrtool file with the older one from http://gbatemp.net/attachments/ctrtool-rar.10457/ and it worked. I realized that yours came from somewhere else after digging through your github and not seeing the source code for it (it had to have come from someone else).

    Text box is populated with lines of output and I'm finally able to extract all the bin files.

    And...I was under the impression that this tool allowed me to extract xorpads lol...it looks like I actually need to have xorpads on hand to use this...x.x
     
  18. Shadowtrance
    OP

    Shadowtrance GBAtemp Addict

    Member
    2,482
    1,513
    May 9, 2014
    Hervey Bay, Queensland
    Nope xorpad extraction/creation still needs 3ds sadly. lol
    And yeah there's a few versions of ctrtool floating around and i never had any issues with the one i use so i included that one.
    You don't really need the xorpads for extracting/unpacking as you can use the rom decryption option in decrypt9 to decrypt the rom file directly on the 3ds, then extract on pc, no xorpads needed.
     
  19. Asia81

    Asia81 In my Ecchi World <3

    Member
    4,881
    2,349
    Nov 15, 2014
    France
    Albi
    Not working with decrypted roms (so no xorpad needed) by rxtool/decrypt9.
    all i get it's an empty folder.
     
  20. ayanekochan

    ayanekochan GBAtemp Regular

    Member
    197
    18
    Aug 6, 2015
    United States
    Yea I got excited when I thought this can allow me to do everything on the pc instead of going back and forth.

    If I decrypt directly on the 3ds, then that means I'd need to have loaded every rom on the msd first, which is not ideal if I'm planning making a lot of cias at once. But yes, I can see this being useful if I were to dump games one by one and then using decrypt9 directly afterwards.

    At least we figured out the problem so it'll be helpful for others who have similar runtime environments. :lol:

    — Posts automatically merged - Please don't double post! —

    Try it again after replacing the ctrtool.exe with the one from here http://gbatemp.net/attachments/ctrtool-rar.10457/, worked for me.