Windows 10 fake update prompt on 3DS

so given how unexpectedly popular my little image of a fake Windows 10 update prompt has become, I suppose I should make a post explaining how I did it. (I've seen it posted to twitter with over 1,900 retweets/likes, posted to /r/pcmasterrace at least three times, and my post on /r/3dshacks get over 400 points and reach the top all-time voted post for the subreddit. oh and /r/games)
what I did is nothing truly special. it's fairly easy to do once you know how to use the tools like ctrtool/3dstool/MSBT Editor, etc.

I didn't use https://gbatemp.net/threads/tutorial-edit-the-homemenu.424449/ (only my own knowledge, i'm bragging here), though you can probably replace most of the things on this page with the linked tutorial.

finding the right text to change was not easy. I couldn't just find any dialog text to replace, it had to have a yes/no-like prompt. I also thought I couldn't edit the entire message due to limitations, but I realized this wasn't true (explained later)

I settled on the prompt that appears when you try to use the browser without having one.
pwOz6qP.png

I could only change the first part "In order to use this function, you must perform a system update via the Internet.", so since the second part was close enough to what I wanted, I used this one.

if you're seriously considering doing this, back up your Sys/EmuNAND because it's not to easy to remove! I'm not responsible if you brick your NAND/console because you didn't have a good backup.

also I should probably say here (given how popular this is?) that you need a Nintendo 3DS system with 9.2.0-20 sysnand or lower with an updated emunand, or arm9loaderhax. i.e. you need custom firmware to do this.
so from here, you'd get the latest Home Menu CIA, decrypt it, and start extracting everything from it...
Code:
# extract the CIA and CXI
ctrtool --contents=contents 0004003000008F02.cia
3dstool -xvtf cxi contents.0000.xxxxxxxx --header ncchheader.bin --exefs exefs.bin --romfs romfs.bin --plain plain.bin
3dstool -xvtf romfs romfs.bin --romfs-dir romfs

# decompress menu.msbt, replace US_English with whatever you want to edit
cd romfs/message/US_English
3dstool -uvf menu_msbt_LZ.bin --compress-type lzex --compress-out
from here, I use MSBT Editor Reloaded (it works under Wine if you're curious! just install mono/.net stuff). the one message above is "lau_dlg_no_app". originally when making this message, I thought I couldn't edit the entire part, but apparently I can. I didn't notice "Sub" which lets me edit multiple parts of the message.
VY1JFbp.png

dink6YL.png
9ga5cag.png
once saved, the reverse is basically done here.
Code:
# compress menu.msbt
3dstool -zvf menu.msbt --compress-type lzex --compress-out menu_msbt_LZ.bin

# rebuild CXI and CIA
cd ../..
3dstool -cvtf romfs romfs-mod.bin --romfs-dir romfs
3dstool -cvtf cxi patched.cxi --header ncchheader.bin --exefs exefs.bin --romfs romfs-mod.bin --plain plain.bin
makerom -f cia -o patched.cia -content patched.cxi:0
finally, encrypt NCCH with Decrypt9 (this is important for the modified Home Menu to run at all!), and install to NAND assuming you have a backup. delete your Internet Browser with any CIA manager to enable the message.
RW1lVfs.png

a trick I used to hide the Internet Browser banner (and any banner) from the top screen was to go to Home Menu Settings, scroll down and tap "Nintendo 3DS Image Share".

and there you have it: Microsoft trying to get you to run Windows 10 on literally everything, even your Nintendo console.
  • Like
Reactions: 35 people

Comments

I saw this on Twitter, didn't know you're the brains behind it. Gave me a chuckle :ha:
 
S
Wow. XD Very cool how you did that
 
Wow.
Nice work.
Special Thanks to Apple; without you, this would not even be a joke. Oh, and Communism. That too.
 
Someone threw out a Mac Pro so I took it. Surprisingly it works and now I'm running Ubuntu on it (dun like OSX and Windows doesn't like the GPU I have. Need a new one)
 
@ihaveamac The easier way would be to fabricate the image now and just print it in lpp 3ds since we have the fonts
 

Blog entry information

Author
ihaveahax
Views
718
Comments
48
Last update

More entries in Personal Blogs

More entries from ihaveahax

Share this entry

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    @K3Nv2, gonna make a jumping sprite
  • BigOnYa @ BigOnYa:
    You can add platform character behavior to any sprite, just disable the default controls for it, and make it jump/move in your code. The rectangle behavior is cool too for enemies.
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, how is it cool?
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, and i meant jumping sprite for the player
  • BigOnYa @ BigOnYa:
    It makes it move around constantly in different directions, like a enemy moving back n forth from one side to other
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, and i dont think the rectangular movement behavior works for platform games
  • BigOnYa @ BigOnYa:
    Yea it does. And you can add platform character behavior to your own charcter, and it will have move and jump already setup for you, space bar is jump, arrows move
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, i already added the platform character behaviour to the player since i started doing this
    +1
  • Xdqwerty @ Xdqwerty:
    @BigOnYa, and already set up animations for when he shoots both standing and walking
    +1
  • S @ salazarcosplay:
    @Xdqwerty you could
    add alcohol to the game too
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, one of the curative items has the internal name of "beer"
  • Xdqwerty @ Xdqwerty:
    although it looks like a coke can
  • S @ salazarcosplay:
    @Xdqwerty what is the game based on
  • S @ salazarcosplay:
    what was the inspiration
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, based on my ideas i'd say mega man games (probably mega man zero mainly)
  • S @ salazarcosplay:
    I had some ideas for megaman based game
  • S @ salazarcosplay:
    @Xdqwerty make people have their own character
  • S @ salazarcosplay:
    and be able to fight other players
  • S @ salazarcosplay:
    and co op
  • Xdqwerty @ Xdqwerty:
    @salazarcosplay, kind of like mugen or rivals of aether?
  • S @ salazarcosplay:
    and also ahve the option to play as a human
  • S @ salazarcosplay:
    or set it up that when you get injured past a certain point they have to replace your human parts with cybernetics
  • Xdqwerty @ Xdqwerty:
    i have a placeholder enemy sprite i made
  • S @ salazarcosplay:
    or have it that you don't know you are a cyborg, robot, and you find out and have a existential crisis
    S @ salazarcosplay: or have it that you don't know you are a cyborg, robot, and you find out and have a existential...