I love finding a function in a game that is literally just
void func(const char*){
}
No body. But it's called from 440 different places in the exe.
you can just smell the #IFDEF DEBUGMODE in the binary
I love finding a function in a game that is literally just No body. But it's called from 440 different places in the exe. you can just smell the #IFDEF DEBUGMODE in the binary 15 comments
also found that a bunch of functions do this: so, there's a global boolean that says "log all invalid function arguments" and most importantly for me, the error messages it throws up when it's turned on? they leak the function names. it also means I can quickly look up all 420 (blaze it) places that DAT_006b4af0 is referenced, and then name those functions hey look this function (PR_InitBumpMapDot3 aka PR_InitBump) calls itself by two different names someone made a copy paste error, 19 years ago C:\\Engines\\New Engine\\Ring0\\Win32\\PRSDK\\src\\Core\\Surfaces\\PR_D3DTexture.c come on guys. "New Engine"? THINK OF A NAME BTW, because it's always fun to mention this fact, it turns out this game (Barbie Fashion Show from 2004), embeds a python interpreter! python 2.2! "%s is an abstract class and cannot be explicitly instanciated" NINETEEN YEAR OLD TYPO SPOTTED it's "instantiated" wow, this engine doesn't believe in alignment AT ALL. I have one copy of the SDK which might help me hack this, but it's a shareware SDK and it has a trojan this is the sort of thing that happens to me all the time ahh. they stuck it in a self extractor, and that got infected. the installer inside is fine. okay this is really weird. The game stores user-created fashion designs as highly compressed jpeg. Kinda. See, it actually stores them TWICE. And it defaults to the jpeg version, but as soon as you modify the texture again, it regenerates them. |
found another one! this one is called 450 times in the codebase
but they didn't turn it off, they just let it output to the debugger. since most users aren't running a debugger, that goes nowhere