Homebrew Question/Idea: Levels of Access

KeroseneZanchu

Member
OP
Newcomer
Joined
Oct 12, 2014
Messages
19
Trophies
0
Age
22
XP
86
Country
United States
So with IronHax and TubeHax out, I've been seeing a lot of threads pop up about it's capabilities. Correct me on anything I get wrong, because I have little to no idea on how this works.

Here's the stuff I DO know:

- According to @WateredFire19 :
-- IronHax has certain levels of AM service
-- There are multiple levels of AM service
-- Installing CIAs (I have a general idea what those are, but if someone could elaborate, then that would be great) is above IronHax's level

- According to @BobDoleOwndU :
-- Spider works by editing RAM, not savegame data.
-- RAM for a game requires you to be playing the game
-- The Homebrew Launcher can't be run while playing the game
-- Therefore, the Homebrew Laucher can't edit RAM like Spider
-- The only other option would to edit the save by decrypting, editing, and encrypting it.
-- 'In theory' it could work, but someone would have to find out how to make a homebrew version of a SaveDataFiler

- According to @shinyquagsire23 :
-- It is also possible with the new 'XML app overrides' (not sure what those are, if someone who comments here could explain, that would be great)

- What I've seen around (not necessarily a single person)
-- extdata is editable
-- Examples of extdata are Themes and Play Coins (maybe others, those are the ones I know of)

NOTE: I have referenced these people based on stuff they have said and without their consent. If I have misinterpreted anything they have said, or if they would like not to be referenced, they can come forward at any time and say so.

Now for my question. What, exactly, are the levels of access that exist, which levels of access are available, through what methods can we achieve them, and what levels of access do we need in order to edit/install certain things (.cia's, save data, dlc, other things)?

I would like to clarify that I know very little about the Homebrew scheme, and the only way I can contribute is by asking questions that can spur ideas, problem solving (maybe), and organizing. I don't know pretty much any coding, it's hard for me to grasp a lot of these ideas unless they're dumbed down to high-elementary or low-junior-high level, and I don't really have the equipment or money to experiment. I'm just hoping someone could help me out on this question, and give me a few tips on things I may/should need to know in order to comprehend homebrew talk higher than 'Download this, run this so it installs that, then use that to run your homebrew'
 

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
The Ironhax installer works by starting Ironfall instead of one of the select service-compatible apps (MSET, dlplay, camera applet, etc). Thus you have access to all the same things Ironfall does, including its save and romfs. You can also do something like this in the XML file to launch and take over whatever is in the game card slot:
Code:
<targets selectable="false">
    <title mediatype="2">0</title>
</targets>
I'm trying to get a PoC on dumping either the save or romfs but it's going slowly.

EDIT: Never mind that doesn't seem to work with the current version of 3ds_hb_menu, but you could probably fill in a valid TID and have it work.
EDIT 2: OK now it works, you just have to pull the latest ctrulib+3ds_hb_menu.
 
Last edited by shinyquagsire23,
  • Like
Reactions: VinsCool

Duo8

Well-Known Member
Member
Joined
Jul 16, 2013
Messages
3,613
Trophies
2
XP
3,024
Country
Vietnam
3DS does permission management by checking the exheader of a program before starting the process. The process is then granted access to the services and syscalls listed in the exheader. (there's a bit more to it than this but this is the basic).
 

Rinnegatamante

Well-Known Member
Member
Joined
Nov 24, 2014
Messages
3,162
Trophies
2
Age
29
Location
Bologna
Website
rinnegatamante.it
XP
4,857
Country
Italy
Probably the AM "level" people talked about are the different registered services available for AM service. ( http://3dbrew.org/wiki/Application_Manager_Services )

To install CIAs according to FBI, BGRM and Sunshell codes, you'll have to access to am:u or am:net services.
Probably TubeHax have access to another AM "sub-service" like am:app or something other.

EDIT;
As i said, smealum updated recently ctrulib and added am:sys service to amInit() functionallity. ( https://github.com/smealum/ctrulib/blob/master/libctru/source/services/am.c )
Then ninjhax launch amInit() so probably service we have access with NH 2.1, IronHax, TubeHax is am:sys.
 
Last edited by Rinnegatamante,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    PotatoStatic @ PotatoStatic: Jesus. Someone really wants to give me speedy loans.