Homebrew Is it possible to make a Download Play exploit?

  • Thread starter Thread starter Stalls
  • Start date Start date
  • Views Views 12,430
  • Replies Replies 96
Would it be possible to romhack an exploit into the download play sections of games like Mariokart 7 so you can trigger an exploit on another 3DS from a homebrewed 3DS?
 
  • Like
Reactions: WeedZ
Would it be possible to romhack an exploit into the download play sections of games like Mariokart 7 so you can trigger an exploit on another 3DS from a homebrewed 3DS?
This topic has been posted a dozen times, and this is the conclusion they always come to. Which means, no one knows how to do it, or no one's tried. I've heard that you are able to launch apps that require kernel access on o3ds 9.3 and up by injecting a launcher into a romfs and using hans. Having an app that ran in emunand that would send downgrade data through downloadplay would be cool though.
 
This topic has been posted a dozen times, and this is the conclusion they always come to. Which means, no one knows how to do it, or no one's tried. I've heard that you are able to launch apps that require kernel access on o3ds 9.3 and up by injecting a launcher into a romfs and using hans. Having an app that ran in emunand that would send downgrade data through downloadplay would be cool though.

This. I second this.
If we are magically able to do something with a sent over RomFS, or even have an exploitable RomFS ourselves, it would be a very unique exploit.
Has anyone tried using a payload, either otherapp or ropbin, and replacing a Mario Kart 7 track with by renaming it with the extension? What kind of crash do you get with both payloads?
 
Last edited by Pikasack,
Okay, sorry. I haven't seen the question asked before, so thanks for answering.
Its no problem. I've been interested in this idea for some time. As @thatbooisaspy said, the protocol is encrypted. But that just means the data packets are signed. The data itself is not. That's why we can use download play from pirated cias/roms from a hacked ds. Also custom romfs's will transfer too, like mario kart 7 custom tracks. The unmodified ds trusts that the data is legit because the packets are signed.

This. I second this.
If we are magically able to do something with a sent over RomFS, or even have an exploitable RomFS ourselves, it would be a very unique exploit.
Has anyone tried using a payload, either otherapp or ropbin, and replacing a Mario Kart 7 track with by renaming it with the extension? What kind of crash do you get with both payloads?
Ive played with it a bit, but no luck. My magic isn't strong enough. More or less I can't determine where the download play data starts. Like I said before, it's been posted that you can launch software on 9.3+ by injecting the exploit into a romfs. Supposedly even over the intro. Hopefully someone with more time will take interest in this.
 
This topic has been posted a dozen times, and this is the conclusion they always come to. Which means, no one knows how to do it, or no one's tried. I've heard that you are able to launch apps that require kernel access on o3ds 9.3 and up by injecting a launcher into a romfs and using hans. Having an app that ran in emunand that would send downgrade data through downloadplay would be cool though.

To clear this up, it is possible to do this through download play, so why hasn't it been done? Simple, downgrading isn't possible without first uninstalling the older title version. What does that mean? Simply, each CIA has a version number, the security checks that number along with the signature basically

Code:
if ( currentversion <= newversion ) {
    return 1; //error returned because it won't install the new version
    }else{
    installcia;
    }

That is ofc pseudocode, but it is a simple if else statement that people should be able to understand... So why not just spoof the version? Remember when I mentioned signature checks? Changing the version will break the signature. So how does downgrade work on exploitable versions? Simple, the title is first uninstalled so the security has no version to compare against.Ok so why don't we just do that? To have enough access to uninstall titles we must have at least arm11 kernel access. If we figured out how to get around that limitation (I think the eShop might have promise there) then sure it is entirely possible to downgrade
 
  • Like
Reactions: WeedZ
To clear this up, it is possible to do this through download play, so why hasn't it been done? Simple, downgrading isn't possible without first uninstalling the older title version. What does that mean? Simply, each CIA has a version number, the security checks that number along with the signature basically

Code:
if ( currentversion <= newversion ) {
    return 1; //error returned because it won't install the new version
    }else{
    installcia;
    }

That is ofc pseudocode, but it is a simple if else statement that people should be able to understand... So why not just spoof the version? Remember when I mentioned signature checks? Changing the version will break the signature. So how does downgrade work on exploitable versions? Simple, the title is first uninstalled so the security has no version to compare against.Ok so why don't we just do that? To have enough access to uninstall titles we must have at least arm11 kernel access. If we figured out how to get around that limitation (I think the eShop might have promise there) then sure it is entirely possible to downgrade
I remeber there being a discussion that we could downgrade without kernel. But I see the problem. Where does software get its privledges? For example, if we can send unsigned code from one ds to another with download play, could the software not request those privledges? Or for that matter, if you can update via ctr, would running some software via hans with a cartridge not have those permissions inherently?

Edit, nvm my question is redundent.
 
Last edited by WeedZ,
To clear this up, it is possible to do this through download play, so why hasn't it been done? Simple, downgrading isn't possible without first uninstalling the older title version. What does that mean? Simply, each CIA has a version number, the security checks that number along with the signature basically

Code:
if ( currentversion <= newversion ) {
    return 1; //error returned because it won't install the new version
    }else{
    installcia;
    }

That is ofc pseudocode, but it is a simple if else statement that people should be able to understand... So why not just spoof the version? Remember when I mentioned signature checks? Changing the version will break the signature. So how does downgrade work on exploitable versions? Simple, the title is first uninstalled so the security has no version to compare against.Ok so why don't we just do that? To have enough access to uninstall titles we must have at least arm11 kernel access. If we figured out how to get around that limitation (I think the eShop might have promise there) then sure it is entirely possible to downgrade

I'm a little confused on the conversation here, are you guys saying that it's possible to downgrade using applications transferred through download play?
 
I'm a little confused on the conversation here, are you guys saying that it's possible to downgrade using applications transferred through download play?
If you read my post I detail why it isn't possible, technically all of the pieces are there if we could bypass that one part of the security... Basically it is possible to update through download play (and has been done) but not downgrade

EDIT: just realized my 1000th post!
 
  • Like
Reactions: WeedZ
If you read my post I detail why it isn't possible, technically all of the pieces are there if we could bypass that one part of the security... Basically it is possible to update through download play (and has been done) but not downgrade

EDIT: just realized my 1000th post!
But you could always update through download play if the game supports it. If you were able to spoof it and was able to get to downgrading you would still have to go through Nintendo :glare:
 
But you could always update through download play if the game supports it. If you were able to spoof it and was able to get to downgrading you would still have to go through Nintendo :glare:
How would you have to go through Nintendo? You use an already exploitable console and install a CIA with a modified update CIA list, assuming you could spoof them ofc...
 
  • Like
Reactions: WeedZ
How would you have to go through Nintendo? You use an already exploitable console and install a CIA with a modified update CIA list, assuming you could spoof them ofc...
As I said, im confused on what you're getting at. If you're using a exploitable console (9.0-9.2) then you don't need to use download play as a exploit, you can just through many others that exists. What i'm saying is you can't downgrade without kernel (is it even possible to downgrade with kernel?) because it requires nintendo to actively sign updates (akin to iOS). I don't know exactly how they work, I'm just using guesswork and what i've read.

If you really want to install cia's through download play it might just be easier to install them through a CFW.
 
As I said, im confused on what you're getting at. If you're using a exploitable console (9.0-9.2) then you don't need to use download play as a exploit, you can just through many others that exists. What i'm saying is you can't downgrade without kernel (is it even possible to downgrade with kernel?) because it requires nintendo to actively sign updates (akin to iOS). I don't know exactly how they work, I'm just using guesswork and what i've read.

If you really want to install cia's through download play it might just be easier to install them through a CFW.

We're talking about using a CFW enabled console to downgrade a 9.3+ console
 
Oh okay, that makes more sense. CIA's run in userland, no? And I mentioned the update signing earlier. Still a cool concept.
Update signing? How would we do that when we don't know the common or private keys on any console (at least publicly, chances are someone, somewhere has dumped the public key)
 
  • Like
Reactions: WeedZ
Update signing? How would we do that when we don't know the common or private keys on any console (at least publicly, chances are someone, somewhere has dumped the public key)
Nothing. We can't do anything because that's show public-private key encryption works. The best we would get is a public key, but that's useless without the private key (which Nintendo holds).
 
Nothing. We can't do anything because that's show public-private key encryption works. The best we would get is a public key, but that's useless without the private key (which Nintendo holds).
Ok so I looked at your reply again and better understand what you were asking, ok yes we can downgrade with kernel (it has been done, by gateway and by the community separately) how it works is we can download the signed updates from Nintendo's servers (or we used to be able to anyways, they wiped a bunch of stuff out) so with those signed updates we just gain arm11 kernel access and thus access to am:u or am:net (am is the application manager) and uninstall the current titles and then use the older CIA versions that we downloaded directly from Nintendo (again they wiped it out but there are places you can still get older update packs) which are signed, then just use am again to install them
 
  • Like
Reactions: thatbooisaspy
@dark_samus3 let me ask you this. Again with modified romfs, what about reproducing an exploit (system flaw) similar to those already used for kernel and sending that through downloadplay? Instead of looking through games and software for a security flaw, we could make one, right?
 

Site & Scene News

Popular threads in this forum