Top
Best
New

Posted by ronreiter 12 hours ago

You can defeat the Dream Devourer from Chrono Trigger using an int overflow(chrono.fandom.com)
115 points | 66 commentspage 2
anon_cow1111 8 hours ago|
I think it could be an unpopular opinion, but I like seeing these completely stupid link-to-a-wiki with no context whatsoever posts. Things that force you to actually RTFA of some obscure bit of tech trivia feel a little bit more like how using the internet used to be all those years ago.

(I still need to finish the FoE romhack though)

avaer 5 hours ago||
Parallel rabbit holes if you like this stuff:

  - in Pokemon gen 1 you can wrap your stats back to zero by buffing them too much
  - In FF7 you can overflow the damage calculation to kill Ruby in one hit
  - Mario 64 has a mountain of usable glitches; "parallel universes" let you skip collisions at high speeds
  - GTA 3/VC/SA have crazy mission/wrong warp corruptions involving parallel game simulations
  - NES Mario can be corrupted to execute arbitrary code in TAS
  - OOT can be heap-corrupted so badly you can write a loader for an entire DLC via controller ("triforce%", my choice for most insane controller based hack of a game)
matheusmoreira 5 hours ago|
> NES Mario can be corrupted to execute arbitrary code in TAS

Pokémon, too!

https://tasvideos.org/3358M

https://youtu.be/zZCqoHHtovQ

a1o 8 hours ago||
This boss doesn’t exist in the SNES version right? I don’t remember it.
jjice 8 hours ago|
Nope, just in the 2010(ish) DS version and later.
Founderarcstone 12 hours ago||
One of the best games ever made very cool you made this.
sph 11 hours ago|
Yet another downside of using ‘safe’ languages. You don’t get cool stuff like this.
JoshTriplett 9 hours ago||
I remember the days of DOS and getting a direct pointer to video memory. And I've enjoyed the long history of video game exploits and even arbitrary code execution. But at the same time, I'm also glad that era is over. The same bugs that help you jailbreak a phone can also be the bugs that help you gain illicit access to one.
rep_lodsb 8 hours ago||
Illicit access as defined by Google / Apple? If the three letter agencies are interested in you, they don't need to exploit any bugs, they can just demand access from those two companies, and get it. To the device that you carry in your pocket 24/7, with GPS, microphone and camera.

In the days of DOS, the BIOS would load the first sector of a floppy disk or hard drive into memory and transfer control to it. You could replace that sector, and not a single line of code that you didn't write yourself would be executed after that. THIS is how it should be on a PERSONAL computer. A virus could do the same, of course, and gain full control of the machine, but that is not an argument against giving control to the user. You could blame DOS for not intercepting attempts to rewrite the boot sector and asking the user for consent, but completely preventing something like this in the name of security would be even worse!

Imagine if back then, there was a "secure boot" mechanism so that only a boot sector with Microsoft's cryptographic signature was allowed, and that boot sector code would in turn verify everything loaded afterwards. Linux wouldn't exist. So, neither would Android, but the situation would be much the same as it is now, only with Microsoft Phone OS instead -- and absolutely no concept of how it could be different, of a computing device controlled by its user instead of a giant corporation.

zdragnar 7 hours ago||
You aren't arguing for jailbreaks, you are arguing for the phone to be in the user's full control.

Ideally, ios and Android would be secure enough that no jailbreaks are possible, but open enough to allow the user to replace the OS with one of their choosing.

Having it locked down and then resorting to exploiting loopholes is the worst of both worlds.

CodesInChaos 10 hours ago|||
Many safe languages still suffer from integer overflows. For example in Rust and C# you can pick between an exception being thrown, or silent wrapping when an overflow happens.
bigstrat2003 5 hours ago|||
I don't think that's suffering at that point. The programmer has made an explicit decision to let things overflow, so he should be prepared to handle that possibility. It's not like a language where overflow happens silently without warning.
vhcr 8 hours ago|||
Or using the saturating methods.
surgical_fire 10 hours ago||
Nuclear Gandhi would never have been a thing.
ufo 10 hours ago||
Nuclear Gandhi is an urban legend. Turns out there was no such bug in Civ 1.
tialaramex 9 hours ago|||
And in more recent games where there is Nuclear Gandhi it's because of that legend.

If you write a game in a decent language where such a thing won't happen by mistake you can still have it be present on purpose and in some cases that even fits the game's lore.

Random glitches are confusing and bad. Falling off the world in Blue Prince due to collision bugs is annoying for example. However "glitches" which are intended behaviour are fun. I've enjoyed every time I saw somebody get that note and gift from Mrs Babbage because they drafted that particular room in that particular place and it had an effect which in hindsight they now realise was both foreseeable and regrettable...

surgical_fire 7 hours ago|||
I know. The urban legend would still not be a thing.
sph 3 hours ago||
It would’ve been debunked by Snopes on day 1: “impossible, the game is written in Rust”

(I can’t think of one language that defaults to saturating integers)