Bad idea: build a captcha library that embeds DOSBox so it can make you beat levels/puzzles from DOS games to continue.
-
@clayote lemme know if you do (or just wanna share your ideas), it sounds exactly up my alley!
-
writer-brain grabs the mic:
C'S MEMORY HANDLING IS SO BAD IT CAN BE EXPLOITED BY THE GERMAN LANGUAGE ITSELF -
@foone The idea is that a fictionalized version of the Hans Reiser murder happened, and to find out who the killer is, and why they did it, and where the body is, you have to reverse engineer his "home automation" software that kills people. To do this, you use something much like Ghidra, or probably closer to a scripting language's debugger for playability's sake, and have to red-team his underhanded murder code to find out which totally innocuous functions aren't.
-
@clayote that sounds awesome!
-
@foone Germany also considers
ch
andsch
to be ligatures, so there's distinct code points for them (and fortz
andts
), and yet they miight need to be considered equal with the common form where each letter is encoded distinctly.And there's a telegraph convention of representing the umlaut as a separate
E
, so München becomesMUENCHEN
(mind thech
!) and Köln bcomesKOELN
This was adopted from a so-old-it-was-mediæval scribal practice, from before umlauts were invented, of marking what would eventually be umlaut by writing a small 'e' atop the base letter. Which, curiously, Unicode doesn't appear to support.
-
the funniest part? I'm back in reverse engineering mode.
it's not even a 3-argument version of strcmp. it's just a weird strcmp(char*,char*): It only takes two arguments! not even three!
-
how do you confuse a two-argument function for a FOUR argument function?
borland. borland is how you do that.
-
DirectSound?!
this windows 3.x-ass program uses DirectX?!
-
@foone was this windows 3.x-ass program written by copilot?
-
@onelson It's been stuck on a CD-ROM since 1997, so NOPE
-
haha, 1991-1997 programmer: you made the LoadDirectSoundFuncptrs return a 0 for success, but you only ever return 0. your code smells with your bad decisions, which I can see THROUGH TIME from 30 years later
-
you even check, in the calling code, that it returns 0 and not some other value. you have fallback code for if it fails.
it can't fail. -
correction, you're returning a boolean.
and it's hardcoded to always return a 0, which is false.
so this ALWAYS fails.
-
I'm guessing this is dummying out code that didn't work
-
yeah this code is just casually mixing pascal and stdcall calling conventions. I am in hell
-
okay yeah. this is not remotely delphi. this is C++. ghidra mis-detected it, and that may have messed up the analysis
-
yep and it's buggered every single function, even after changing language. I can delete and recreate functions, but that might not fix them because they're getting hints from downstream functions which it still thinks are __fastcall and not __stdcall
-
maybe I just need to delete every function and re-analyze from scratch
-
Foone🏳️⚧️replied to Foone🏳️⚧️ last edited by [email protected]
(i just re-imported the EXE as a new file, and I'll manually port over the dozen or so symbols I've found.)
-
BTW it turns out there's cheats in the windows version.
maybe in the other versions too? I don't think anyone has found them if so.
https://www.speedrun.com/super_solvers_gizmos_and_gadgets/forums/vcalv