ROM Hack 3DNUS

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
I made a program last days, and i thought it could be usefull for more people. So I made a few adjustments and decided to release it.

The Idea is actually stolen from UpdateCDN and NUSDownloader. It downloads a title and wrap it as a .cia file (if you want), or it download whole firmwares.
This file doesn't need any additional .csv files. it downloads the complete list from http://yls8.mtheall.com/ninupdates/reports.php and cycle through the titles and decide what to downloads.
This program also uses 3DSGuy's make_cdn_cia.exe file.
It is written in c# so it only works with .net framework.

to download a title:
just enter the title ID and the version ID and press download.

to download a firmware:
just enter the firmware you want in the title box and the region in the version box and press download. If this firmware doesn't excist it will grab the first firmware under it (Example 7.0.3-13 becomes 7.0.0-13)

UPDATE 1.5:
- it has an awsome icon;
- the not responding windows is solved and it is obvious is is runnign (cursur changes to wait cursor etc., it jsut seem smoother now);
- it has the ability to change the versions of the title. USE AT YOUR OWN RISK(this is actually for the whole program), so it can trick the 3ds in updating while it is actually downgrading (emunand for now).

UPDATE 1.6:
- A bug is fixed which makes the program freeze when spoofing small version numbers.
- a scrollbar is added
- when an error occurred the textbox background turns red (so be extra extra careful with installing (if)),

UPDATE 1.7:
Thanks for the reactions everybody ;), I looked into some suggestions and added the following:
- Errors are shown differently(a text is shown isntead of a red background)
- For firmware downloading you can enter "+" for spoofing 1 version higher than the current newest version for eacht title (this make it still updatable with net firmware updates);
- a progress bar has been added
View attachment 13061
download:
.exe: see attachment
source (c#): http://www17.zippyshare.com/v/53991976/file.html

I have a question. How do you install the .cia file on emunand and emulate say 9.0.0 after you downloaded it from this wonderful piece of software?
 

ground

Well-Known Member
OP
Member
Joined
Mar 22, 2007
Messages
907
Trophies
0
XP
572
Country
Netherlands
I have a question. How do you install the .cia file on emunand and emulate say 9.0.0 after you downloaded it from this wonderful piece of software?
you can install the .cia's with bigredmenu/ devmenu. ;) if you want to "downgrade"make sure you spoof the titleid's high enough.
 
  • Like
Reactions: satel

ground

Well-Known Member
OP
Member
Joined
Mar 22, 2007
Messages
907
Trophies
0
XP
572
Country
Netherlands
What do you mean be spoof the titleid's high enough.
i ment version id. So that the version of your downloaded cia is higher then the already installed title(cia) on your 3ds, otherwise the 3ds refuses to install that cia.
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Hey, You think I could use this to trick my console into downgrading? Been reading this thread: https://gbatemp.net/threads/3ds-update-process-analyzed.285655/ and I'm thinking of using my Raspberry Pi to redirect the console to a local web server, hosting the files. Seem possible? I think it may be possible. I could use IPTABLES to redirect the traffic... Maybe...
I had the same idea as I to have a raspberry pi. Maybe we could work together...
 

Unkn0wn

Well-Known Member
Newcomer
Joined
Feb 1, 2015
Messages
69
Trophies
0
XP
130
Country
I had the same idea as I to have a raspberry pi. Maybe we could work together...


Maybe. After reading the post about the update process, I wonder if the part where the 3DS exchanges data through SSL is where it gets "told" what titles have been updated. Since I'm already running 9.5.x, I wouldn't be able to test it at the moment as Nintendo haven't release another firmware update, yet.

Once Nintendo release another update and I have found the listing of updated titles - I should be able to replace those files with older ones on my local server. If all goes well - I guess that'll be my very first "big hack".

What firm you running?
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Maybe. After reading the post about the update process, I wonder if the part where the 3DS exchanges data through SSL is where it gets "told" what titles have been updated. Since I'm already running 9.5.x, I wouldn't be able to test it at the moment as Nintendo haven't release another firmware update, yet.

Once Nintendo release another update and I have found the listing of updated titles - I should be able to replace those files with older ones on my local server. If all goes well - I guess that'll be my very first "big hack".

What firm you running?
9.5.0. Are the update files from Nintendo the servers a .cia or something else?

Edit: I will be getting a 4.5 console this summer however.
 

Unkn0wn

Well-Known Member
Newcomer
Joined
Feb 1, 2015
Messages
69
Trophies
0
XP
130
Country
9.5.0. Are the update files from Nintendo the servers a .cia or something else?

Edit: I will be getting a 4.5 console this summer however.


The update files aren't normally stored as a .CIA, but 3DNUS converts them into a .CIA so you can install them through DevMenu. The 3DS downloads the files in their "Original" form. I've downloaded 9.2E and 9.2U (for American users). If I do succeed in this, I'll post my findings on GBATemp - I guess. If you get a 4.5 console, you should definitely use MT Cards emuNAND if you don't have a Gateway, then we can "play around" with the NUS.
 

Unkn0wn

Well-Known Member
Newcomer
Joined
Feb 1, 2015
Messages
69
Trophies
0
XP
130
Country
9.5.0. Are the update files from Nintendo the servers a .cia or something else?

Edit: I will be getting a 4.5 console this summer however.


Easiest method would be to download the latest firmware, then replace the files with older ones (old titles should be named with latest version ID's), the finally configure IPTABLES to redirect the HTTP traffic to a local server (can't redirect HTTPS because of the SSL certificate and such. If the console fails to communicate to Nintendo's legit secure server, the update would fail).
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Easiest method would be to download the latest firmware, then replace the files with older ones (old titles should be named with latest version ID's), the finally configure IPTABLES to redirect the HTTP traffic to a local server (can't redirect HTTPS because of the SSL certificate and such. If the console fails to communicate to Nintendo's legit secure server, the update would fail).
So what your suggesting is when the update fails our raspberry pi server will hijack it and upgrade it to the firmware that the user want's to update to?
 

Unkn0wn

Well-Known Member
Newcomer
Joined
Feb 1, 2015
Messages
69
Trophies
0
XP
130
Country
So what your suggesting is when the update fails our raspberry pi server will hijack it and upgrade it to the firmware that the user want's to update to?


No, what I'm saying is - the Raspberry Pi will ALLOW HTTPS (otherwise the update WILL fail) but redirect all HTTP traffic to a local server (hijack). This SHOULD in theory, downgrade the console. All I'd haft to do is rename the old 9.2 titles to the name of the latest version of that title.

E.g. (This is an example, it is completely random)
9.2 Download Play ID/VER: 00111009 (ID)/0000V12 (VER)
9.6 Download Play ID/VER: 00111009 (ID)/0000V13 (VER)

Rename "0000V12" to "0000V13". The console will download "0000V13" and it will actually be installing an older title. All of this is just a theory at the moment though - I can only test it if I had another console with an older firmware or if Nintendo released another update. My console is running 9.5 so I'm sort of screwed at the moment :/
 

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
No, what I'm saying is - the Raspberry Pi will ALLOW HTTPS (otherwise the update WILL fail) but redirect all HTTP traffic to a local server (hijack). This SHOULD in theory, downgrade the console. All I'd haft to do is rename the old 9.2 titles to the name of the latest version of that title.

E.g. (This is an example, it is completely random)
9.2 Download Play ID/VER: 00111009 (ID)/0000V12 (VER)
9.6 Download Play ID/VER: 00111009 (ID)/0000V13 (VER)

Rename "0000V12" to "0000V13". The console will download "0000V13" and it will actually be installing an older title. All of this is just a theory at the moment though - I can only test it if I had another console with an older firmware or if Nintendo released another update. My console is running 9.5 so I'm sort of screwed at the moment :/
Everyone on 9.5 is screwed for chances of making homebrew aren't they :P It's a simple and beautiful theory. Ubuntu Snappy core could be used as the sever (I'm currently trying to do my first ever port and port Snappy Core to Raspberry Pi model A) .
 

Unkn0wn

Well-Known Member
Newcomer
Joined
Feb 1, 2015
Messages
69
Trophies
0
XP
130
Country
Everyone on 9.5 is screwed for chances of making homebrew aren't they :P It's a simple and beautiful theory. Ubuntu Snappy core could be used as the sever (I'm currently trying to do my first ever port and port Snappy Core to Raspberry Pi model A) .


Oh cool. At this current moment in time, I'll be testing everything on my model B with Apache2 as the web server since it's what I've already got set up. You sure you can port snappy core to the model A? I don't think Ubuntu distribute ARM6 binaries for the architecture meaning that you probably won't have access to the archive of programs with apt-get, unless you add debians repo to your apt-get.list? Would be cool if you did mange somehow!
 

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
4,763
Trophies
2
Age
48
Location
Japan
XP
3,660
Country
United States
I see. Thanks.
I guess it's back to the drawing board.
Not at all... You only actually need a gateway card to enter Gateway Mode /Gateway Classic. Without a Gateway, you can still load the Gateway menu and do nand backups and perform the downgrade.

Edit: I already said this in an earlier post. I guess you missed it.

By the way... When I put + in the spoof version block, it says "no valid spoof number entered"
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,648
Country
France
It doesn't work on WinXP 32bit.
I know, I'm outdated and all, but there are still a lot of users using it. if you know how to compile for it that would be great.
Thanks.
 
  • Like
Reactions: cvskid

BurningDesire

Well-Known Member
Member
Joined
Jan 27, 2015
Messages
4,999
Trophies
1
Location
Behind a screen reading news
XP
4,885
Country
United States
Oh cool. At this current moment in time, I'll be testing everything on my model B with Apache2 as the web server since it's what I've already got set up. You sure you can port snappy core to the model A? I don't think Ubuntu distribute ARM6 binaries for the architecture meaning that you probably won't have access to the archive of programs with apt-get, unless you add debians repo to your apt-get.list? Would be cool if you did mange somehow!
New update is out for 3DS!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    @Maximumbeans, I'm doing alright, thanks.
    +1
  • Maximumbeans @ Maximumbeans:
    That must be rough. Productive I'm sure but hard to balance with daily life
    +1
  • SylverReZ @ SylverReZ:
    @Maximumbeans, Indeed. I've been working on getting this Infecutus chip to work on my PS2. But after soldering, I realised that a plastic piece was missing from the power ribbon cable to the power and eject buttons.
  • SylverReZ @ SylverReZ:
    Now I could go with soldering the contacts from the cable to the connector on the mobo, but doesn't sound like a good permanent solution.
  • Maximumbeans @ Maximumbeans:
    Man, that's beyond my brain :rofl: I'm no good with hardware for now. I'd like to get into hardmods in future though
  • SylverReZ @ SylverReZ:
    @Maximumbeans, Maybe start practice soldering. Get a cheap-ass soldering iron and follow some good YouTube tutorials.
    +1
  • SylverReZ @ SylverReZ:
    Least my experience has gotten better than over a decade ago. My iron would constantly bump into components and break them.
  • Maximumbeans @ Maximumbeans:
    Sounds good. I actually did soldering but like 16 years ago for school so uuuuh probably rusty haha
  • SylverReZ @ SylverReZ:
    @Maximumbeans, Same here. I did soldering at school from a teacher who I honestly liked since he had plenty of good electronics experience.
    +1
  • Maximumbeans @ Maximumbeans:
    I wish I could play chess well
    +1
  • Maximumbeans @ Maximumbeans:
    Useless but a true art
    +1
  • SylverReZ @ SylverReZ:
    @Maximumbeans, I had a friend who had a glass chess set for their birthday.
  • SylverReZ @ SylverReZ:
    It was like all clear and fancy. Tbf I'm not too experienced with chess, but would like to learn someday.
  • Maximumbeans @ Maximumbeans:
    That sounds really cool
  • Maximumbeans @ Maximumbeans:
    I know the basics but no strategy at all :rofl:
    +1
  • Veho @ Veho:
    Watch chess streamers on Twitch and you'll pick up a thing or two.
    +1
  • Veho @ Veho:
    Not to mention there's an infinite number of chess games for every possible platform.
    +1
  • DinohScene @ DinohScene:
    just play it, get beaten a few times and start dominating
    +1
  • K3Nv2 @ K3Nv2:
    Nude chess is best
    +1
  • DinohScene @ DinohScene:
    strip checkers > nude chess
    +1
  • K3Nv2 @ K3Nv2:
    Nude checkers get jumped
    +1
  • SylverReZ @ SylverReZ:
    @Veho, I guess you'd pick up something while watching tub streams.
  • SylverReZ @ SylverReZ:
    @K3Nv2, Dick fights. :tpi:
  • Veho @ Veho:
    Turkish olive oil wrestling.
    +1
    Veho @ Veho: Turkish olive oil wrestling. +1