Hexagons are first order permutohedrons: The vertices of a hexagon can be formed by permuting the coordinates of the vector (1, 2, 3).
The north pole of the planet Saturn has a hexagonal storm cloud pattern with 8,600 mile long sides, larger than the diameter of Earth.
Though hexagon may appear to be a difficult word to rhyme, there are actually dozens of words that rhyme with it. For example: Autobahn, decagon, decathlon, electron, Kyrgzstan, Lebanon, leprechaun and marathon.
While some have written about the cognitive benefits of action video games, my anecdotal view is pretty simple: Overcoming challenges in these super-hard games brings about a sense of focus, accomplishment and clearheadedness that you might call "zen." That's why I'm trying to conquer "Super Hexagon," a rip-your-hair-out game available on Windows, Mac, Linux, Android and iOS.
Super Hexagon is a game about failing to not die. You are a triangle running around the edges of a hexagon in the middle of the screen, and the walls are closing in fast. There's always a way through, if you're fast enough to see it, but there's very little time to react. Spin around the hexagon's edge too slow and you'll be crushed by a wall, with the Game Over screen telling you how short your life was. One button press later and it's back to the gauntlet, circling around madly in an attempt to get just a tiny bit further than last time.
With the EL1 flag in hand, I turned my attention to achieving arbitrary code execution.From my experience with Linux kernel exploitation, before Supervisor Mode Execution Protection (SMEP) was enabled by default, exploits could execute user mode code as the supervisor.As long as the AArch64 equivalent of SMEP is not enabled, if we can allocate a user page with R-X permissions, then we can get the kernel to return to it and execute arbitrary code.Before writing the shellcode to do this, I used GDB to simulate returning to user code using set pc = 0xXXXX while in the EL1 privilege level:
760c119bf3