I crashed the 3DS Menu.

Discussion in '3DS - Flashcards & Custom Firmwares' started by skystealer, May 9, 2012.

May 9, 2012

I crashed the 3DS Menu. by skystealer at 10:44 PM (3,886 Views / 0 Likes) 20 replies

  1. skystealer
    OP

    Member skystealer Muah~

    Joined:
    Aug 5, 2009
    Messages:
    211
    Location:
    Agniratha, Mechonis
    Country:
    United States
    It was a derp little day of mine. Went to go play some more Kid Icarus Uprising. I opened my 3DS, and went to go to my friends list to see who's online. Afterwards, closed the friends list, and I quickly opened uprising, and I mean QUICKLY. I doubled tapped that icon really quickly to get in my game, and what happened then? The whole menu locked up. It was responding for a couple of seconds, and then it froze completely. The menu music seemed to keep playing, and the 3DS Depth Slider was still responding, however, the depth didn't change at all, it remained flat. I then even tried removing the game cart, and the menu didn't react to me pulling it out.

    Here's a video of the "whole" thing. I wasnt able to capture the part of the menu crashing itself however. I only got the aftermath. http://www.youtube.com/watch?v=XV-DM_ObyCU

    Not sure if this is of any use to anyone, but it was rather interesting.
     


  2. spiritofcat

    Member spiritofcat GBAtemp Advanced Fan

    Joined:
    Dec 20, 2007
    Messages:
    577
    Country:
    Australia
    Is it reliably repeatable?
     
    1 person likes this.
  3. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    Probably nothing
     
  4. Yuki Amano

    Member Yuki Amano GBAtemp Advanced Fan

    Joined:
    Mar 31, 2012
    Messages:
    501
    Location:
    My 3DS
    Country:
    United States
    That sucks! D: Try calling Nintendo support. *Too lazy to say the site*

    EDIT: I tried to replicate the same thing you did, but no freezing happened. It just started up normally. Hmm...
     
  5. KvinMoreaux

    Newcomer KvinMoreaux Member

    Joined:
    Feb 23, 2012
    Messages:
    18
    Country:
    France
    Not exploitable at all, it's just a freeze, there is no way to do anything with that.
     
  6. Pleng

    Member Pleng GBAtemp Maniac

    Joined:
    Sep 14, 2011
    Messages:
    1,449
    Country:
    Thailand
    I've often had the menu freeze up in various situations. Nothing much you can do with that; I'm sure.


    ...having said that; a frozen system means it's stuck in an endless loop... this might be useful for that dude who is able to manipulate data; if the loop is endless he has endless opportunities to mess about with data and see what happens on the next iteration of the loop. But, I'm sure he's already thought of that!
     
  7. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    Um, not exactly. The crashes that people are looking for relate to an exploit called a buffer overflow which allows the attacker to selectively change the call stack pointer to whatever address the 3rd party code is in.
     
    1 person likes this.
  8. Pleng

    Member Pleng GBAtemp Maniac

    Joined:
    Sep 14, 2011
    Messages:
    1,449
    Country:
    Thailand
    Sure. But a loop causing a freeze like this always has an exit clause; therefore conditions are being checked and data is potentially being modified as it happens. I'm no expert in buffer overflows, but is it not possible that the data being modified could be modified in such a way that a BO occurs?
     
  9. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    No and an infinite loop is just that, an infinite loop. There is no exit
     
    1 person likes this.
  10. Pleng

    Member Pleng GBAtemp Maniac

    Joined:
    Sep 14, 2011
    Messages:
    1,449
    Country:
    Thailand
    Sorry let me rephrase it:

    a conditional loop where, for whatever reason, the exit clause is never satisfied


    if I was being totally picky I would say that it qualifies as an infinite loop; it's an infinite loop as the result of an oversight as opposed to an intended 'game loop' style of infinite loop. But I'm not being picky; so I won;'t :D
     
  11. Sicklyboy

    Global Moderator Sicklyboy Resident Mechanical Keyboard Addict

    Joined:
    Jul 15, 2009
    Messages:
    5,620
    Location:
    [̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]
    Country:
    United States
    while(1)
    {
    someNumber = 2;
    }

    is an infinite loop.

    while (someNumber == 3)
    {
    someNumber = 2;
    }

    would technically qualify as an infinite loop also, but a shittily written one at that...
     
  12. Pleng

    Member Pleng GBAtemp Maniac

    Joined:
    Sep 14, 2011
    Messages:
    1,449
    Country:
    Thailand
    Well that loop has no exit clause.

    I'm thinking of something like this...

    Code:
    iAmHungry=true;
    iHaveEaten = false;
    
    
    while (iAmHungry)
    {
    if (iHaveEaten)
    {
    iAmHungry=true;
    }
    else
    {
    doSomething();
    doSomethingElse();
    intVar1 = getRandomNumber();
    if ((doSomethingWithSystemRamThatMayAllowMeToCauseBufferOverflow(intVar1)))
    {
    iHaveEaten=true;
    }
    }
    }

    So there's an exit clause, but the function doSomethingWithSystemRamThatMayAllowMeToCauseBufferOverflow() for whatever reason never returns true. Thus we are in an infinite loop as the exit condition never occurs. It's not an intentional infiniate loop, like a game loop, but it is infinite nevertheless. While in this loop, if we have access to the ram, we can change the value of intVar1 before doSomethingWithSystemRamThatMayAllowMeToCauseBufferOverflow() is called.
     
    1 person likes this.
  13. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    The only way that this would even possibly allow for a buffer overflow would be if the data that is being called is user modifiable data like a save file. Nothing else will allow it.
     
  14. Pippin666

    Member Pippin666 SSF43DE Master

    Joined:
    Mar 30, 2009
    Messages:
    1,663
    Location:
    Montreal, Qc
    Country:
    Canada
    I thought that the 3Ds is buffer-overflow-proofed, no ??

    Pip'
     
  15. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    There is no software that isn't exploitable some way, there is always a way to corrupt the call stack

    EDIT TYPOS RAWR
     
  16. Pippin666

    Member Pippin666 SSF43DE Master

    Joined:
    Mar 30, 2009
    Messages:
    1,663
    Location:
    Montreal, Qc
    Country:
    Canada
    Yea, history shows that there is no software that isn't exploitable in some way. But history also shows that previous flaw are fixed in next generation. I am almost sure that there is now a buffer-overflow proof system on the 3DS, BUT, history also tends to repeat itself.

    Pip'
     
  17. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    No, there really isn't such a thing as a buffer overflow proof system just because of how the call stack works. The most you can do is prevent it, but there is always a way
     
  18. Luigi2012SM64DS

    Banned Luigi2012SM64DS G-old member

    Joined:
    Aug 27, 2011
    Messages:
    2,060
    Location:
    Minecrapt
    Country:
    Canada
    hacking = not freezing
    freezing = bug
     
  19. frogboy

    Member frogboy lacking both style and grace

    Joined:
    Dec 6, 2011
    Messages:
    2,249
    Country:
    United States
    By the way, someone already posted a topic about this specific freeze more than a month ago.
     
  20. Deltaechoe

    Member Deltaechoe The Dopefish

    Joined:
    May 3, 2012
    Messages:
    509
    Country:
    United States
    Bugs can easily lead to exploits
     

Share This Page