Post Aq404ectGXsVpuMeDA by foone@digipres.club
(DIR) More posts by foone@digipres.club
(DIR) Post #Aq3qL5jlElTF0imF5E by foone@digipres.club
2025-01-14T04:02:10Z
2 likes, 0 repeats
I cannot believe this completely unsupported fan-made utility from 1997 is failing to work on modern windows
(DIR) Post #Aq3qeIMuUvrbgkFJJo by foone@digipres.club
2025-01-14T04:05:37Z
1 likes, 0 repeats
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
(DIR) Post #Aq3qmCFP8j0d1MVEeG by foone@digipres.club
2025-01-14T04:07:06Z
0 likes, 0 repeats
"This is a beta version which will expire on February 1, 2007."uh-oh
(DIR) Post #Aq3rCGVvtoQfmafFlg by foone@digipres.club
2025-01-14T04:11:49Z
0 likes, 0 repeats
it lives! textures and flat shading and gouraud shading don't work, but at least I can tell what the object actually is!
(DIR) Post #Aq3rGOKQmrL7B3FgNk by engarneering@floss.social
2025-01-14T04:12:34Z
0 likes, 0 repeats
@foone utah!
(DIR) Post #Aq3rKykTJuuxI3cUOu by foone@digipres.club
2025-01-14T04:13:21Z
0 likes, 0 repeats
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
(DIR) Post #Aq3rNUu6jpJlb7KO4u by foone@digipres.club
2025-01-14T04:13:31Z
0 likes, 0 repeats
at least I can diff the EXEs
(DIR) Post #Aq3rQ9DFqG4zBzXzgu by foone@digipres.club
2025-01-14T04:14:22Z
0 likes, 0 repeats
they changed ONE BYTE
(DIR) Post #Aq3rTRwKfhLo8sCsHA by foone@digipres.club
2025-01-14T04:14:58Z
0 likes, 0 repeats
yep. they changed a JNC to a JMP. that's all.
(DIR) Post #Aq3rX4YLZ6r6ldiOcy by foone@digipres.club
2025-01-14T04:15:36Z
0 likes, 0 repeats
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
(DIR) Post #Aq3s0G4pnYicuFpNuy by foone@digipres.club
2025-01-14T04:20:37Z
0 likes, 0 repeats
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, EAXJZ (address of rest of the game)(some code to yell at the pirate)
(DIR) Post #Aq3s2n1OHaFbf2QLqa by itsonlybrad@infosec.exchange
2025-01-14T04:20:57Z
0 likes, 0 repeats
@foone A company's critical software system goes down, bringing operations to a halt. The in-house IT team works around the clock but can't figure out the issue because they laid off all their original developers years ago and don't even have access to the source code of this critical software which runs their entire business. Desperate, they call in an expert with decades of experience.The expert arrives, and requests access to the system. After some time inspecting the binary, they change a single byte in the program. Instantly, the system is back online, running perfectly.A week later, the company receives the expert’s invoice for $10,000. Surprised by the high amount, the CEO asks for an itemized breakdown.The expert provides the details:Changing one byte: $1Knowing which byte to change: $9,999
(DIR) Post #Aq3s5H0fl1BFFPGx6m by cr1901@mastodon.social
2025-01-14T04:21:37Z
0 likes, 0 repeats
@foone Have you ever paid for your WinRAR license?
(DIR) Post #Aq3s7wyGiXtLy1QNPM by foone@digipres.club
2025-01-14T04:22:17Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3sDGhgmOi4cACnNg by foone@digipres.club
2025-01-14T04:23:11Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3slDt9khdXjIlB0C by foone@digipres.club
2025-01-14T04:29:22Z
0 likes, 0 repeats
And what's the difference between how you encode JZ vs JMP?One byte:E9 71 JMP +7174 71 JZ +71
(DIR) Post #Aq3snYJ0oTshdBxrIO by foone@digipres.club
2025-01-14T04:29:33Z
0 likes, 0 repeats
so you patch exactly one byte and now the pirated game works.
(DIR) Post #Aq3sr5NAKMKV3Ualfs by foone@digipres.club
2025-01-14T04:29:54Z
0 likes, 0 repeats
@cristei nice!
(DIR) Post #Aq3syKIlDiatNqz5e4 by foone@digipres.club
2025-01-14T04:31:43Z
0 likes, 0 repeats
@cr1901 No. I have paid for WinZip though, technically. I bought a used copy in a bunch of compute crap
(DIR) Post #Aq3tDZofoqcjqUBQ5Q by foone@digipres.club
2025-01-14T04:34:28Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3tTGuJtEHPplJATQ by foone@digipres.club
2025-01-14T04:37:19Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3tcz4l2gKLQSp0K0 by bippzy@cyberplace.social
2025-01-14T04:39:01Z
0 likes, 0 repeats
@foone VERY cool!!
(DIR) Post #Aq3tqX7zkS1unknRzM by crobbler@mastodon.social
2025-01-14T04:41:31Z
0 likes, 0 repeats
@foone Can we automate changing each byte to a NOP until we find the one that works? Think brute-forcer, not smarter.
(DIR) Post #Aq3tuJvilAqR1jrSz2 by foone@digipres.club
2025-01-14T04:42:14Z
0 likes, 0 repeats
@crobbler I am currently working on a system to do basically that, to reverse engineer DOS games by randomly corrupting them in parallel
(DIR) Post #Aq3u4pHt1oO7B0ErPk by clayote@peoplemaking.games
2025-01-14T04:44:03Z
0 likes, 0 repeats
@foone Or, more likely, by not actually selling the software in the first place. Thanks, Adobe.
(DIR) Post #Aq3u6x4f34EzuD4A7s by foone@digipres.club
2025-01-14T04:44:11Z
0 likes, 0 repeats
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?
(DIR) Post #Aq3uEXsuaPhc6ABvhg by foone@digipres.club
2025-01-14T04:45:51Z
0 likes, 0 repeats
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
(DIR) Post #Aq3uMSGxKu5L0dD3D6 by foone@digipres.club
2025-01-14T04:47:14Z
0 likes, 0 repeats
dang it, the other files I can find online are also .RWX
(DIR) Post #Aq3uUtMiUORzLwvXIe by kaced@infosec.exchange
2025-01-14T04:48:47Z
0 likes, 0 repeats
@foone I reverse engineer malware, which I don’t exactly love because they have moved way 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??
(DIR) Post #Aq3ulX50bFTx9sZxya by foone@digipres.club
2025-01-14T04:51:47Z
0 likes, 0 repeats
@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.
(DIR) Post #Aq3v9qkF8Ytn6ASfyK by foone@digipres.club
2025-01-14T04:56:12Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3vJjGfn6TmnyLDUG by foone@digipres.club
2025-01-14T04:57:57Z
0 likes, 0 repeats
@gfaster yeah, I have spent a LOT of time staring at hex editors in my years, so my ethos is to get the program itself to do stuff for me. if it can open the files, I make it do that, and I pull out the results. I find it a lot faster than the more traditional "look at the file until it makes sense" method.
(DIR) Post #Aq3vTOtiNkcmWWDM0G by foone@digipres.club
2025-01-14T04:59:43Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3vYFIvTf2uDaJiwy by foone@digipres.club
2025-01-14T05:00:36Z
0 likes, 0 repeats
note: open source reimplementation of RenderWare.https://github.com/aap/librw
(DIR) Post #Aq3vaYnhxddXGSopHc by foone@digipres.club
2025-01-14T05:00:52Z
0 likes, 0 repeats
that could be neat to patch into the old game.
(DIR) Post #Aq3wXAi1B2LPdA6awK by foone@digipres.club
2025-01-14T05:11:34Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3wgpwFFwdk6kMumG by foone@digipres.club
2025-01-14T05:13:22Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3wjve8UUEmgBNACu by foone@digipres.club
2025-01-14T05:13:56Z
0 likes, 0 repeats
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
(DIR) Post #Aq3wyvy9ZYq61ZtHWa by foone@digipres.club
2025-01-14T05:16:40Z
0 likes, 0 repeats
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)
(DIR) Post #Aq3x3TPVBIgGtlqafI by foone@digipres.club
2025-01-14T05:17:30Z
0 likes, 0 repeats
now I gotta go check out this disc just in case these brender files are useful.
(DIR) Post #Aq3xF6zwKrEWrZRN3o by Laukidh@infosec.exchange
2025-01-14T05:19:27Z
0 likes, 0 repeats
@foone ah the good old days of VR
(DIR) Post #Aq3xHiMWO3xZKEFB6u by foone@digipres.club
2025-01-14T05:19:38Z
0 likes, 0 repeats
Nah, same BRender demos we've already got.
(DIR) Post #Aq3xMVYVQh1D3P8RWa by foone@digipres.club
2025-01-14T05:20:55Z
0 likes, 0 repeats
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
(DIR) Post #Aq3xaJ7USi1qXV4xG4 by foone@digipres.club
2025-01-14T05:23:25Z
0 likes, 0 repeats
forgot to link it:
(DIR) Post #Aq3xfLlK45HABO7Af2 by wollman@mastodon.social
2025-01-14T05:24:03Z
0 likes, 0 repeats
@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.
(DIR) Post #Aq3xiTdDGQ3nSPoQxE by foone@digipres.club
2025-01-14T05:24:54Z
0 likes, 0 repeats
@beka_valentine yes(actually my clipboard fucked up)
(DIR) Post #Aq3xkzeLBxefL5XXN2 by foone@digipres.club
2025-01-14T05:25:06Z
0 likes, 0 repeats
@wollman awesome!
(DIR) Post #Aq3xrWb9bQkXGUAD8C by foone@digipres.club
2025-01-14T05:26:33Z
0 likes, 0 repeats
The demo app is a shooty game. Nope, not useful. The files are all .RWX, not the .RWB SoulTrap uses
(DIR) Post #Aq3y1b33ubqLxk1JGS by foone@digipres.club
2025-01-14T05:28:21Z
0 likes, 0 repeats
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
(DIR) Post #Aq3yCisz73lhSIc0Lw by foone@digipres.club
2025-01-14T05:30:20Z
0 likes, 0 repeats
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
(DIR) Post #Aq3yIM5olmP4VAIgJE by foone@digipres.club
2025-01-14T05:31:24Z
0 likes, 0 repeats
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
(DIR) Post #Aq3yvazZJC3C0L5Xqy by foone@digipres.club
2025-01-14T05:38:27Z
0 likes, 0 repeats
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
(DIR) Post #Aq3yxww4h40SdmZog4 by foone@digipres.club
2025-01-14T05:38:52Z
0 likes, 0 repeats
the funniest part is that I can't test any different graphical settings... because the "OK" button is missing from the options menu.
(DIR) Post #Aq3z0nol3CK9ELVyLY by wollman@mastodon.social
2025-01-14T05:39:25Z
0 likes, 0 repeats
@foone i was like 12 at the time and all I wanted was a usable backup of my word processor.
(DIR) Post #Aq3z9oG0mlg7CSYcIS by foone@digipres.club
2025-01-14T05:41:00Z
0 likes, 0 repeats
I KNOW PROGRAMMERS WHO USE FULL-COLOR GRAPHICS AND THEY'RE ALL COWARDS.REAL GAMERS USE 256 COLORS AND THEY LIKE IT
(DIR) Post #Aq3za1En9DFUzFU5VA by mantis@mastodon.social
2025-01-14T05:44:44Z
0 likes, 0 repeats
@foone how else would you do sweet color-cycling?
(DIR) Post #Aq3zf7CaOpFKvusmw4 by foone@digipres.club
2025-01-14T05:46:40Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3zjDQXCHKHOjMVwO by foone@digipres.club
2025-01-14T05:47:28Z
0 likes, 0 repeats
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.
(DIR) Post #Aq3zlqbqUME3V0uLhY by foone@digipres.club
2025-01-14T05:47:58Z
0 likes, 0 repeats
so I went back and took a full screenshot which was fine, EXCEPT I got this:
(DIR) Post #Aq3zoWOS6k99fXuzs8 by foone@digipres.club
2025-01-14T05:48:27Z
0 likes, 0 repeats
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!
(DIR) Post #Aq3zvXlXP659x744kS by foone@digipres.club
2025-01-14T05:49:37Z
0 likes, 0 repeats
WHY IS THIS GAME SO HARD TO SCREENSHOT
(DIR) Post #Aq404ectGXsVpuMeDA by foone@digipres.club
2025-01-14T05:51:16Z
0 likes, 0 repeats
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.
(DIR) Post #Aq40AvDUUphL1mTM80 by foone@digipres.club
2025-01-14T05:52:25Z
0 likes, 0 repeats
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!
(DIR) Post #Aq40DdoVel8FvF5I9Y by foone@digipres.club
2025-01-14T05:52:56Z
0 likes, 0 repeats
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.
(DIR) Post #Aq40Fucg8CRqdNdKmu by foone@digipres.club
2025-01-14T05:53:16Z
0 likes, 0 repeats
DPI scaled 256 color games. That's a world that never existed and never should
(DIR) Post #Aq40h3hqT3aeclzj04 by foone@digipres.club
2025-01-14T05:58:12Z
0 likes, 0 repeats
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.
(DIR) Post #Aq40tFM0zFKWDzaxvs by foone@digipres.club
2025-01-14T06:00:25Z
0 likes, 0 repeats
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!
(DIR) Post #Aq4121hn6Nz4V3y2Ou by curtosis@mastodon.social
2025-01-14T06:01:58Z
0 likes, 0 repeats
@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.
(DIR) Post #Aq416JszRszk2pFjmq by foone@digipres.club
2025-01-14T06:02:48Z
0 likes, 0 repeats
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?)
(DIR) Post #Aq41DsJlpWUgrPNjVI by foone@digipres.club
2025-01-14T06:04:11Z
0 likes, 0 repeats
I have somehow corrupted the graphics for DxWnd, which is making it a pain to use
(DIR) Post #Aq41GTgLsjDjK4BXYO by foone@digipres.club
2025-01-14T06:04:31Z
0 likes, 0 repeats
@beka_valentine oooh, lovely!
(DIR) Post #Aq41qYwfn4Si4U1f4C by n_dimension@infosec.exchange
2025-01-14T06:11:07Z
0 likes, 0 repeats
@foone NOW CYCLE THE PALETTE !!!
(DIR) Post #Aq41t5iaudUGIHe8Q4 by blami@mastodon.online
2025-01-14T06:11:07Z
0 likes, 0 repeats
@foone late 90s rice!
(DIR) Post #Aq42OY1phnX34de28O by foone@digipres.club
2025-01-14T06:17:17Z
0 likes, 0 repeats
the game is invisible to OBS in window capture mode?!
(DIR) Post #Aq4307cCMHTK9rZSfA by foone@digipres.club
2025-01-14T06:24:05Z
0 likes, 0 repeats
@curtosis nice!
(DIR) Post #Aq43I4un8UfazppWfQ by foone@digipres.club
2025-01-14T06:27:20Z
0 likes, 0 repeats
wait I have DPI awareness set. why is this window still 800x600?
(DIR) Post #Aq43SRZljougApwJfc by foone@digipres.club
2025-01-14T06:29:11Z
0 likes, 0 repeats
oh, I accidentally set it to both enable resizing and to have a default size of 800x600. whoops.
(DIR) Post #Aq43UwvQ9ZKZysGIRE by foone@digipres.club
2025-01-14T06:29:27Z
0 likes, 0 repeats
I also made it disappear by setting the height to -7480! which didn't work
(DIR) Post #Aq44FjU5wYCDuCmw6a by foone@digipres.club
2025-01-14T06:37:42Z
1 likes, 0 repeats
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
(DIR) Post #Aq44FnmJyj9VDtLY4O by foone@digipres.club
2025-01-14T06:37:50Z
1 likes, 0 repeats
that's deeply weird
(DIR) Post #Aq44gf3EXAzhyV445g by foone@digipres.club
2025-01-14T06:42:57Z
0 likes, 0 repeats
oh god I don't think this color thing is a bug. I think this is INTENDED BEHAVIOR
(DIR) Post #Aq44kaN9s4JocfFuNs by foone@digipres.club
2025-01-14T06:43:43Z
0 likes, 0 repeats
I think they're programmatically changing the windows theme, and then restoring your old theme at the end
(DIR) Post #Aq44mz3p3INvlqM4Qq by foone@digipres.club
2025-01-14T06:43:52Z
0 likes, 0 repeats
so when you crash it, the windows theme corrupts
(DIR) Post #Aq44uIjeIi0UokPN1E by foone@digipres.club
2025-01-14T06:45:28Z
0 likes, 0 repeats
MOTHERFUCK THEY ARESetSysColors()
(DIR) Post #Aq455b4QTIYQrtVqaW by foone@digipres.club
2025-01-14T06:47:29Z
0 likes, 0 repeats
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
(DIR) Post #Aq45Be1CQLn9kTt47c by foone@digipres.club
2025-01-14T06:48:34Z
0 likes, 0 repeats
time to patch these out of the binary!
(DIR) Post #Aq45aluKEI1tSKeZiC by foone@digipres.club
2025-01-14T06:53:05Z
0 likes, 0 repeats
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
(DIR) Post #Aq45vs7gJdu6oWxi7s by lucky@mastodon.nz
2025-01-14T06:56:53Z
0 likes, 0 repeats
@foone me getting up in the morning and thinking about my gender
(DIR) Post #Aq45y0z6L74CsQyEiW by foone@digipres.club
2025-01-14T06:57:01Z
0 likes, 0 repeats
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.
(DIR) Post #Aq46Cd6BQd3r8lFgXY by foone@digipres.club
2025-01-14T06:59:56Z
0 likes, 0 repeats
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
(DIR) Post #Aq46FWlrPZl2Nr7zqy by foone@digipres.club
2025-01-14T07:00:08Z
0 likes, 0 repeats
gonna patch the 3rd just in case.
(DIR) Post #Aq46X7zOHvpkjkqhua by foone@digipres.club
2025-01-14T07:03:38Z
0 likes, 0 repeats
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
(DIR) Post #Aq46Zaf8eVXmFFYC5Q by foone@digipres.club
2025-01-14T07:03:54Z
0 likes, 0 repeats
@lucky oh yeah, I'm always hacking that one
(DIR) Post #Aq46i65bgwqm1wzH0a by foone@digipres.club
2025-01-14T07:05:38Z
0 likes, 0 repeats
here's what it looks like now. You can see that the checkboxes aren't fucked up by their paletted nonsense.
(DIR) Post #Aq46zP02dYxLbPdTns by foone@digipres.club
2025-01-14T07:08:46Z
0 likes, 0 repeats
changing the title of the window from "SoulTrap" to "SoupTrap" CRASHES THE GAME
(DIR) Post #Aq472BgWb78dAypptw by foone@digipres.club
2025-01-14T07:08:52Z
0 likes, 0 repeats
HOW IS THIS GAME THIS WEIRD?
(DIR) Post #Aq477BKFMRVxVenQDQ by Doridian@furry.engineer
2025-01-14T07:10:11Z
0 likes, 0 repeats
@foone So it uses its own window title to find its own window to grab a handle to it? Or something? That is quite weird indeed x3
(DIR) Post #Aq47BsdoFz4P0bBebo by crlcan81@bark.lgbt
2025-01-14T07:10:28Z
0 likes, 0 repeats
@foone It's almost like these games weren't made with some of the silly conventions that gamers came up with after they were made, and there weren't patches to fix it in those days. Most folks just learned 'don't do this or you'll break the game'.
(DIR) Post #Aq47Bu2J4OG9KrejQm by foone@digipres.club
2025-01-14T07:10:15Z
0 likes, 0 repeats
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
(DIR) Post #Aq47Ll7l3kfKahuDFw by foone@digipres.club
2025-01-14T07:12:50Z
0 likes, 0 repeats
I'll figure out the answer to the SoupTrap Dilemma later.
(DIR) Post #Aq47qdYtE5dM77JuHA by SecurityWriter@infosec.exchange
2025-01-14T07:18:20Z
0 likes, 0 repeats
@foone I’d contact Microforum and see what they have to say.
(DIR) Post #Aq47tCFvCnw6IKfVHk by foone@digipres.club
2025-01-14T07:18:40Z
0 likes, 0 repeats
@SecurityWriter they're EA these days.
(DIR) Post #Aq47w9jh1xUBLf0Mb2 by SecurityWriter@infosec.exchange
2025-01-14T07:19:18Z
0 likes, 0 repeats
@foone Even more reason to be a massive pain in the ass. 🤭
(DIR) Post #Aq47ysOFyhkuQ7H89A by foone@digipres.club
2025-01-14T07:19:34Z
0 likes, 0 repeats
so the current thing I'm trying to fix is how it either crashes or explodes the palette when you switch away from it.
(DIR) Post #Aq481RSKZkUPknP84W by foone@digipres.club
2025-01-14T07:20:10Z
0 likes, 0 repeats
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
(DIR) Post #Aq4846O7MW9xHVhaue by foone@digipres.club
2025-01-14T07:20:50Z
0 likes, 0 repeats
ugh. I was thinking they probably are doing something odd in their wndproc.this program is MFC. that makes this more complicated
(DIR) Post #Aq493C9CYyzWoBrAZM by foone@digipres.club
2025-01-14T07:31:51Z
0 likes, 0 repeats
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
(DIR) Post #Aq49D5jDHh1znOQ5J2 by DJGummikuh@mastodon.social
2025-01-14T07:33:37Z
0 likes, 0 repeats
@foone I usually only understand half of your problems, but THAT is a statement I can rally behind 🤣🤣
(DIR) Post #Aq4AoWaWU0DNlilhB2 by foone@digipres.club
2025-01-14T07:51:37Z
0 likes, 0 repeats
I was fucking up the stack! my patch was in the wrong place. Lets see if things Suddenly Start Working now
(DIR) Post #Aq4AthrdzBduBmFOvg by foone@digipres.club
2025-01-14T07:52:33Z
0 likes, 0 repeats
well it doesn't crash. I'm back to the palette corrupting and the game freezing
(DIR) Post #Aq4Awe4iWwF1J1lPZg by bugjar@mastodon.sdf.org
2025-01-14T07:52:45Z
0 likes, 0 repeats
@foone SoupTrap? I like it! BurgerTime, but for soup!
(DIR) Post #Aq4BtsKdASoCbjRyBE by foone@digipres.club
2025-01-14T08:03:48Z
0 likes, 0 repeats
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?
(DIR) Post #Aq4C5SXCuHUY4er9Sy by jpm@aus.social
2025-01-14T08:05:50Z
0 likes, 0 repeats
@foone one step up from that RISC-V debugger that scribbles over register a0 (first function argument) with garbage during single-stepping
(DIR) Post #Aq4C7zVXHiRQuwHX9s by foone@digipres.club
2025-01-14T08:06:19Z
0 likes, 0 repeats
fuck. it's a breakpoint on WM_ACTIVATE.which gets generated every time I switch to the debugger! I'm in an infinite loop!
(DIR) Post #Aq4CFw3vygIKY69x56 by madmoose@mastodon.social
2025-01-14T08:07:41Z
0 likes, 0 repeats
@foone
(DIR) Post #Aq4DK2kV9vIwOpaoNM by tomjennings@tldr.nettime.org
2025-01-14T08:20:07Z
0 likes, 0 repeats
@foone Aeons ago I worked on some program with similar issues, when trying to do IBM PC ROM BIOS emulation. Some game or spreadsheet or whatever it was kept failing, and in good faith we were trying to debug to figure out WTF was failing. Turns out in this case the code was measuring execution time, expected N milliseconds, if it took longer they assumed the worst. Assholes.
(DIR) Post #Aq4FAfDxSF7yjy1fqi by foone@digipres.club
2025-01-14T08:40:22Z
0 likes, 0 repeats
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.
(DIR) Post #Aq4JhTAjgTGejcPvwO by jernej__s@infosec.exchange
2025-01-14T09:31:07Z
0 likes, 0 repeats
@foone You can use deskn.cpl to get the old Appearance UI on modern Windows
(DIR) Post #Aq4LA1eHC8dbixPnP6 by foone@digipres.club
2025-01-14T09:47:31Z
0 likes, 0 repeats
@jernej__s wow, that really fucked up my font sizes! but thanks
(DIR) Post #Aq4LTGcPlF0ZeeiedE by jernej__s@infosec.exchange
2025-01-14T09:51:00Z
0 likes, 0 repeats
@foone Right, I run mine from a batch file that doesset __COMPAT_LAYER=HIGHDPIAWAREstart "" "%~dp0rundll32.exe" shell32.dll,Control_RunDLL "%~dp0deskn.cpl"(I don't remember what I did to rundll32.exe I put in the same directory – maybe nothing, just copied it from SysWOW64 so __COMPAT_LAYER works)
(DIR) Post #Aq4OuqVWjbfCdxL8LY by foone@digipres.club
2025-01-14T10:29:34Z
0 likes, 0 repeats
eww they use CFile.there's MFC grime all over this game
(DIR) Post #Aq4UTB8f2BZiFLppBo by foone@digipres.club
2025-01-14T11:31:48Z
0 likes, 0 repeats
oh hey they re-seed the random number generator every time they call random()that's... not how you're supposed to do it
(DIR) Post #Aq4UZIpfLIAbqTs1L6 by darkling@mstdn.social
2025-01-14T11:32:56Z
0 likes, 0 repeats
@foone But how are you supposed to ensure that you get the right random numbers?
(DIR) Post #Aq4WLGRzbKN0JREO12 by foone@digipres.club
2025-01-14T11:52:49Z
0 likes, 0 repeats
@kawa I have seen so many duplicated strings. some compilers don't like merging string literals
(DIR) Post #Aq4Wuqzxi0JDnc5fEW by foone@digipres.club
2025-01-14T11:59:15Z
0 likes, 0 repeats
@kawa 3D Movie Maker actually does it too, and it's got a bug! it sets your key repeat speed at a couple times, and just restores it right after. It does it almost immediately so there's little risk of a crash breaking it... except they implemented it wrong. if your key repeat is set too fast, it thinks it's out of range, and resets it to slow
(DIR) Post #Aq4aHgOPbdkPQg6VKy by mmu_man@m.g3l.org
2025-01-14T12:36:18Z
0 likes, 0 repeats
@foone 😅
(DIR) Post #Aq4aRKugJyshhvnieu by gzt@hulvr.com
2025-01-14T12:38:40Z
0 likes, 0 repeats
@foone lol how are they seeding it?
(DIR) Post #Aq4akHkMJnmxOB0ZCS by foone@digipres.club
2025-01-14T12:42:09Z
0 likes, 0 repeats
@gzt system ticks
(DIR) Post #Aq4bQGytYT4bB2pQkC by foone@digipres.club
2025-01-14T12:49:47Z
0 likes, 0 repeats
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
(DIR) Post #Aq4eMzejoRRWRDWngW by foone@digipres.club
2025-01-14T13:22:45Z
0 likes, 0 repeats
huh, the game requires an FPU.in 1996? I mean, I guess. Quake famously did the same, and that was a few months earlier
(DIR) Post #Aq4fipO8lgj8uzjwTg by Suiseiseki@freesoftwareextremist.com
2025-01-14T13:38:20.553505Z
1 likes, 0 repeats
@foone >He can't compile software from 1997 written for GNU without issues.
(DIR) Post #Aq4hhUaUoqMu1b0h4i by cyningstan@mastodon.social
2025-01-14T13:59:58Z
0 likes, 0 repeats
@foone I always appreciated when software took advantage of my FPU. Sadly that didn't include Quake, because my FPU was an 8087.
(DIR) Post #Aq4k3GCDCvAHfX9v0q by MolarFox@furry.engineer
2025-01-14T14:26:23Z
0 likes, 0 repeats
@foone it's a feature
(DIR) Post #Aq5JvcYxlD4X4WSPBI by shanecelis@mastodon.gamedev.place
2025-01-14T21:08:19Z
0 likes, 0 repeats
@foone ZOOLANDER: One byte. One byte!? I'll show you one byte!
(DIR) Post #Aq5jEzZGwys4mDw3vc by lime@aus.social
2025-01-15T01:52:00Z
0 likes, 0 repeats
@fooneSouptrap, aka a beard
(DIR) Post #AuNtNb0obJYhjynW4m by cookedmonty@mstdn.social
2025-05-23T11:38:46Z
0 likes, 0 repeats
@foone Hope this game can eventually be made to work properly in modern Windows because it's a slice of mid 90s cheese I am amused by.