I've reported a few very serious issues to vendors of widely used tools in recent weeks, and it's been even more difficult than usual to get them to be acknowledged - the teams that respond are reportedly swamped.
HN user
bbayles
32bits.substack.com
The developer of this tech demo also worked on porting Resident Evil 2 to Nintendo 64. This was quite the challenge - two discs worth of content had to be made to fit onto a single cart.
In an interview, he describes several engineering heroics that were involved in making everything work: https://hiddenpalace.substack.com/p/hidden-palace-podcast-ep...
LLMs are very good at understanding decompiled code. I don't think people have updated on the fact that almost everything is effectively open source now!
I'm sympathetic to this view, but I also wonder if this is the same thing that assembly language programmers said about compilers. What do you mean that you never look at the machine code? What if the compiler does something inefficient?
Let's call the person in question Alex. Having to make every new feature Alex-proof made all of the engineers better.
In order to avoid the endless cycle with the QA person, I started doing this:
This forced me to start making my feature proposals as small as possible. I would defensively document everything, and sprinkle in little summaries to make things as clear as possible. I started writing scripts to help isolate the new behavior during testing.
Which is what I should have been doing in the first place!
I used to work with a QA person who really drove me nuts. They would misunderstand the point of a feature, and then write pages and pages of misguided commentary about what they saw when trying to test it. We'd repeat this a few times for every release.
This forced me to start making my feature proposals as small as possible. I would defensively document everything, and sprinkle in little summaries to make things as clear as possible. I started writing scripts to help isolate the new behavior during testing.
...eventually I realized that this person was somehow the best QA person I'd ever worked with.
There's a typo in the URL here: > If you have a topic in mind but are not sure if it is suitable for Paged Out!, check out the Writing Articles page or contact us
It links to `?page=writing.pho` rather than `.php`
(channeling Patrick McKenzie) If you have an S&P 500 index fund, you're a shareholder in Microsoft. Call their Investor Relations people, or send them a letter with this description. They will probably be of some help!
Agree on video games! I recently found a "developer photo insert" Easter egg in an old 3DO game: https://32bits.substack.com/p/under-the-microscope-total-ecl...
Fantastic game!
The same development studio, Sega AM2, recently had a developer reveal that he had put an Easter egg into Fighters Megamix for Saturn. However, he mistakenly introduced a crash bug in it.
This set me off looking for the Easter egg. After a couple days of reverse engineering, I finally found it [0]! I love looking for this stuff.
Excellent - these seem indeed to work. I'll try to figure out what they do.
I'll write up the results eventually. I sent you a note about crediting your contribution here. Many thanks!
Wow, nice work!
The other missing ones are: A75CA25CF4498F87 8FE0C6AA7CE60CEC B343B58CF0B72493 E0B20BEDFA0AC685 EFCC5A6FD62EC6D8
Really cool! I'll play with this to see if I can come up with some missing hashes for Tony Hawk 3.
If you feel like a challenge, Tony Hawk's Pro Skater 3 has some hashes with unknown inputs. The function is the same as the one in the article, and one target is 1eca8e89ad2dc1d6.
Good point - the dictionary attack produces some permutations that are too long, but it doesn't matter because you get the effect as soon as the final character of the correct code is entered.
Yeah, for sure. It's as expensive to generate the permutations as it is to do the hashing in this case!
I knew some from school, but stepping through a debugger with a video game that I remembered from childhood was a better education on computer engineering than anything I got in class.
Thanks! I didn't clock that - should have looked at the decrypted values!
A friend of mine explained that there are overlapping phobias of water and deep dark spaces that this game triggers; he said it's unbearable to play the later levels.
I've poked around a bit with that game! The main trick is to import the memory snapshot (various ways of dumping it to a file; people like Cheat Engine for this) into Ghidra.
Ghidra can analyze the SuperH processor machine code natively, so the auto analysis will turn up lots of functions.
The programmers for this game were in Budapest, so this is a good guess!
It really is a game with a strange mix of aesthetics. Blue skies and bright colors in the early levels; suspense and dread and supernatural stuff in the later levels.
Another Ed Annunziata game called Three Dirty Dwarves is also stylistically unique.
Yeah, exactly! I took a couple memory snapshots of the name "AAA" and then threw out all of the addresses that had values that didn't match the first snapshot. Then I changed it to "BBB" and threw out all the addresses that did match.
There's a program called Cheat Engine that can make this a point and click thing; that's usually how people find GameShark-style codes.
I've used Geany for 10+ years on Linux and Mac. Very similar to Notepad++!
I've been having some fun lately reverse engineering the "password" systems that some console games used prior to memory cards and backup RAM.
Some are very straightforward - just an encoding of which level you were on, your score, etc.
Others are that plus a halfhearted checksum, or an actual standard CRC checksum.
Still others are these elaborate obfuscation schemes with encryption using a fixed key, then scrambling, then a checksum.
My favorite so far: ThunderStrike 2 does a few things, and one of them XORs your input with the string "NOSEY GIT". I took it to mean the original programmer was chiding me for trying to cheat at the game.
How about a service that lets bruteforcers "in" after some number of failed attempts, but what they get is just a fake command prompt that accepts all of their commands? I'm sure hackers would eventually adapt, but it would annoy them for a while.
The story you're thinking of is about Leonhard Euler, though it may not have actually happened (see Wikipedia on Euler).
What did they do prior to 1984?
I had a coworker who could really Go Fast in Excel, and by watching him, learned enough tricks to be able to impress onlookers by flying through computations with keyboard shortcuts.
From my perspective, it's gotten harder to use spreadsheet programs efficiently with each new version - the keyboard shortcuts collide more, and everything moving to Office 365 / Google Docs / etc. has made the available tools less powerful.