Converting to CIA on linux

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by mid-kid, Feb 4, 2015.

  1. mid-kid
    OP

    mid-kid GBAtemp spamBOT

    Member
    879
    962
    Aug 2, 2012
    Hi, I've succesfully installed Palantine's CFW, and I have a few games there, but I want to be able to convert some games to CIA.
    My windows machine olny has 2g of ram, and swapping on windows looks like the memory graph is having a spasm attack, taking ages to convert.
    So, on my linux laptop, with 2g of ram, and 4g of actually working swap space, I want to be able to convert my games.
    The first steps are very straight-forward, use 3DS_Multi_Decryptor to get dem xorpads, but after that, the information on how to convert is spread all over the internet and I can't find a simple document stating which tools I need, and how to use them, so I set out on an expedition by myself.
    I've installed devkitARM, makerom and ctrtool (from this Project_CTR, and patched a file documented here), added them to my path and set the correct variables, but that's not what's wrong.
    I've created a tools directory, containing some files from Queno138's pack (rsfgen.py, rom.rsf), rom_tool.exe downloaded from the original thread, ExInjector.exe downloaded from the original thread, slot0x25KeyxX.bin, padxorer compiled from this pastebin).

    This document documents the steps I've taken to convert a .3ds to .cia, I've tried both Animal Crossing and Kid Icarus:
    I've studied Queno138's "build and make.bat" to create this document.
    This looks right to me, but whenever I boot the game on CFW, it's stuck on the 3DS logo.
    Am I missing something?
     
  2. Vappy

    Vappy GBAtemp Advanced Maniac

    Member
    1,508
    1,155
    May 23, 2012
    Do you get any garbage output from ctrtool if you try inputting decrypted exheader, exefs or romfs? You shouldn't need the '-desc app:5' flag with makerom, rsfgen or ExInjector should take care of that. Also shouldn't be necessary to use both of those, try with just one or the other? Do you get any garbage output from ctrtool if you try inputting exheader, exefs or romfs?
     
  3. hippy dave

    hippy dave BBMB

    Member
    2,600
    1,809
    Apr 30, 2012
    United Kingdom
  4. mid-kid
    OP

    mid-kid GBAtemp spamBOT

    Member
    879
    962
    Aug 2, 2012
    Inputting... how?

    I removed that flag, compiled rom_tool from source for linux (because it works, even though the original thread says it doesn't), and didn't use ExInjector, and it worked!
    But I want to use ExInjector, because I want to have the original headers, though I need an rsf file to generate the cxi. How would I go about using ExInjector?

    By the way, Animal Crossing doesn't want to update online. I think this may have to do with the updatedata not being included. How would I go about including it?

    I'm not too fond of those kind of scripts, which do something you could do yourself in about 10 commands, and obscure the whole process, making it very hard to know what's going on. I've used them sometimes, but these scripts give me the exact same feeling as those "rootkits" or "root toolbox" you have for android. I mean, come on, it's just getting fastboot, adb and running a few commands to root most phones.
     
  5. Vappy

    Vappy GBAtemp Advanced Maniac

    Member
    1,508
    1,155
    May 23, 2012
    The -t flag lets you specify an input type and file, and reads back what it can from the file. Easy way to check the file was fully decrypted.
    Really, just removing the -desc flag should be enough for it to be working, you should be able to use ExInjector as normal (ie. after making the .cxi)
    Not something I've ever attempted before myself, but https://gbatemp.net/threads/4-x-only-cia-cfw-complete-guide.373532/page-58#post-5150257 could work?
     
  6. hippy dave

    hippy dave BBMB

    Member
    2,600
    1,809
    Apr 30, 2012
    United Kingdom
    Fair enough, I don't think this one really does anything in a more obscure way than what you're doing tho, if anything it's just another example to check out.