Hex Editing Super Hexagon Binary

Started by kando, November 07, 2012, 08:59:35 PM

Previous topic - Next topic

kando

So for some fun, I tried to see what fun I can do with hex editing the binary file.

I managed to find out the following:

a) Can get rid of the glados style voice.

b) Can make main title screen music the creepy music from Super Hyper Hexagonest mode!

c) Can make main title screen music the ending music!

D) CANNOT slow down, speed up, or adjust any controls.

Will update as I play around :)

PyNe

Hahaha, glados-style voice :)
This looks pretty cool, what program do you use for editing? :vitellary:

kando

Quote from: PyNe on November 08, 2012, 05:10:05 AM
Hahaha, glados-style voice :)
This looks pretty cool, what program do you use for editing? :vitellary:

Just any standard hex editor...I'm using 010 editor. Copy binary to pc, hex edit, copy it back, then in the ios terminal do "chmod 0755 SuperHexagon" and then ldone SuperHexagon -s, both while in the app directory. That will resign the binary and allow it to run.

You will know if something hexed was not accepted (which happened quite a lot trying to adjust speed), such as the game will sit at the loading screen.

If you want some exact addresses to edit, ask away!

ThePaSch

Maybe - with a little snooping - it'd be possible to, say, make clicking play on Hexagon lead to Hyper Hyper Hexagon? That'd be sweet.  :viridian:

kando

Quote from: ThePaSch on November 09, 2012, 12:43:06 PM
Maybe - with a little snooping - it'd be possible to, say, make clicking play on Hexagon lead to Hyper Hyper Hexagon? That'd be sweet.  :viridian:
its POSSIBLE, but you are talking about a 10MB file...its all guess and try, but that was somewhat of the goal :)
Unfortunately no success yet.
May never have success.

kando

Blah, somehow i gave myself a score of 300 seconds on hyper hexagonest...and it went up on game center. Crap.
Just removed game and removed all scores from leaderboard, this sucks :(

ThePaSch

Your score's still there, assuming you are kandowontu.

kando

Quote from: ThePaSch on November 10, 2012, 07:28:50 PM
Your score's still there, assuming you are kandowontu.

Grrr..is there any way to remove this? I deleted the game and said YES, remove game center scores...

kando

And the fruits of my labor is going to be a hack, released soon, that allows you to run this "hack" and then view the super hexagon ending again (beating hyper hexagonest of course).

Hope thats worth screwing up the leaderboard :(

FIQ

The fact that leaderboard is possible to screw up at all shows lack of security...

pointless

#10
Big necro incoming.

If you (or anyone else) are still working on this, don't spoil the leaderboards, please. I know some are already cheating, but at least some of the top 10 people are legit.

For the current version (SHA-256 of the exe file should be 69411CB275202B21C3E0428A5C27704E97663A17723497B61BD7DFEAA1534BDD), I can tell the following can be done with a hex (hax? :D) editor:

To disable highscores:
change 2 bytes at 3C50D from 7D3F to 9090
change 1 byte at 3C51D from 7F to EB

To disable arcade mode highscores:
change 6 bytes at 2187D from 0F8E01030000 to E90203000090

To disable level completion (unlocks a new hypermode or marks a hypermode as complete and also shows the endings):
change 1 byte at 2C768 from 75 to EB
change 1 byte at 2C7AE from 75 to EB

To disable forward collisions:
find this on your own :P

To enable all modes:
change 2 bytes at addresses 3C1E8, 3C202, 3C21D from 750D, 750F, 750F to 9090
change 2 bytes at addresses 2596F, 259D2, 25A43 from 7556, 7565, 7554 to 9090
change 6 bytes at addresses 2B5B6, 2B872, 2BB14 from 0F85A7020000, 0F858E020000, 0F85AC020000 to 909090909090
change 2 bytes at addresses 41438, 41456, 41478 from 7511, 7516, 7529 to 9090
change 6 bytes at address 2BF71 from 0F85A3000000 to 909090909090

If anything is not right, you don't have the correct version.

Quote from: kando on November 10, 2012, 07:46:26 PMGrrr..is there any way to remove this? I deleted the game and said YES, remove game center scores...
I think it is possible to overwrite the scores.
This code from Open SteamWorks looks interesting to me:
enum ELeaderboardUploadScoreMethod
{
        k_ELeaderboardUploadScoreMethodNone = 0,
        k_ELeaderboardUploadScoreMethodKeepBest = 1,    // Leaderboard will keep user's best score
        k_ELeaderboardUploadScoreMethodForceUpdate = 2, // Leaderboard will always replace score with specified
};


Chillius

Quote from: kando on November 11, 2012, 04:36:44 AM
And the fruits of my labor is going to be a hack, released soon, that allows you to run this "hack" and then view the super hexagon ending again (beating hyper hexagonest of course).

Hope thats worth screwing up the leaderboard :(

Don't worry. i am the one hex-editing the phone version :)

pointless

@Chillius03: Oh, was this about iOS version? I somehow just assumed it was about the steam version. My comment about reversing the score may apply only for the steam version then.

Nikachu

Lol at the 300 sec hyper hexagonest score. You can definitely beat it if you play all year.

Chillius

i found a way to play the super hyper hexagon song to play on the title!