Sonic 2 for iPhone's "Hidden" Level Select

Discussion in 'Engineering & Reverse Engineering' started by n00neimp0rtant, Aug 2, 2011.

  1. n00neimp0rtant

    n00neimp0rtant

    EYES ONLY Member
    262
    0
    0
    South Park, PA
    Creation Kit (Skyrim mods and patches)
    If you do some Googling on the secret level select mode in Sonic 2 for iPhone, there are a few tutorials and videos on how to do enter the code, but recent reports have said that apparently, it was either disabled or accidentally broken in a recent update to the app. Now, since the day the app became available on the App Store, I grabbed it and looked inside to see what I could find, and noticed a "cheat_menu.state" file. Upon renaming it to "new_game.state" and starting a New Game, as expected, the game jumped straight to the level select menu. As I said before, you can't enter the code in the new revision (apparently it was a simple up-down-left-right), so I dumped the headers from a binary of a decrypted version of the app. A simple search for the string "cheat" through all the classes:
    [​IMG]
    And a peek inside:
    [​IMG]
    So the cheat stuff is still there, even in the locked-down version. So I added my own "Level Select" button into the main menu and told it to flag the cheat boolean to "YES" when tapped, and no when another button is tapped:
    [​IMG]
    [​IMG]
    And there it is, working just how it should! If you have a jailbroken iPhone, iPod touch, or iPad, you can try my tweak yourself by placing the contents of this ZIP file into the corresponding directory hierarchy as set up within the zip. If you don't want to do it yourself, it should be available in Cydia within the next few days.
     
  2. theocas

    theocas

    Tech Member
    346
    0
    16
    Hehe, good work! Nice to know people are finally getting to hacking on the iOS platform, my personal favorite. I'll try this out sometime later, right now I'm incredibly tired and I don't want to fuck up my iPhone >_>
     
  3. SpeedStarTMQ

    SpeedStarTMQ

    Here for The Hedgehog. Member
    2,384
    24
    18
    UK
    Awesome, however the level select is in the latest update- just do UP DOWN LEFT RIGHT as you would with the Sonic 1 iTouch. You then have to press "New Game" and it appears. They did actually delete this function for a while, but was re-added in the latest update months ago!

    I shall post images of proof later if needed.
     
  4. MathUser

    MathUser

    3rd top wiki contributor Researcher
    2,047
    0
    16
    That's pretty neat. Too bad it's not a cheat that we can archive on the wiki.
     
  5. SmashFGM

    SmashFGM

    Member
    49
    0
    0
    Hey, that's pretty sweet it makes accessing the level select much easier. Question about opening the Sonic 2.app, is it possible to change the rom and get it to run? I remember seeing a Sonic 1.app, it had been injected with a Sonic 2 rom and it worked fine.
     
  6. SpeedStarTMQ

    SpeedStarTMQ

    Here for The Hedgehog. Member
    2,384
    24
    18
    UK
    I think you're missing the point though. Unless there's some differences between countries, Sonic 2 iTouch does have the level select within. I've just had a look at my version, revised 23rd November 2010, which is the latest build with the built in bluetooth multiplayer, and level select works perfectly. To demonstrate, I've utilized the screenie cap on the iPod to show you guys.

    [​IMG]
    On this screen, you can faintly see the d-pad, just press UP, DOWN, LEFT, RIGHT. You might wanna do it a couple of times in case you miss a bit by accident, so you're fully covered. You then press PLAY.

    After this, proceed to NEW GAME. This pops up;

    [​IMG]
    And there you go. :eng101:

    What you've done is cool, but it's a lot of effort for something which is already there :ohdear: