Homebrew 3ds_homemenu_extdatatool aka Custom Themes on Ninjhax/Gateway

Xeonhawk

Well-Known Member
Member
Joined
Nov 23, 2014
Messages
182
Trophies
0
Age
26
XP
284
Country
United States
Set it up like normal, power down the system, take out the sd card, and place the bgm.bcstm file (the one that came with the theme tools) in sd:/3ds/3ds_homemenu_extdatatool. This is exactly what I did and it worked.


That is exactly what I got and it isn't working.
 

TidusWulf

Real Aloha
Member
Joined
Jul 27, 2007
Messages
653
Trophies
1
Location
Hawaii
XP
775
Country
United States
The KH theme that came with that other guy's tool doesn't even stay after I put it in sleep mode. Nor does it appear in the theme selector, and obviously if I restart the 3DS it goes away, too. I'm running 9.2.0 on a 3DS XL. Cubic Ninja is a retail cart.

I also tried to make an AC theme, and it appeared fine in the tool, but when I load it up it's really wonky. flashing images, heavily cropped on the top screen, etc.
 

MrCheeze

Well-Known Member
Member
Joined
May 13, 2014
Messages
200
Trophies
0
Age
79
XP
338
Country
Canada
I can't help but notice that this tool apparently involves decrypting and editing extdata. Is this generalizable to allow arbitrary extdata editing, or is it themes only? Because it seems like the former would be quite powerful...
 

gamesquest1

Nabnut
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
yeah i was just wondering, would this be doable with any exdata, so for example people who have the eshop version of say pokemon x/y or ORAS could probably use pokehex with only ninjhax....granted a rather small audience, but a good start for homebrew only users
 

ChrisX930

Banned!
Banned
Joined
Sep 3, 2013
Messages
788
Trophies
0
Location
Germany
XP
458
Country
Gambia, The
Wait what?! Does this really work with NINJHAX?!
I don't need a Gateway or any other Flashcart, right?!
Couldyou tell me how I can run this on NINJHAX?
 

KniknokOne

Member
Newcomer
Joined
Jan 28, 2014
Messages
23
Trophies
0
Age
28
XP
76
Country
Gambia, The
just a question, since I have tried this for atleast 1 and a 1/2 hour now without a result, I started to wonder if this has something to do with the region since I am in EUR region and MRJPGames said:
"remove all .bins you have in the folder and just put the body_LZ.bin in it (with that name) and if your body_LZ.bin is not corrupted or from another region it should work"

Is this true? And if so any Ideas on how to solve this?
 

GolyBidoof

Well-Known Member
OP
Member
Joined
Apr 6, 2012
Messages
265
Trophies
1
XP
322
Country
Germany
Guys, there is a way to make custom themes on 9.4! The rule is exactly the same, dump Theme SD ExtData with SaveDataFiler, it's 000002cd on US 3DS, 000002ce on EU 3DS. A new dir on SD card should be made, the structure of it looks like that:
LI1lQ5E.png

According to 3DBrew,
Contains cached data from the last loaded theme RomFS bgm.bcstm file. The filesize must match 0x337000, otherwise the Home Menu code returns an error.
So just add some empty bytes at the end of the BCSTM file until it has this size.
QTZQKaY.png

I didn't try it yet, but BodyCache_rd.bin is most likely just one body_LZ after another and can be injected in Hex Editor as well (one theme is 1,376,256 bytes, rd is 13,762,560 bytes, so yeah)
Awesome! :D
Time to try to inject it...
 

GolyBidoof

Well-Known Member
OP
Member
Joined
Apr 6, 2012
Messages
265
Trophies
1
XP
322
Country
Germany
Every theme in Cycler is another digit in BGMCache or another space in BodyCache_rd.
The thing is that I can't seem to import that ExtData.
Even without changing a thing, I get:
result
Level: -7
Summary: 9
Module: 17
Desc: 250
Which I assume that means that the app is currently running, as I can import MK7 ExtData just fine. :/ What to do now?
 

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,656
Trophies
3
Age
29
XP
3,493
Country
France
Hello, i use the cia of this homebrew but i don't know how to use it...

I have copied bgm.bcstm and body_LZ.bin from the data folder of CustomThemeTools by Roxas.
http://image.noelshack.com/fichiers/2014/01/1420041270-sans-titre.jpg

I have my Groudon and Kyogre theme by defaut.

So, i use line 5 "Copy theme cache from sd to exdata" next i go in the homemenu but i see always my groudon theme, but WTF i have the mario sound from bgm.bcstm

bgm.bcstm seems work, but not the theme in body_LZ.bin
 

SLiV3R

3DS Friend Code: 0473-9069-2206
Member
Joined
Jan 9, 2006
Messages
2,319
Trophies
2
Website
soundcloud.com
XP
1,847
Country
Every theme in Cycler is another digit in BGMCache or another space in BodyCache_rd.
The thing is that I can't seem to import that ExtData.
Even without changing a thing, I get:

Which I assume that means that the app is currently running, as I can import MK7 ExtData just fine. :/ What to do now?

Are u yellows8?
 

GolyBidoof

Well-Known Member
OP
Member
Joined
Apr 6, 2012
Messages
265
Trophies
1
XP
322
Country
Germany
Are u yellows8?
No, I'm not. I'm just a random hacker who pushed MKDS hacking scene a bit forwards by researching files. Now this scene is comparable with MKWii one, but less devs work on it ;)
But I would love to have knowledge as wide as his.
I know how to install 3DS themes on 9.4 now! We need to set 3DSes to TestMode, so disable HomeMenu at all. To do this, you need to access Config dev app, go to "Other Settings", mark "Menu" and select TestMenu. Then just restart 3DS. One person already confirmed that this makes it possible to install themes, but I can't say who as the person has Nintendo dev license.

But. I need a Config .CIA for this, as .3DS won't any longer work in DevMenu. I tried making own CIA, but everything I try with RSF ends up with an error making 3DS force shut down.
This is the RSF I made:
Code:
BasicInfo:
  Title                  : "Config"
  CompanyCode            : "00"
  ProductCode            : "Config"
  ContentType            : Application # Application / SystemUpdate / Manual / Child / Trial
  Logo                    : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
 
TitleInfo:
  UniqueId                : 0xff401
  Category                : Application # Application / SystemApplication / Applet / Firmware / Base / DlpChild / Demo / Contents / SystemContents / SharedContents / AddOnContents / Patch / AutoUpdateContents
 
CardInfo:
  MediaType              : Card1 # Card1 / Card2
 
Option:
  UseOnSD                : true # true if App is to be installed to SD
  EnableCompress          : true # Compresses exefs code
  FreeProductCode        : true # Removes limitations on ProductCode
  EnableCrypt            : false # Enables encryption for NCCH and CIA
  MediaFootPadding        : false # If true CCI files are created with padding
 
ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
  ReadOnly:
  - .rodata
  - RO
  ReadWrite:
  - .data
  - RO
  Text:
  - .init
  - .text
  - STUP_ENTRY
 
PlainRegion: # only used with SDK ELFs
- .module_id
 
AccessControlInfo:
  UseExtSaveData: true
  UseOtherVariationSaveData : false
  ExtSaveDataId: 0xff401
  SystemSaveDataId1: 0x00000000
  SystemSaveDataId2: 0x00000000
  OtherUserSaveDataId1: 0x00000
  OtherUserSaveDataId2: 0x00000
  OtherUserSaveDataId3: 0x00000
  FileSystemAccess:
  - CategorySystemApplication
  - CategoryFileSystemTool
  - Debug
  #- TwlCardBackup
  #- TwlNandData
  #- Boss
  - DirectSdmc
  - SaveDataMove
 
  IdealProcessor                : 0
  AffinityMask                  : 1
  Priority                      : 16
 
  MaxCpu                        : 0x9E # Default
 
  DisableDebug                  : true
  EnableForceDebug              : false
  CanWriteSharedPage            : false
  CanUsePrivilegedPriority      : false
  CanUseNonAlphabetAndNumber    : false
  PermitMainFunctionArgument    : false
  CanShareDeviceMemory          : false
  RunnableOnSleep              : false
  SpecialMemoryArrange          : false
 
  CoreVersion                  : 2
  DescVersion                  : 2
 
  ReleaseKernelMajor            : "02"
  ReleaseKernelMinor            : "33"
  MemoryType                    : Application # Application / System / Base
  HandleTableSize: 512
  IORegisterMapping:
  - 1ff50000-1ff57fff
  - 1ff70000-1ff77fff
  MemoryMapping:
  - 1f000000-1f5fffff:r
  SystemCallAccess:
    ArbitrateAddress: 34
    Break: 60
    CancelTimer: 28
    ClearEvent: 25
    ClearTimer: 29
    CloseHandle: 35
    ConnectToPort: 45
    ControlMemory: 1
    CreateAddressArbiter: 33
    CreateEvent: 23
    CreateMemoryBlock: 30
    CreateMutex: 19
    CreateSemaphore: 21
    CreateThread: 8
    CreateTimer: 26
    DuplicateHandle: 39
    ExitProcess: 3
    ExitThread: 9
    GetCurrentProcessorNumber: 17
    GetHandleInfo: 41
    GetProcessId: 53
    GetProcessIdOfThread: 54
    GetProcessIdealProcessor: 6
    GetProcessInfo: 43
    GetResourceLimit: 56
    GetResourceLimitCurrentValues: 58
    GetResourceLimitLimitValues: 57
    GetSystemInfo: 42
    GetSystemTick: 40
    GetThreadContext: 59
    GetThreadId: 55
    GetThreadIdealProcessor: 15
    GetThreadInfo: 44
    GetThreadPriority: 11
    MapMemoryBlock: 31
    OutputDebugString: 61
    QueryMemory: 2
    ReleaseMutex: 20
    ReleaseSemaphore: 22
    SendSyncRequest1: 46
    SendSyncRequest2: 47
    SendSyncRequest3: 48
    SendSyncRequest4: 49
    SendSyncRequest: 50
    SetThreadPriority: 12
    SetTimer: 27
    SignalEvent: 24
    SleepThread: 10
    UnmapMemoryBlock: 32
    WaitSynchronization1: 36
    WaitSynchronizationN: 37
  InterruptNumbers:
  ServiceAccessControl:
  - APT:U
  - $hioFIO
  - $hostio0
  - $hostio1
  - ac:u
  - boss:U
  - cam:u
  - cecd:u
  - cfg:u
  - dlp:FKCL
  - dlp:SRVR
  - dsp::DSP
  - frd:u
  - fs:USER
  - gsp::Gpu
  - hid:USER
  - http:C
  - mic:u
  - ndm:u
  - news:u
  - nwm::UDS
  - ptm:u
  - pxi:dev
  - soc:U
  - ssl:C
  - y2r:u
  - ldr:ro
  - am:app
  - am:u
  - pm:app
  - ns:s
 
SystemControlInfo:
  SaveDataSize: 512K
  RemasterVersion: 1
  StackSize: 0x40000
  JumpId: 0x000400000FF40102
  Dependency:
    ac: 0x0004013000002402L
    am: 0x0004013000001502L
    boss: 0x0004013000003402L
    camera: 0x0004013000001602L
    cecd: 0x0004013000002602L
    cfg: 0x0004013000001702L
    codec: 0x0004013000001802L
    csnd: 0x0004013000002702L
    dlp: 0x0004013000002802L
    dsp: 0x0004013000001a02L
    friends: 0x0004013000003202L
    gpio: 0x0004013000001b02L
    gsp: 0x0004013000001c02L
    hid: 0x0004013000001d02L
    http: 0x0004013000002902L
    i2c: 0x0004013000001e02L
    ir: 0x0004013000003302L
    mcu: 0x0004013000001f02L
    mic: 0x0004013000002002L
    ndm: 0x0004013000002b02L
    news: 0x0004013000003502L
    nim: 0x0004013000002c02L
    nwm: 0x0004013000002d02L
    pdn: 0x0004013000002102L
    ps: 0x0004013000003102L
    ptm: 0x0004013000002202L
    ro: 0x0004013000003702L
    socket: 0x0004013000002e02L
    spi: 0x0004013000002302L
    ssl: 0x0004013000002f02L
And unfortunately this results with an FC.

Hello, i use the cia of this homebrew but i don't know how to use it...

I have copied bgm.bcstm and body_LZ.bin from the data folder of CustomThemeTools by Roxas.
http://image.noelshack.com/fichiers/2014/01/1420041270-sans-titre.jpg

I have my Groudon and Kyogre theme by defaut.

So, i use line 5 "Copy theme cache from sd to exdata" next i go in the homemenu but i see always my groudon theme, but WTF i have the mario sound from bgm.bcstm

bgm.bcstm seems work, but not the theme in body_LZ.bin
Make sure the name is EXACTLY the same. It's case-sensitive. I can't really help you more ;_;
Ah, actually I do. It's not confirmed whether this app works in 100% as CIA. Use Cubic Ninja exploit for this, pretty please.
 

GolyBidoof

Well-Known Member
OP
Member
Joined
Apr 6, 2012
Messages
265
Trophies
1
XP
322
Country
Germany
I can't use Cubic Ninja in EmuNand 9.4
Use 3DNUS for this, download the whole 9.2.0-20 EUR software and tick the tickbox to spoof firmware version. Write there "65535".
Then after everything is downloaded, access the folder, open this website:
http://yls8.mtheall.com/ninupdates/titlelist.php?date=12-08-14_07-15-03&sys=ctr&reg=P
And in the folder that you downloaded 9.2.0-20 EUR soft to, look for the files that have the names mentioned TitleID section of this site I linked. Copy all of these files (not the whole 9.2 folder, only these files that are in the chart of 9.3) to the SD card and flash them with DevMenu. Then install Ninjhax. You've successfully downgraded to 9.2 and disabled every update check ;)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    BakerMan @ BakerMan: well then show them how to scratch it (this is a verbalase joke)