I cannot believe this completely unsupported fan-made utility from 1997 is failing to work on modern windows
Conversation
Notices
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:02:25 JST Foone🏳️⚧️ -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:05:54 JST Foone🏳️⚧️ actually I got it to launch, which is a start!
but look at this nonsense: it's rendering a wireframe in black on a black background. the white circle is a light, and since it's behind the wireframe, I can see parts of the model by angling it just right
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:07:21 JST Foone🏳️⚧️ "This is a beta version which will expire on February 1, 2007."
uh-oh
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:12:03 JST Foone🏳️⚧️ it lives! textures and flat shading and gouraud shading don't work, but at least I can tell what the object actually is!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:13:39 JST Foone🏳️⚧️ and after getting this to work (I had to get a leaked beta of an unreleased version, add specific renderware DLLs, then crack that version so it'd run after 2007!) it turns out it can't open the file I DOWNLOADED THIS WHOLE PROGRAM FOR
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:14:06 JST Foone🏳️⚧️ at least I can diff the EXEs
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:14:36 JST Foone🏳️⚧️ they changed ONE BYTE
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:15:11 JST Foone🏳️⚧️ yep. they changed a JNC to a JMP. that's all.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:15:50 JST Foone🏳️⚧️ that's the fun thing about cracking software! You can often do it by changing one byte, or less (I've cracked games with 1 bit different).
but the trick is figuring out which byte to change
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:21:04 JST Foone🏳️⚧️ but the tl;dr for how classic cracking works.
You find the spot in the program that looks like this:
if (is_pirated()){
printf("NO WAREZ!\n");
exit(-1);
}in the disassembly (on x86, at least) that'll look something like:
CALL (address of is_pirated)
TEST EAX, EAX
JZ (address of rest of the game)
(some code to yell at the pirate) -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:22:30 JST Foone🏳️⚧️ the return code of is_pirated is in EAX (in cdecl calling convention). test EAX,EAX compares it against itself so the status flags are set, and then JZ jumps if the Zero Flag is set.
Basically, if is_pirated returned 0, we jump to the game, otherwise we yell at the pirate and quit.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:23:30 JST Foone🏳️⚧️ so you just change the conditional JZ to an unconditional JMP.
Now we call is_pirated, but no matter what it returned (0, 1, 3.14159, or "hello world"), we jump to the rest of the game. -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:29:36 JST Foone🏳️⚧️ And what's the difference between how you encode JZ vs JMP?
One byte:E9 71 JMP +71
74 71 JZ +71 -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:30:00 JST Foone🏳️⚧️ so you patch exactly one byte and now the pirated game works.
-
William D. Jones (cr1901@mastodon.social)'s status on Tuesday, 14-Jan-2025 13:31:56 JST William D. Jones @foone Have you ever paid for your WinRAR license?
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:31:56 JST Foone🏳️⚧️ @cr1901 No. I have paid for WinZip though, technically. I bought a used copy in a bunch of compute crap
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:34:42 JST Foone🏳️⚧️ a significant amount of all anti-cracking developed in the last 45 years is figuring out ways to make it impossible to crack a game with just one byte.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:37:34 JST Foone🏳️⚧️ The main ways to do this boil down to:
1. You layer or repeat the checks. now you gotta patch multiple places, in different ways, and what if you miss one? you're still fucked!
2. You don't have this check at all. Derive some constants from the check results and now all the levels load inside out and upside down, or something. This just makes it harder to figure out where to patch.
3. Forget it, and you protect your software elsewhere: hardware, OS DRM layers, etc. -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:42:27 JST Foone🏳️⚧️ @crobbler I am currently working on a system to do basically that, to reverse engineer DOS games by randomly corrupting them in parallel
-
Cumberland Gorch (crobbler@mastodon.social)'s status on Tuesday, 14-Jan-2025 13:42:28 JST Cumberland Gorch @foone Can we automate changing each byte to a NOP until we find the one that works? Think brute-forcer, not smarter.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:44:44 JST Foone🏳️⚧️ Anyway back to hacking this Renderware-using game. So, I can't load the models. Why not? Are they fundamentally different, like they're encrypted or compressed? are they just the wrong version number? can we hack the version number?
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:46:06 JST Foone🏳️⚧️ arg, all my renderware models on hand are either the .RWB ones from the game that don't work, or they're .RWS from the Modeller. RWB is a binary compiled version of RWS, but they're completely different
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:47:32 JST Foone🏳️⚧️ dang it, the other files I can find online are also .RWX
-
joel cretan (kaced@infosec.exchange)'s status on Tuesday, 14-Jan-2025 13:52:03 JST joel cretan @foone I reverse engineer malware, which I don’t exactly love because they have moved way past obvious checks based on one branch (as, of course, have some legitimate developers). It’s getting harder and harder. If more of those malware authors lived in different countries, they could easily get jobs making anti-piracy stuff. But now that I’m thinking of it as repeated endless software cracking…maybe this seems more fun??
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:52:03 JST Foone🏳️⚧️ @kaced
see that's the nice thing about hacking games from 1996: they're way back in this arms race. Shit is barely protected at all!I need to get into that malware reverse engineering, though. It may be less fun, but it's far more likely to get me paid.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:56:27 JST Foone🏳️⚧️ so I don't have (and can't find) any docs for these two formats, but I might have something that'll work:
I have the renderware DLLs for the game's version, right? Presumably the game is calling whichever Renderware functions it needs to read out that file.I could just write a little code to call them myself, then inspect the in-memory structures it returns.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 13:59:58 JST Foone🏳️⚧️ oh hey, GTA 3 uses RenderWare (presumably a later version).
That was reverse engineered, I wonder if the RE source interacts with renderware? maybe they made some tools for this. -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:00:52 JST Foone🏳️⚧️ note: open source reimplementation of RenderWare.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:01:17 JST Foone🏳️⚧️ that could be neat to patch into the old game.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:11:52 JST Foone🏳️⚧️ I don't see anything useful in the GTA RE. (at least the one that's still on github. I think one got DMCA'd out of existence. I'll check it too)
There's some warezed copies of the renderware SDK on the internet archive, but they seem to be significantly newer or significantly older than the one this game uses.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:13:36 JST Foone🏳️⚧️ yeah the "RenderWare(R) v1.3 JMP Evaluation Release" is from 1994, so obviously it doesn't have Win95 support, which'd be needed for SoulTrap.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:14:11 JST Foone🏳️⚧️ might still be close enough for looking up structure definitions and such. the 2.0 that SoulTrap uses might be similar to 1.3 except ported to win95
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:16:54 JST Foone🏳️⚧️ hah! I found a disc called the "Virtual Reality Homebrewer's Handbook" from 1996.
It's got BRender files on it! Small world.(for context, I helped get BRender open sourced)
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:17:44 JST Foone🏳️⚧️ now I gotta go check out this disc just in case these brender files are useful.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:20:16 JST Foone🏳️⚧️ Nah, same BRender demos we've already got.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:21:10 JST Foone🏳️⚧️ The Renderware stuff is a renderware demonstration program that doesn't run (through winevdm) on win10.
I don't have a win95 VM locally... maybe it'lll work enough over RDP to see if it has any useful files -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:23:38 JST Foone🏳️⚧️ forgot to link it:
-
Garrett Wollman (wollman@mastodon.social)'s status on Tuesday, 14-Jan-2025 14:25:33 JST Garrett Wollman @foone 40 years ago, I cracked EasyWriter for PC-DOS using DEBUG.COM by replacing one instruction with NOPs. The copy protection was of the classic "read a sector on the floppy that shouldn't exist" flavor (don't remember if it was tricksy formatting or a physical hole in the disk) but I just stepped through the initialization until I saw the INT 13 and I could see what it was doing.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:25:33 JST Foone🏳️⚧️ @wollman awesome!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:26:46 JST Foone🏳️⚧️ The demo app is a shooty game. Nope, not useful. The files are all .RWX, not the .RWB SoulTrap uses
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:28:35 JST Foone🏳️⚧️ some pixels there may not be entirely accurate. I'm doing RDP into a win10 machine running a win95 VM running this RenderWare game. There's multiple layers of compression and inaccurate emulation going on, the screen seems to be melting at points
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:30:34 JST Foone🏳️⚧️ right now I can't really do dynamic analysis of the game, I tried once: if you hit a breakpoint, it completely locks you out of your computer. you have to windows->tab and kill it from there, because it will fuck up your GUI so hard you can't even use task manager
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:31:37 JST Foone🏳️⚧️ so I gotta hack it to Not Fucking Do That, but I haven't figured out how yet.
I could use something like DxWnd to play it casually, but I'm trying to debug it, here. I can't really debug it with dxwnd, without this causing even further problems. maybe. I should try, actually
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:38:41 JST Foone🏳️⚧️ so running it in DxWnd, it does work with no settings tweaked, which is more than I can say when I run it natively (it crashes with a texture error there)
it has a somewhat nauseating effect (that I'll have to GIF) of the 3D graphics only appearing every other frame. That might be fine at 60fps (especially on a CRT), but this is very much NOT 60fps and I'm on a fast LCD
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:39:07 JST Foone🏳️⚧️ the funniest part is that I can't test any different graphical settings... because the "OK" button is missing from the options menu.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:41:15 JST Foone🏳️⚧️ I KNOW PROGRAMMERS WHO USE FULL-COLOR GRAPHICS AND THEY'RE ALL COWARDS.
REAL GAMERS USE 256 COLORS AND THEY LIKE IT
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:46:54 JST Foone🏳️⚧️ okay so this is how the options menu looks natively, right?
That misplaced metal thing in the bottom right is the controls/OK/Cancel controls.
Presumably that thing is even more misplaced when I run this with default DxWnd options, so I am completely without an OK button...EXCEPT this is my third attempt at a screenshot.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:47:41 JST Foone🏳️⚧️ the first time I tried, the "you took a screenshot!" popup triggered so fast that windows was already switching out of 640x480x256 to my desktop resolution when the screenshot happened. Meaning I got a nice screenshot of windows explorer.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:48:10 JST Foone🏳️⚧️ so I went back and took a full screenshot which was fine, EXCEPT I got this:
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:48:39 JST Foone🏳️⚧️ now the OK button is gone!
if you compare the screenshots, every single GUI element just jumped to the right when I tabbed back in! -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:49:52 JST Foone🏳️⚧️ WHY IS THIS GAME SO HARD TO SCREENSHOT
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:51:32 JST Foone🏳️⚧️ the weird part (THE SINGULAR WEIRD PART? REALLY?) is that the game's palette corrupted when I took this screenshot, of dxwnd.
Why the fuck did it corrupt the palette? DirectX corrupts the palette sometimes when you change SCREEN RESOLUTION. It currently is running in a window, the screen resolution didn't do squat when I hit func-alt-printscreen.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:52:40 JST Foone🏳️⚧️ here's what it looks like in DxWnd! it's even stranger, because it's got no OK button in a completely different way: it's just not there!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:53:09 JST Foone🏳️⚧️ so I noticed when I screenshat it that this is very much not 640x480. It's getting DPI scaled. I wonder how much that's fucking it up? Probably at least a little! let's turn that off and see.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:53:36 JST Foone🏳️⚧️ DPI scaled 256 color games. That's a world that never existed and never should
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 14:58:28 JST Foone🏳️⚧️ Setting DPI awareness in DxWnd fixed that up.
So that's definitely an easily fixable problem: we just need to add a manifest to the EXE.This also fixed the font rendering in the inventory panel format bit, it was rendering as blue before.
alt-func-printscreen still gets nothing but blueness and the palette corrupts.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:00:41 JST Foone🏳️⚧️ ok, clicking "High Detail" (which changes it to "Low Detail", which is... NOT HOW CHECKBOXES WORK) makes the game render without strobe-effect. Changing resolution doesn't do anything. very odd!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:03:02 JST Foone🏳️⚧️ This is what the game looks like if I try to play it natively. It has a texture error (presumably paletted textures? I know those have been a problem in OpenGL for ages, maybe directx has a similar problem, and DxWnd is emulating it?)
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:04:24 JST Foone🏳️⚧️ I have somehow corrupted the graphics for DxWnd, which is making it a pain to use
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:17:31 JST Foone🏳️⚧️ the game is invisible to OBS in window capture mode?!
-
curtosis (curtosis@mastodon.social)'s status on Tuesday, 14-Jan-2025 15:24:19 JST curtosis @foone I had to do this to a Matrox video capture card driver because the Macrovision detect was buggy af and blocked capturing my own camera recordings.
One byte, but in device driver land.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:24:19 JST Foone🏳️⚧️ @curtosis nice!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:27:34 JST Foone🏳️⚧️ wait I have DPI awareness set. why is this window still 800x600?
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:29:26 JST Foone🏳️⚧️ oh, I accidentally set it to both enable resizing and to have a default size of 800x600.
whoops.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:29:54 JST Foone🏳️⚧️ I also made it disappear by setting the height to -7480!
which didn't work
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:38:22 JST Foone🏳️⚧️ I rebooted to fix the graphical glitches (it was affecting other programs!), and as soon as I re-launched SoulTrap it fucked my colors again
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:38:46 JST Foone🏳️⚧️ that's deeply weird
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:43:13 JST Foone🏳️⚧️ oh god I don't think this color thing is a bug. I think this is INTENDED BEHAVIOR
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:43:56 JST Foone🏳️⚧️ I think they're programmatically changing the windows theme, and then restoring your old theme at the end
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:44:21 JST Foone🏳️⚧️ so when you crash it, the windows theme corrupts
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:45:41 JST Foone🏳️⚧️ MOTHERFUCK THEY ARE
SetSysColors()
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:47:44 JST Foone🏳️⚧️ I'm not even sure how that interacts with the PALETTED NATURE OF THE WINDOW.
I bet that's why the colors are so bad: Windows no longer supports paletted system colors properly -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:48:50 JST Foone🏳️⚧️ time to patch these out of the binary!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:53:22 JST Foone🏳️⚧️ I can't tell if my fix worked because my theme is still fucked.
and I'm on windows 10, where they remove the options to change the colors.Now, you still CAN change the colors, they just deleted the GUI
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 15:57:35 JST Foone🏳️⚧️ I'm using this shareware to reset it:
https://www.wintools.info/index.php/classic-color-panelI bet if I just wrote some code to call SetSysColors myself it'd work.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:00:12 JST Foone🏳️⚧️ ok I patched 2 of the 3 the three calls to SetSysColors, now it doesn't corrupt my whole system's palette when I launch it
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:00:41 JST Foone🏳️⚧️ gonna patch the 3rd just in case.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:03:54 JST Foone🏳️⚧️ thanks to a typo when saving my notes, the official name of this "SoulTrap but make it work properly on modern windows" project is SoupTrap
-
Lucky Zelle ✨ (lucky@mastodon.nz)'s status on Tuesday, 14-Jan-2025 16:04:21 JST Lucky Zelle ✨ @foone me getting up in the morning and thinking about my gender
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:04:21 JST Foone🏳️⚧️ @lucky oh yeah, I'm always hacking that one
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:05:53 JST Foone🏳️⚧️ here's what it looks like now. You can see that the checkboxes aren't fucked up by their paletted nonsense.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:09:01 JST Foone🏳️⚧️ changing the title of the window from "SoulTrap" to "SoupTrap" CRASHES THE GAME
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:09:32 JST Foone🏳️⚧️ HOW IS THIS GAME THIS WEIRD?
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:11:00 JST Foone🏳️⚧️ oh it's because they set the window class name and window caption to the same string in memory! they're both SoulTrap. So when you change one, the other references to the SoulTrap window class now fail
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:13:04 JST Foone🏳️⚧️ I'll figure out the answer to the SoupTrap Dilemma later.
-
Security Writer :verified: :donor: (securitywriter@infosec.exchange)'s status on Tuesday, 14-Jan-2025 16:19:06 JST Security Writer :verified: :donor: @foone I’d contact Microforum and see what they have to say.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:19:06 JST Foone🏳️⚧️ @SecurityWriter they're EA these days.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:20:08 JST Foone🏳️⚧️ so the current thing I'm trying to fix is how it either crashes or explodes the palette when you switch away from it.
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:20:37 JST Foone🏳️⚧️ if I tell DxWnd to not notify about task deactivation, it stops crashing/corrupting, but it also locks up at the main menu and you can click anything
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:21:06 JST Foone🏳️⚧️ ugh. I was thinking they probably are doing something odd in their wndproc.
this program is MFC. that makes this more complicated
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:32:06 JST Foone🏳️⚧️ this would be easier to figure out if my debugger worked, because then I could use my debugger to find out why I can't use a debugger
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:51:52 JST Foone🏳️⚧️ I was fucking up the stack! my patch was in the wrong place. Lets see if things Suddenly Start Working now
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 16:52:47 JST Foone🏳️⚧️ well it doesn't crash. I'm back to the palette corrupting and the game freezing
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 17:04:02 JST Foone🏳️⚧️ the game doesn't crash if you tab out if it WHILE IN A LEVEL, only in the menu.
so I guess I can go into the game, attach debugger, then exit to the menus and see what crashes?
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 17:06:37 JST Foone🏳️⚧️ fuck. it's a breakpoint on WM_ACTIVATE.
which gets generated every time I switch to the debugger! I'm in an infinite loop!
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 17:40:39 JST Foone🏳️⚧️ bah. I'm not making any progress. I can't get this to work and be debuggable, other than a one-shot after I come back from 3D view.
I'll have to do more static reversing and come back to this.
-
Jernej Simončič � (jernej__s@infosec.exchange)'s status on Tuesday, 14-Jan-2025 18:47:46 JST Jernej Simončič � @foone You can use deskn.cpl to get the old Appearance UI on modern Windows
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 18:47:46 JST Foone🏳️⚧️ @jernej__s wow, that really fucked up my font sizes! but thanks
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 19:29:49 JST Foone🏳️⚧️ eww they use CFile.
there's MFC grime all over this game -
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 20:32:06 JST Foone🏳️⚧️ oh hey they re-seed the random number generator every time they call random()
that's... not how you're supposed to do it
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 21:42:24 JST Foone🏳️⚧️ @gzt system ticks
-
the notorious gzt (gzt@hulvr.com)'s status on Tuesday, 14-Jan-2025 21:42:25 JST the notorious gzt @foone lol how are they seeding it?
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 21:50:01 JST Foone🏳️⚧️ hmm. they're calling a function with the parameter "soultrap.log", but the function itself has no body.
someone turned off a #define, I can smell it
-
Foone🏳️⚧️ (foone@digipres.club)'s status on Tuesday, 14-Jan-2025 22:23:01 JST Foone🏳️⚧️ huh, the game requires an FPU.
in 1996?
I mean, I guess. Quake famously did the same, and that was a few months earlier
-