Tutorial  Updated

Layered FS With Updated exefs

If you want to use NTR CFW's LayeredFS plugin with a game that has had it's code updated; like Super Smash Brothers, you will need to extract the exefs from the update. I will explain how this is done.

Required Tools:

Step 1: Find game TID
Goto 3dsdb and search for the name of your game and copy the titleid of it somewhere, for example the TID of the US version of "Super Smash Brothers" is "00040000000EDF00".

Step 2: Dump ticket.db
Now we need to dump the tickets from your 3DS, so launch Decrypt9 WIP. Select "EmuNAND" or "SysNAND" options, depending on where the update is installed. The proceed to "File Dump" and select "ticket.db". Then press A, this might take a few moments to complete. When it is done power off your 3DS and copy "Decrypt9/ticket.db" to where you put FunkyCIA2.

Step 3: Download the update
Using the TID we found before, in this case "00040000000EDF00"; we need to change it slightly to get the update from FunkyCIA2. To figure out what the TID of the update is we need to replace the first eight digets of the TID to "0004000E", so Smash would be "0004000E000EDF00". Now open a terminal in the directory of FunkyCIA2 and execute "python FunkyCIA2.py ticket.db -title <TITLE ID>", for smash this would be "python FunkyCIA2.py ticket.db -title 0004000E000EDF00". Since the updates can be large this might take a while.

Step 4: Decrypt the update
Now that we have the update downloaded, we need to decrypt it. You need to copy the cia to your SD card, so copy the CIA from the CIA folder that FunkyCIA2 creates to "D9Game/". Then launch Decrypt9 again. Select "game Decryptor Options", then "CIA Decryptor (deep)". Again, this might take a while to complete. Now shutdown your 3DS.

Step 5: Extract exefs
Now copy the cia to a working directory on your computer. Then open a shell in the work dir and execute "ctrtool --content=content <TID>.cia", for Smash this would be "ctrtool --content=content 0004000e000edf00.cia". Then execute "ctrtool --exefs=exefs.bin <content>", where content is the larger content file, again for Smash this would be "ctrtool --exefs=exefs.bin content.0000.00000012".

Step 6: Create plugin
Replace the CTRTool that it has with the one you downloaded. Copy exefs.bin to "workdir" in the layeredFS directory, and open a shell. Execute "ctrtool --decompresscode -t exefs --exefsdir=workdir/exefs workdir/exefs.bin", then execute "python locate.py workdir/exefs/code.bin" and enter the path you want. If you want a sub-directory just separate the directory names with a forward-slash "/". Then press enter to disable language emulation. Execute "cd plugin", then set your PATH to include DevkitARM. On Windows this would be "set PATH=%PATH%;<devkit arm>", on my computer it is "set PATH=%PATH%;D:\devkitPro\devkitARM\bin". Now execute "python build.py", there should be a file called "layeredfs.plg" in the plugin directory.

Step 7: Install plugin
Create a directory in the root of your SD card called "plugin", and in there create a directory with the TID of your application, for Smash this is "00040000000EDF00". Copy layeredfs.plg into the directory with the TID. I recommend creating a text document in the plugin directory that lists the TIDs of the applications that you have plugins for.

Step 8: Profit


Please note:
It is legal to share the layeredFS plugins, since they just use the code to find a few pointers in the exefs; this means that they do not use anything that is in the CIA.
 
Last edited by gudenau,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Tandem even
  • The Real Jdbye @ The Real Jdbye:
    i think i heard of that, it's a good idea, shouldn't need a dedicated GPU just to run a LLM or video upscaling
  • The Real Jdbye @ The Real Jdbye:
    even the nvidia shield tv has AI video upscaling
  • The Real Jdbye @ The Real Jdbye:
    LLMs can be run on cpu anyway but it's quite slow
  • BakerMan @ BakerMan:
    Have you ever been beaten by a wet spaghetti noodle by your girlfriend because she has a twin sister, and you got confused and fucked her dad?
  • Psionic Roshambo @ Psionic Roshambo:
    I had a girlfriend who had a twin sister and they would mess with me constantly.... Until one chipped a tooth then finally I could tell them apart.... Lol
  • Psionic Roshambo @ Psionic Roshambo:
    They would have the same hair style the same clothes everything... Really messed with my head lol
  • Psionic Roshambo @ Psionic Roshambo:
    @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to maybe close the gap a bit with Nvidia. Plus it would kinda put Nvidia at a future disadvantage since Nvidia can't make X86/64 CPUs? Intel and AMD licensing issues... I wonder how much that has held back innovation.
  • The Real Jdbye @ The Real Jdbye:
    i don't think nvidia wants to get in the x64 cpu market anyways
  • The Real Jdbye @ The Real Jdbye:
    you've seen how much intel is struggling getting into the gpu market
  • The Real Jdbye @ The Real Jdbye:
    and nvidia is already doing ARM
  • The Real Jdbye @ The Real Jdbye:
    i don't think they want to take more focus away from their gpus
  • Psionic Roshambo @ Psionic Roshambo:
    Yeah I think Nvidia s future lays in AI GPU acceleration stuff if they can get that going it's going to be super interesting in the long term
  • Psionic Roshambo @ Psionic Roshambo:
    AI assisted game creation might become a thing
  • Psionic Roshambo @ Psionic Roshambo:
    At least that's something I think would be pretty cool.
  • Psionic Roshambo @ Psionic Roshambo:
    Don some VR glasses and gloves and talk to the computer and paint entire worlds
  • Psionic Roshambo @ Psionic Roshambo:
    "OK Cortana I want that mountain a little taller and more snow on top, and I would like some random ancient pine forest around the bottom"
  • Psionic Roshambo @ Psionic Roshambo:
    "Now we need a spring fed river flowing down the north side and add some wild life appropriate for the biome"
  • Psionic Roshambo @ Psionic Roshambo:
    Many TBs of assets and the programming of something like that is going to be tough but I think it's something we might see in 20 years maybe sooner
  • The Real Jdbye @ The Real Jdbye:
    @Psionic Roshambo AI assisted game creation is kinda already here, there was recently that AI that can turn any 2D image into a fully modeled 3D object, it's not perfect, but it's a starting point, beats starting from zero
  • The Real Jdbye @ The Real Jdbye:
    before that there was one to generate a fully modeled scene from a 2D image
  • The Real Jdbye @ The Real Jdbye:
    but most recently, there was one that actually generates a working unity scene with terrain and textures already set up that you can import right into unity, that's a huge time saver right there
  • The Real Jdbye @ The Real Jdbye:
    and using LLMs to generate NPC dialogue and even dynamically generated quests is something i'm sure is already happening
  • The Real Jdbye @ The Real Jdbye:
    will just take some time for games made using those things to be completed and released
    The Real Jdbye @ The Real Jdbye: will just take some time for games made using those things to be completed and released