Introduction
Introduction Statistics Contact Development Disclaimer Help
Post AobRdiqVPXj0mLqhXc by [email protected]
More posts by [email protected]
Post #AoOX1xmrU8nomg2mZs by [email protected]
0 likes, 1 repeats
Bad idea: build a captcha library that embeds DOSBox so it can make you beat le…
Post #AoOX4jJjjvhkm9jx3o by [email protected]
0 likes, 0 repeats
Honestly just making it do The Incredible Machine puzzles would be hilarious
Post #AoOX7KmLQjFfXVMZVI by [email protected]
0 likes, 0 repeats
Same form lemmings... God, is it just all puzzle games?
Post #AoOXArN4i0AFUYDz1M by [email protected]
0 likes, 0 repeats
@foone "Get anywhere at all in Zaxxon"
Post #AoOXDXn1y5Ypd7e3Wa by [email protected]
0 likes, 0 repeats
I have thought about adapting Simon Tatham's puzzle collection to a captcha…
Post #AoOXQqtGGRkGdLuBH6 by [email protected]
0 likes, 0 repeats
@foone I like his game that has dense graphs that you have to untangle so none …
Post #AoOXWuWZfL0hdsBN7A by [email protected]
0 likes, 0 repeats
!Where in the world is Carmen Sandiego!You catch the culprit of the current cas…
Post #AoOXZdHAFg6J11Gx3g by [email protected]
0 likes, 0 repeats
Oregon Trail would also be funny.To prove you are a human, get to Oregon.
Post #AoOXcJhpT843Bn1afQ by [email protected]
0 likes, 0 repeats
We use geo-ip to automatically allow anyone showing up as accessing the site fr…
Post #AoOXep71fhJlAp0Oxc by [email protected]
0 likes, 0 repeats
(that is only one slight degree sillier than something I have done professional…
Post #AoOXkcAehUX4m2SrxY by [email protected]
0 likes, 0 repeats
Chip's Challenge levels would also be funny.
Post #AoOXn2ztvmeSYPauf2 by [email protected]
0 likes, 0 repeats
@foone Make them play a game of "Where in North Dakota is Carmen Sandiego&…
Post #AoOXyKyLRPKnUIFYQ4 by [email protected]
0 likes, 0 repeats
The edutainment puzzles from the doors in Super Solvers: Gizmos and Gadgets!
Post #AoOY1NodKGrnAu9y1Q by [email protected]
0 likes, 0 repeats
@foone brb adding an error handler that says BUMMER whenever the API returns a …
Post #AoOY4GJze5iSniCWcC by [email protected]
0 likes, 0 repeats
You know, I was just thinking yesterday I should reverse engineer that game, bu…
Post #AoOYA9DuwsjUWZAKJs by [email protected]
0 likes, 0 repeats
"have a population of at least 20,000 within 5 years in this game of SimCi…
Post #AoOYUmFZYf13M4mCy8 by [email protected]
0 likes, 0 repeats
@foone I had this as a kiddo, and nobody I've ever mentioned it to, has hea…
Post #AoOYZ9VD35Y0d3B1Sy by [email protected]
0 likes, 0 repeats
Just throwing surfers randomly in point and click adventures and then telling t…
Post #AoOYydpNRAUJv8lRGC by [email protected]
0 likes, 0 repeats
@foone Oh, I'd be snookered in that case
Post #AoOZ2wl100e5mvmE1w by [email protected]
0 likes, 0 repeats
@foone Would Lode Runner levels be a bit too actiony?
Post #AoOZ939Y8Is7MUA9ke by [email protected]
0 likes, 0 repeats
@foone Beat Super Metroid in under 3 hours.
Post #AoOZGoGbMbJZVeA51U by [email protected]
0 likes, 0 repeats
@foone how about an incredible machine *with* lemmings?
Post #AoOZL1HguGGf2bg8SO by [email protected]
0 likes, 0 repeats
@gryzor madness!
Post #AoOZmc5oA6PP1EHIyu by [email protected]
0 likes, 0 repeats
@foone "I finished 'Secret of Monkey Island' just so I could prove…
Post #AoOZpybuthgNj2tsuG by [email protected]
0 likes, 0 repeats
@foone something like doom captcha?https://vivirenremoto.github.io/doomcaptcha/
Post #AoOZwzmExVPTN24ltI by [email protected]
0 likes, 0 repeats
@foone Unless there is a significant random element in those levels then it wou…
Post #AoOa2oIGZCvvUbpQn2 by [email protected]
0 likes, 0 repeats
@itec yes but running the actual game
Post #AoOaBcmcjPdkOsENua by [email protected]
0 likes, 0 repeats
@foone warioware but as captcha
Post #AoOaIi3TWsxwmGUXcu by [email protected]
0 likes, 0 repeats
@foone get out of the cave labyrinth in Kyrandia before you run out of fire ber…
Post #AoOaKW3h6Rgo9NSIW8 by [email protected]
0 likes, 0 repeats
@lritter that'd be fun! significantly more likely to get your ass sued off,…
Post #AoOaOCxa3Lro4jM9HU by [email protected]
0 likes, 0 repeats
@foone I would refresh the page with all kind of funny headers and user agents …
Post #AoOaPBB8A6MAq89ojQ by [email protected]
0 likes, 0 repeats
@foone if you use that name, sure
Post #AoOaaBthpTFGFsG2tc by [email protected]
0 likes, 0 repeats
@foone finish the desert in KQV without dying of thirst
Post #AoOas5aG2fENszhBgm by [email protected]
0 likes, 0 repeats
Seems Gizmos and Gadgets is a 16-bit EXE compiled with Borland Turbo C++ (no fl…
Post #AoOb0p8KZcwHTKnXPM by [email protected]
0 likes, 0 repeats
oh goody my favorite, OVERLAYS! as if segmented code wasn't enough of a pai…
Post #AoOb416OWx2RSfPmsa by [email protected]
0 likes, 0 repeats
@foone Or for the non-gamers: “Edit these CONFIG.SYS and AUTOEXEC.BAT files s…
Post #AoOb7aUpOOtg6RXv96 by [email protected]
0 likes, 0 repeats
step up: find the fade out.see the game fades out when you go into a door. find…
Post #AoObAXv3QjbwymDwvo by [email protected]
0 likes, 0 repeats
@foone *flashbacks from 8051 assembly programming*
Post #AoObGtLChJ2f9gTski by [email protected]
0 likes, 0 repeats
@foone I assume the test of being human is whether you abandon the boring task …
Post #AoObKmcZcj8NTLSemm by [email protected]
0 likes, 0 repeats
@gh oh that'd be fun.
Post #AoObT77FJCGdLtmREW by [email protected]
0 likes, 0 repeats
found 5 places the palette is reprogrammedand all are in overlays. ugh.
Post #AoObWrHu6CdvQ8YE3U by [email protected]
0 likes, 0 repeats
OKAY realistically this is a game that features several different games you can…
Post #AoObtQHEgsN0JBzwkC by [email protected]
0 likes, 0 repeats
looks like the separate game engines are called puzzler, electric, and simple.
Post #AoObwBt4eDF4Y414xk by [email protected]
0 likes, 0 repeats
I love when games use __FILE__ in their assertions. please tell me all your fil…
Post #AoObzYVuylu5aln2O0 by [email protected]
0 likes, 0 repeats
@foone I'm pretty sure a computer would be better at playing PoP than me �…
Post #AoOcamaJcunJwlb8fg by [email protected]
0 likes, 0 repeats
can I not set an I/O breakpoint in dosbox-x's debugger? I forget.
Post #AoOcmjrdZFwIz4Ow2y by [email protected]
0 likes, 0 repeats
@foone How about WarioWare minigames instead? Takes less than 10 seconds and sh…
Post #AoOdI6maPIaH2dzrhw by [email protected]
0 likes, 0 repeats
@foone some of these could probably do double duty as age verification challeng…
Post #AoOdPfBwsCwtmpSjDM by [email protected]
0 likes, 0 repeats
@enno meanbut yeah, clearly.
Post #AoOdvhm6nvv745eeIq by [email protected]
0 likes, 0 repeats
oh sweet laser jesus I found the upload palette function and THEY UNROLLED IT
Post #AoOe4SemNnhMmbOxlY by [email protected]
0 likes, 0 repeats
why do:for(int i=0;i<256;i++){ upload_color(i,palette[i]);}when you can do…
Post #AoOe8DWKbKNwzsF0Rk by [email protected]
0 likes, 0 repeats
the worst part is that this was done with a compiler from 1991 so there's n…
Post #AoOedegJfPQyDEu06C by [email protected]
0 likes, 0 repeats
@foone Any idea why? I have extremely little experience with programming in tha…
Post #AoOegUF6w0FShpWl84 by [email protected]
0 likes, 0 repeats
@foone Oh, what a great opportunity for various foot and paste errors 🥴
Post #AoOejSm6qdyR1SNi6q by [email protected]
0 likes, 0 repeats
@foone If we had shorter workweeks, maybe people wouldn't need to waste tim…
Post #AoOemkAwbrSTrGYuVE by [email protected]
0 likes, 0 repeats
@saua it runs slightly faster. like a couple cycles per "iteration".T…
Post #AoOey1QinYPcYcJsdk by [email protected]
0 likes, 0 repeats
@foone No compiler flags that would do this? 🤔🤷‍♂️
Post #AoOf1Dk3TnWdbut7GS by [email protected]
0 likes, 0 repeats
@foone I am surprised a game from 1991 would make such a large tradeoff against…
Post #AoOfYkoXXRPzjryYOO by [email protected]
0 likes, 0 repeats
@foone yea, then you can easily reverse the 0 and 255 entries for gifs!
Post #AoOfiS9vkgdGmFbcfo by [email protected]
0 likes, 0 repeats
@foone LOOK how many lines of code you wrote today! wow, your SO productive!!!!…
Post #AoOgMWBEDncUpbJjYu by [email protected]
0 likes, 0 repeats
oh that's cute. their set_palette function takes two arguments: a pointer t…
Post #AoOgQG5E0kfU4AIDPk by [email protected]
0 likes, 0 repeats
@simonzerafa in 1991? I don't think so. Not a for loop this big.
Post #AoOgaX6fZdJll6rrbU by [email protected]
0 likes, 0 repeats
"hey ghidra what calls set_palette?""I don't know! you'r…
Post #AoOgsEXBMdLNN0i1jM by [email protected]
0 likes, 0 repeats
@foone Reminds me of an Apple II educational game I wrote where some of the cod…
Post #AoOh2Amk9po8dej9VY by [email protected]
0 likes, 0 repeats
@foone @catsalad hyperventilates
Post #AoOh8xMOTBsh1qdYO0 by [email protected]
0 likes, 0 repeats
@foone @catsalad Except it would only be 250 more times, or you'd get an OO…
Post #AoOhdx8hLCwdJx0ksa by [email protected]
0 likes, 0 repeats
ahh, nope! I misidentified it.the second parameter on set_palette is how many f…
Post #AoOhlxvQIqdQ4hcfgm by [email protected]
0 likes, 0 repeats
@foone the only thing better than __FILE__ is __func__
Post #AoOi1Ja44RDBa8x3ZI by [email protected]
0 likes, 0 repeats
@foone This is why C++ is superior: template<int i> void upload_colors() …
Post #AoOi3XJA0Hgejg6VNY by [email protected]
0 likes, 0 repeats
or maybe not? it's too 2am to tell.ANYWAY I'm currently debugging throu…
Post #AoOi6QXXciY6c7D196 by [email protected]
0 likes, 0 repeats
(approximately 1536 times)
Post #AoOiAvnpKcLwjPySlU by [email protected]
0 likes, 0 repeats
@th yup
Post #AoOiV2PUTUpd13B8SW by [email protected]
0 likes, 0 repeats
this set_palette code got loaded into the segment 0BBC, one of the only 16-bit …
Post #AoOjCRWcyOUBMSDKgi by [email protected]
0 likes, 0 repeats
interesting: the same function is called to fade a palette TO black and to fade…
Post #AoOjFd6aNLIq91YKaO by [email protected]
0 likes, 0 repeats
@[email protected] maybe they wanted to experience the joys of funroll-loops …
Post #AoOjFdHvhANQiCrOGe by [email protected]
0 likes, 0 repeats
@aud good point, it was a famously uneventful year
Post #AoOjIdcwtJhydG7nqy by [email protected]
0 likes, 0 repeats
@foone @simonzerafa there were, but perhaps only 16 entries at a time.They were…
Post #AoOjUrcSh7i1VFj7Ka by [email protected]
0 likes, 0 repeats
I'm staring at this code going "if it was less 2am, I could understand…
Post #AoOjXQmCx4yp7WVe64 by [email protected]
0 likes, 0 repeats
this math: local_8 = (int)(0x3f / (long)param_1) + 1; iVar6 = 0; do { uVar7…
Post #AoOjc5Z5FBCUmVakGO by [email protected]
0 likes, 0 repeats
@foone Loop unrolling is older than that though. Although maybe not on these pl…
Post #AoOjdwkkybrw20wBvM by [email protected]
0 likes, 0 repeats
@foone you also wouldn't have posted about fading the palette to blackness …
Post #AoOjhGwwLK13XSDpVw by [email protected]
0 likes, 0 repeats
@nazgul I know it existed before, I just don't think DOS compilers of the t…
Post #AoOjjtGMrjoWwcYdHs by [email protected]
0 likes, 0 repeats
@oblomov FACKyeah
Post #AoOjvVVqzi0ql9LAO0 by [email protected]
0 likes, 0 repeats
@foone Probably not. I doubt the Aztec C compiler I used on the Apple II game d…
Post #AoOk182VBGu5hBI9aa by [email protected]
0 likes, 0 repeats
@fooneThis is a wonderful idea. What about solving Ruckingenur levels (one of t…
Post #AoOk5olYGZFhMsbE4O by [email protected]
0 likes, 0 repeats
@foone mafs
Post #AoOkEwJ5bAnBMVdUHo by [email protected]
0 likes, 0 repeats
@foone this is why i love binja and can't stand hexrayswho tf *wants* this …
Post #AoOlwFyeRMSIm6IN1M by [email protected]
0 likes, 0 repeats
found the INT31! we've got OVERLAYS FOR SURE!
Post #AoOm1OiNNjytK08NRQ by [email protected]
0 likes, 0 repeats
wasn't there some kind of tool that could flatten out an overlay'd file…
Post #AoOmNSxaHKzIrJlq4W by [email protected]
0 likes, 0 repeats
https://github.com/NationalSecurityAgency/ghidra/issues/5543oh this is more com…
Post #AoOobamiBQrz5aY56e by [email protected]
0 likes, 0 repeats
@foone "+ '\x01'"How many levels of hell down for this code t…
Post #AoOpwUIzZJC91sAvOS by [email protected]
0 likes, 0 repeats
@foone Y E S !I LOVED THAT GAME
Post #AoOtp2MBTvO08cN3x2 by [email protected]
0 likes, 0 repeats
@foone Copy'n'Paste Driven Development (CPDD) for experts!
Post #AoOw911GMbuzgqEuDg by [email protected]
0 likes, 0 repeats
@whitequark @foone fwiw, as someone who once loved hex-rays, (a) this is ghidra…
Post #AoOwNzGx8ns0cEiXVw by [email protected]
0 likes, 0 repeats
@dougall @foone yeah. i recognized that it's ghidra, but i also made a (per…
Post #AoOwhSu1CXIU0vHHTk by [email protected]
0 likes, 0 repeats
@dougall @foone ... but also, this is useful context i haven't considered, …
Post #AoOzTpNx76fxYFT4j2 by [email protected]
0 likes, 0 repeats
@foone Reminds me of the Doom Captcha, but I guess your idea is more NES Remix.…
Post #AoOzWoCJzAIOjkRtmS by [email protected]
0 likes, 0 repeats
@fooneAnd Lasertank ones!https://en.m.wikipedia.org/wiki/LaserTank
Post #AoP0odoNRKLVgvJfgu by [email protected]
0 likes, 0 repeats
@whitequark @foone heh, I looked into it – ghidra's decompiler (classifie…
Post #AoP4gkBoF65eyKlZuS by [email protected]
0 likes, 0 repeats
@foone @simontatham You two should talk, I love this idea so much.
Post #AoP9z7xF7fzhf4XQsi by [email protected]
0 likes, 0 repeats
@foone it’s bad enough that Cloudflare keeps telling me I’m a robot, I don�…
Post #AoPAbgdOdFoEDudqOu by [email protected]
0 likes, 0 repeats
@dougall @foone oh wow, i have not expected this!
Post #AoPBs2f8bFjz86opZg by [email protected]
0 likes, 0 repeats
@foone @catsalad "Ha! You're not so 'stop playing those stupid vid…
Post #AoPH6lvZbMZ1LGLjqy by [email protected]
0 likes, 0 repeats
@foone maybe they shaved 512 CPU cycle
Post #AoPKSvlC1amQ4QkgTY by [email protected]
0 likes, 0 repeats
@foone Playing games is one of the earliest things that machines did better tha…
Post #AoPKylyvuqgf0gMWx6 by [email protected]
0 likes, 0 repeats
@foone there are no original ideas:https://en.wikipedia.org/wiki/Rensenware
Post #AoPjUtZpbv7WjTTHjE by [email protected]
0 likes, 0 repeats
@ckape Carmen Sandiego Go is the obvious next step, yeah!
Post #AoPjfAnKRzPZ1ngYhk by [email protected]
0 likes, 0 repeats
@MedeaVanamonde that "foone" punk posts a LOT
Post #AoPjzOI9yfaGgGkNDk by [email protected]
0 likes, 0 repeats
@dougall @whitequark yeah this is early decompilation. I haven't told it of…
Post #AoPmCPh2HM3whQigtc by [email protected]
0 likes, 0 repeats
I like that this program using overlays is only 209kb."oh no, we can't…
Post #AoPmLYpTgEiVdo1wH2 by [email protected]
0 likes, 0 repeats
@foone Human: Eat pie and die.Machine: I have not eaten the pie. I will throw …
Post #AoPmSwqMnHZ09By7FI by [email protected]
0 likes, 0 repeats
oh hey, there is a 32bit windows version of this game? that might be way easier…
Post #AoPmVrjYFUevATAjFg by [email protected]
0 likes, 0 repeats
you know, because of pointers that actually point
Post #AoPmrHL0FU64ettsMS by [email protected]
0 likes, 0 repeats
@foone "The only thing 32 bits ever got us was 64 bits, and now a browser …
Post #AoPn07XM3baarttThA by [email protected]
0 likes, 0 repeats
I can't play it because MIDI doesn't work on Windows 10
Post #AoPnIXQQXmbWN7R4Rk by [email protected]
0 likes, 0 repeats
sticking a zero byte file at C:\Windows\SysWOW64\midimap.cfg fixed that. It run…
Post #AoPnLt78MUlGVW0bFg by [email protected]
0 likes, 0 repeats
if there's a game you grew up with and love on platform X, never play a che…
Post #AoPnP59o2gXyj8mWuG by [email protected]
0 likes, 0 repeats
@foone I guess it's less 2am now, but, assuming 16-bit ints:uVar2 = (int)uV…
Post #AoPnWENc9PobMFeJQu by [email protected]
0 likes, 0 repeats
@foone Tempest 2000?
Post #AoPngVrlzXQwUFetNY by [email protected]
0 likes, 0 repeats
@foone it's also pretty painful to see what a lot of the games we grew up w…
Post #AoPoA8Pbl5PwQrbq1A by [email protected]
0 likes, 0 repeats
@foone oh its so true C&C did not play well on PS1.
Post #AoPoLdNSyCM9eh5hAW by [email protected]
0 likes, 0 repeats
@dashasierra has an RTS EVER played well on a console?Maybe an FPS-RTS hybrid, …
Post #AoPp5cC1hqDhIofJei by [email protected]
0 likes, 0 repeats
@foone @dashasierra Lego Battles existed, I guess?
Post #AoPp89vrEfAQWQJdOC by [email protected]
0 likes, 0 repeats
@tess 1997 port of a 1993 game, so yeah
Post #AoPpCuyCIBK3Z6gAUa by [email protected]
0 likes, 0 repeats
wait, ghidra autodetects the 32bit version as being DELPHI?!The DOS one is defi…
Post #AoPpDjZU9orIVEVeYS by [email protected]
0 likes, 0 repeats
@foone @dashasierra I've heard that weirdly enough the N64 had some!(I'…
Post #AoPpHKoQ9YJAs8DEIK by [email protected]
0 likes, 0 repeats
maybe they compiled the games into DLLs and had a delphi shell around it?
Post #AoPpPkxKppbOGwOif2 by [email protected]
0 likes, 0 repeats
I think that's exactly what they did.on the CD there's a bunch of DAT f…
Post #AoPpS5LQ0CQe5KlzBw by [email protected]
0 likes, 0 repeats
loadLibrary()ing a .DAT file? naughty naughty.
Post #AoPpcgec8nA4h7o5pI by [email protected]
0 likes, 0 repeats
@foone Pascal calling convention got way out of hand
Post #AoPpl6DMzVX2Hn4hpg by [email protected]
0 likes, 0 repeats
Language ID:x86:LE:16:Protected Mode (2.13)what do you mean 16bit protected mod…
Post #AoPpnzW0M7nSNQAcEK by [email protected]
0 likes, 0 repeats
that can't be right. I'm on a 64bit system. those DLLs shouldn't ev…
Post #AoPpsFJjXuqSXoSXku by [email protected]
0 likes, 0 repeats
@foone Windows 10: so backwards-compatible, even the error dialogs look 16-bit …
Post #AoPpvJF1PfyFaDiSn2 by [email protected]
0 likes, 0 repeats
@foone You’re on a Foone system. Those DLLs will somehow load.
Post #AoPq0O6OlfEy6h6Wa8 by [email protected]
0 likes, 0 repeats
These are NE executables. So windows 3.x. Those... shouldn't be loading. Un…
Post #AoPq4CYDeninRJw4i8 by [email protected]
0 likes, 0 repeats
@foone Mark Zbikovski likes this.
Post #AoPq6svh478JSCCALY by [email protected]
0 likes, 0 repeats
all this is telling me "give up on the windows version and go back to hack…
Post #AoPqBtVuJyIUiHWSpc by [email protected]
0 likes, 0 repeats
@foone I always loved that Xenix could even run on a stock XT with no memory pr…
Post #AoPqDfwHlIl1Bwi5Dc by [email protected]
0 likes, 0 repeats
@dg3hda He goes by Zark Mbikovski in little-endian cultures
Post #AoPqHCyfNlmuWkVZpo by [email protected]
0 likes, 0 repeats
because this smells like it's either brilliant or a crime against man and G…
Post #AoPqKGBzsxkfMpCOLw by [email protected]
0 likes, 0 repeats
@foone win64 runs 32 bit programs in an emulator that runs 16 bit programs in a…
Post #AoPqNzhX8rEZNWjL4y by [email protected]
0 likes, 0 repeats
@onfy ugh. if this is a trend for them, I might have to get all their 90s games…
Post #AoPqR9wXWDhI0pG5gG by [email protected]
0 likes, 0 repeats
@foone that is my learning of the evening.
Post #AoPqV0qRHvpKx7F5qy by [email protected]
0 likes, 0 repeats
@foone “same thing”-parents when buying presents
Post #AoPqYPO2UxTxw8ZtNg by [email protected]
0 likes, 0 repeats
WAITI was using this ancient version of ghidra for GBA hackingI'm doing x86…
Post #AoPqbZqW4EilFDPOym by [email protected]
0 likes, 0 repeats
@foone Are they possibly using the.DAT/.DLLs to load puzzle data into a recreat…
Post #AoPqeQgMaulngz1IEC by [email protected]
0 likes, 0 repeats
it's only a matter of time before someone invents one of those Version Mana…
Post #AoPqhWeCs97z3tUHWS by [email protected]
0 likes, 0 repeats
I'm on my laptop now (disability reasons) but my Real Workstation has like …
Post #AoPqkQxEUnIeH1m1AW by [email protected]
0 likes, 0 repeats
@ScotttSee it's certainly possible. resource dlls are a thing.
Post #AoPqx1nJLqQ60Q8cdM by [email protected]
0 likes, 0 repeats
@foone Why stop at video games? Captchas already make people do slave labor (la…
Post #AoPr1L9XJpqRCfadqS by [email protected]
0 likes, 0 repeats
you're... making int21h calls?in a DLL? your'e making raw DOS interrupt…
Post #AoPr556iuvReb83ffc by [email protected]
0 likes, 0 repeats
I'm starting to think none of these DLLs are actually ever used
Post #AoPr8J6dKMD2slYQIS by [email protected]
0 likes, 0 repeats
procmon time. what do you do, game?
Post #AoPrGIbb4Y67e8qdma by [email protected]
0 likes, 0 repeats
they didn't bother to make the animations play at the right speed :(
Post #AoPrMKxrDM80hU8hP6 by [email protected]
0 likes, 0 repeats
@foone DOS interrupt calls were the pinnacle of civilization.
Post #AoPrQzkjVSLgMTDnZQ by [email protected]
0 likes, 0 repeats
they are indeed using those files.I'm wondering if they're just using t…
Post #AoPrdKzkM1uLiZ85gG by [email protected]
0 likes, 0 repeats
@foone My XT only *has* 256kB, the entire first kilobyte goes poof for the inte…
Post #AoPrhAoe8qRbJ3laQC by [email protected]
0 likes, 0 repeats
@gabe 1993! with minimum requirements of 640kb
Post #AoPrlFaYL4UzGc7P4y by [email protected]
0 likes, 0 repeats
@foone yeah that's what I'm thinking. either that or they're hotpat…
Post #AoPro5DbLqiRyOjYjw by [email protected]
0 likes, 0 repeats
@foone >rustup>zigup>espupghiddy-up
Post #AoPrqzzLFjrAcaSE8u by [email protected]
0 likes, 0 repeats
@fooneWindow 11 has a chance to make itself better than Windows 10 if they fix …
Post #AoPsGNUb0CVQl2AtkG by [email protected]
0 likes, 0 repeats
@fooneCome, join the light side
Post #AoPtO0p5GqyqihxiWu by [email protected]
0 likes, 0 repeats
@foone oh yeah, you mentioned VGA.Damn gamers and their high-end hardware.
Post #AoPtQs6EA2rcX8LPKC by [email protected]
0 likes, 0 repeats
@foone remember the goat puzzle?
Post #AoPzGPYG2ut0p4qnUu by [email protected]
0 likes, 0 repeats
@foone https://github.com/Honeypot95/asdf-ghidra
Post #AoPzGPhTUeG7HfA9rc by [email protected]
0 likes, 0 repeats
@SpindleyQ AHHH
Post #AoPzhvFSJ3WOwnAs2i by [email protected]
0 likes, 0 repeats
@jonn which one?
Post #AoPzkzrdbKxU8EV2w4 by [email protected]
0 likes, 0 repeats
@foone are they passing LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE or LOAD_LIBRARY_AS_I…
Post #AoPzl0095hlQYcTqCG by [email protected]
0 likes, 0 repeats
@gsuberland haven't found out yet but i suspect so
Post #AoQ0wUNOb7SPu4Ojy4 by [email protected]
0 likes, 0 repeats
@foone Broken Sword. I won't spoil. If you didn't play it, play it when…
Post #AoQ5wW5yhotv0Q5FVA by [email protected]
0 likes, 0 repeats
@foone haters gonna hate, pointers gonna point…
Post #AoQ7jn0sh75ZcRl5sW by [email protected]
0 likes, 0 repeats
@foone captchas that get smaller and quicker and more spastic to play before th…
Post #AoQ81dVclkqXM4eGLg by [email protected]
0 likes, 0 repeats
@foone … but… why?
Post #AoQ8GBYeyNE90h0QJE by [email protected]
0 likes, 0 repeats
@mmu_man different plugins target different versions. compiling between version…
Post #AoQ8MGJSCw4RUhn6Rs by [email protected]
0 likes, 0 repeats
@foone it seems like you've solved this, but, I have previously dealt with …
Post #AoQ8MGSfefRXxI6Soa by [email protected]
0 likes, 0 repeats
@greg ooh, nasty. I'm not sure if that's what's happening here, but…
Post #AoQ8VUWKkkFIAIDSwC by [email protected]
0 likes, 0 repeats
@foone and I thought r2 was complex 😅
Post #AoQ97hvPMcvAk5ARQ8 by [email protected]
0 likes, 0 repeats
obviously the first thing you call GetProcAddress on is "GetProcAddress&qu…
Post #AoQ9Cfw6BaTw1PrLG4 by [email protected]
0 likes, 0 repeats
you know, just in case the address has changed between compile time and run time
Post #AoQ9hcoJr9UlIzyj3Y by [email protected]
0 likes, 0 repeats
@foone or to obfuscate subsequent calls?
Post #AoQ9kL6CAFcJF5dNFA by [email protected]
0 likes, 0 repeats
oh it's trying to load WinG32.dllthat's a pre-directx windows library f…
Post #AoQ9uf9WSaYUKk74Hg by [email protected]
0 likes, 0 repeats
hah! it works!it turns out they installed this pre-win95 graphics library into …
Post #AoQA3o9SN6P6qjRWOu by [email protected]
0 likes, 0 repeats
okay I'm running in a debugger now, with breakpoints on LoadLibrary/GetProc…
Post #AoQA6F5nB2C6z5tE9Y by [email protected]
0 likes, 0 repeats
@foone Now I'll have "thunk" and "twunk" stuck in my he…
Post #AoQA8VLDjdilxUBWdc by [email protected]
0 likes, 0 repeats
I wonder if these fuckers just skipped using the windows DLL loader and wrote t…
Post #AoQCKHO7dds24CHhs8 by [email protected]
0 likes, 0 repeats
oh goody, they're not using the regular CreateFilethey're using _lopen.…
Post #AoQCPCmSCFYjDz0wds by [email protected]
0 likes, 0 repeats
@foone woag i am so here for this :Di’ve also been reverse engineering gizmos…
Post #AoQCPCzDQnldrYz8XA by [email protected]
0 likes, 0 repeats
@delan oh, awesome! I'll have to look through what you've found so far.
Post #AoQCXx9ve6NrNkALTs by [email protected]
0 likes, 0 repeats
and CreateFile.they use both. fun!
Post #AoQCx7GbCedzyBHhSa by [email protected]
0 likes, 0 repeats
@foone mom said its my turn on the DAT/EXE file
Post #AoQD0dqcWYzPt1oXs8 by [email protected]
0 likes, 0 repeats
see the cool thing about reversing 32bit or 64bit code is that it's not seg…
Post #AoQD6cBJdFOKSMLIUy by [email protected]
0 likes, 0 repeats
this may seem "boring" and "mundane" and "how debugger…
Post #AoQF2yXekr3GYWBVJ2 by [email protected]
0 likes, 0 repeats
I've been doing too much GBA reverse engineering. I saw a 32bit pointer sta…
Post #AoQF5lrqKmzc7DxZI0 by [email protected]
0 likes, 0 repeats
now let me copy this program onto this SD card in my laptop's built-in SD c…
Post #AoQF9cCeCz39IfWXlA by [email protected]
0 likes, 0 repeats
@foone Well there certainly aren’t going to be any with that attitude.
Post #AoQFCBCp2WfGRFpQbg by [email protected]
0 likes, 0 repeats
@foone but what if there were cartridges? 🤔
Post #AoQFR5AzjuEA5A512e by [email protected]
0 likes, 0 repeats
@north this thought experiment gave us the IBM PCjr, which was a massive flop.
Post #AoQGIuxbwCu22HUSbw by [email protected]
0 likes, 0 repeats
@foone couldn't have written a little script to write that for them? or do …
Post #AoQGMwlXATmunDlLUm by [email protected]
0 likes, 0 repeats
@Canageek probably a macro in their compiler. little scripts are rarer then, bu…
Post #AoQHP5oYb0GnOGlPqy by [email protected]
0 likes, 0 repeats
yeah this is some windows 3.x-ass code. They definitely recompiled it as 32bit …
Post #AoQHnbDvT87rkpJcmm by [email protected]
0 likes, 0 repeats
@foone This thread has been a JOURNEY. I don't understand all of it, but st…
Post #AoQIEJCmZLB3gpW5ui by [email protected]
0 likes, 0 repeats
@foone I love seeing your posts come up in my feed because I have legit no idea…
Post #AoQJ12d8yyI0TQ5IvI by [email protected]
0 likes, 0 repeats
@foone 16-bits should be more than enough for anyone
Post #AoQJ3eXP0xxEcWe0Su by [email protected]
0 likes, 0 repeats
WHAT IN THE BORLAND TURBO C PLUS PLUS IS GOING ON HERE?
Post #AoQJ6Ufe9l7ot3r4ka by [email protected]
0 likes, 0 repeats
Ghidra is better at reversing MSVC-style arguments than Borland-style. Makes se…
Post #AoQJFfV1GViL4sG7gO by [email protected]
0 likes, 0 repeats
What happened: I'm looking at a function that's clearly a strcmp of som…
Post #AoQJPz73CKomnry1B2 by [email protected]
0 likes, 0 repeats
@foone Borland stuff is so cursed. especially if it's anything to do with s…
Post #AoQJSuYcahQ3XnG5mS by [email protected]
0 likes, 0 repeats
there's some nonsense going on here with pascal calling convention but I th…
Post #AoQJWNGeItnBSJVH7I by [email protected]
0 likes, 0 repeats
but the bottom line is that it's not a 4-argument function, it's a 3-ar…
Post #AoQJZWzOcCS2TYwGR6 by [email protected]
0 likes, 0 repeats
so I live another day, safe from the horror that is the 4-argument strcmp. what…
Post #AoQJpnhYFOhuwPLlCq by [email protected]
0 likes, 0 repeats
I figured out the hypothetical 4-argument strcmp: it's a locale-specific st…
Post #AoQK1CKyzXk2X9EDgW by [email protected]
0 likes, 0 repeats
and you might say "why would you compare two strings you know are of diffe…
Post #AoQKSK9o1gDSbYw2me by [email protected]
0 likes, 0 repeats
To greatly oversimplify, the german letter "ß" is lowercase, and in …
Post #AoQKVyiLgy8HG8pp0C by [email protected]
0 likes, 0 repeats
Try it out on your local javascript console:>> "Straße".length…
Post #AoQKdC3kTPqkfxHiuu by [email protected]
0 likes, 0 repeats
so yeah hypothetically if you had a version of stricmp that was strncmp and com…
Post #AoQKfmdPSVRcgtCSiO by [email protected]
0 likes, 0 repeats
enough writing about FICTIONAL C LIBRARY FUNCTIONS, what the hell writing brain…
Post #AoQKsVBhdZ5kLRIyZM by [email protected]
0 likes, 1 repeats
someone should write a fictional programming library reference book. like, fit …
Post #AoQKvtsWIK7Tn2x8Sm by [email protected]
0 likes, 0 repeats
@foone this is a wonderful example of Why Internationalization is Hard!
Post #AoQKxZc8bioJWM5WMq by [email protected]
0 likes, 0 repeats
@foone you have got me wondering if it supports the recent uppercase addition, …
Post #AoQL40ImIPP41r6C5Q by [email protected]
0 likes, 0 repeats
@foone huh, it'd fit right in with the debugging simulator / mystery game I…
Post #AoQL6krOAG6F0QbEdU by [email protected]
0 likes, 0 repeats
@clayote lemme know if you do (or just wanna share your ideas), it sounds exact…
Post #AoQLB1FdAIM503yK4e by [email protected]
0 likes, 0 repeats
@foone I've had thoughts about writing a story told through just news artic…
Post #AoQLFyErnB9r6ayY0O by [email protected]
0 likes, 0 repeats
writer-brain grabs the mic:C'S MEMORY HANDLING IS SO BAD IT CAN BE EXPLOITE…
Post #AoQLG3b1sCrBimNokC by [email protected]
0 likes, 0 repeats
@foone capital ẞ exists
Post #AoQLG3jBNtNY84CKS8 by [email protected]
0 likes, 0 repeats
@lizzy let me point you at the first three words of my post :)
Post #AoQLRdIlSgrze3MMxU by [email protected]
0 likes, 0 repeats
@foone The idea is that a fictionalized version of the Hans Reiser murder happe…
Post #AoQLfMOX7O8LGNbUbA by [email protected]
0 likes, 0 repeats
@fooneOn the edge of my damn seat with this thread
Post #AoQLluWj81vSrMYljk by [email protected]
0 likes, 0 repeats
@foone I actually had notes on making a book that'd tell the story through …
Post #AoQLr5qKTzL3P7CSMC by [email protected]
0 likes, 0 repeats
@foone SHUT UP AND TAKE MY MONEY
Post #AoQLz63bZQfkNvE3ua by [email protected]
0 likes, 0 repeats
@clayote that sounds awesome!
Post #AoQN6QFazS3mzjtKJU by [email protected]
0 likes, 0 repeats
@foone properly locking and unlocking handles? Rather than the win32 way of jus…
Post #AoQOEcggjXc7q22Pke by [email protected]
0 likes, 0 repeats
@foone #this. because it will take a lifetime to unravel
Post #AoQOOj1E3604N0Sefo by [email protected]
0 likes, 0 repeats
@foone You don't even need to use German majuscule/minuscule: there are dif…
Post #AoQOnQrcgYbfIrkcOu by [email protected]
0 likes, 0 repeats
@foone Capital <ẞ> (viz lc <ß>) was actually added [... checks] …
Post #AoQOzcNdh3pAUnXLcm by [email protected]
0 likes, 0 repeats
@foone why, hand optimized code, doncha know? A human with their knowledge of d…
Post #AoQP21xxXMPUQafxQG by [email protected]
0 likes, 0 repeats
the funniest part? I'm back in reverse engineering mode.it's not even a…
Post #AoQPBDtkXjj82b5dzs by [email protected]
0 likes, 0 repeats
how do you confuse a two-argument function for a FOUR argument function?borland…
Post #AoQPbDZyLrjGa4EbyK by [email protected]
0 likes, 0 repeats
DirectSound?!this windows 3.x-ass program uses DirectX?!
Post #AoQPjajU9Siehrg2M4 by [email protected]
0 likes, 0 repeats
@foone was this windows 3.x-ass program written by copilot?
Post #AoQPmBCPXavUNuROee by [email protected]
0 likes, 0 repeats
@onelson It's been stuck on a CD-ROM since 1997, so NOPE
Post #AoQPsmUHohFHlmwwng by [email protected]
0 likes, 0 repeats
@foone so it was a skynet time travel situation. Got it.
Post #AoQQFCMYIGyMOK1Oj2 by [email protected]
0 likes, 0 repeats
haha, 1991-1997 programmer: you made the LoadDirectSoundFuncptrs return a 0 for…
Post #AoQQMH5N8H4n4AMNOa by [email protected]
0 likes, 0 repeats
you even check, in the calling code, that it returns 0 and not some other value…
Post #AoQQVldOvDfwPynr4S by [email protected]
0 likes, 0 repeats
correction, you're returning a boolean.and it's hardcoded to always ret…
Post #AoQQZD7DCn5AW7OAbo by [email protected]
0 likes, 0 repeats
I'm guessing this is dummying out code that didn't work
Post #AoQQh6OU4ySBzIEMvA by [email protected]
0 likes, 0 repeats
@foone 🎵I’m the epitome / of double arity
Post #AoQRw95sQIymevGSdE by [email protected]
0 likes, 0 repeats
yeah this code is just casually mixing pascal and stdcall calling conventions. …
Post #AoQSAWmv7ppKCRFuvQ by [email protected]
0 likes, 0 repeats
okay yeah. this is not remotely delphi. this is C++. ghidra mis-detected it, an…
Post #AoQSRAUrG0ZhzGk436 by [email protected]
0 likes, 0 repeats
yep and it's buggered every single function, even after changing language. …
Post #AoQSU7EXqVGGjfW7Wq by [email protected]
0 likes, 0 repeats
maybe I just need to delete every function and re-analyze from scratch
Post #AoQShxVYnmgGcu4pAe by [email protected]
0 likes, 0 repeats
(i just re-imported the EXE as a new file, and I'll manually port over the …
Post #AoQSnJCvYF2pNFudDk by [email protected]
0 likes, 0 repeats
BTW it turns out there's cheats in the windows version.maybe in the other v…
Post #AoQSq0mqUm0L710AtM by [email protected]
0 likes, 0 repeats
I spotted them in the EXE and googled to see if they were known. Yep. At least …
Post #AoQT1aFgyc6kI70pto by [email protected]
0 likes, 0 repeats
@foone "manage to hit the spider with the boulder on the desert planet in …
Post #AoQTEjKqW7UOE6gxaC by [email protected]
0 likes, 0 repeats
@foone isn't that just PICO-8?
Post #AoQThWsZuI5TzdCbTs by [email protected]
0 likes, 0 repeats
@foone Did T.L.C. use a common asset storage formats? I’m curious how I’d …
Post #AoQUA5CHuJYYXK2KwK by [email protected]
0 likes, 0 repeats
@foone could something like this be crowdsourced? Start on an OA document somew…
Post #AoQUOOjc42FlBXRyWu by [email protected]
0 likes, 0 repeats
@fooneYou could also use an uppercase ß, the ẞ
Post #AoQUW9otOvHJFCcU2S by [email protected]
0 likes, 0 repeats
@matt I'm not sure yet, I've not been looking at the datafiles yet, jus…
Post #AoQUmMMGYGX6lRxJRo by [email protected]
0 likes, 0 repeats
ah-ha! see that?They call GetVersion(), then no matter if it's below 4 or n…
Post #AoQUqu9aqHxIjoCAqW by [email protected]
0 likes, 0 repeats
@foone I always wanted to go back and design an updated game like the super sol…
Post #AoQV6P6I47K53r2bcO by [email protected]
0 likes, 0 repeats
yeah the EXE has a modification date of 1998, but the compile time inside the E…
Post #AoQVN39UvD5JueTjtY by [email protected]
0 likes, 0 repeats
They patched out this dialog box.
Post #AoQVPn3LEdAgqmuDtw by [email protected]
0 likes, 0 repeats
I think the typo in the name is a bug on my resource viewer
Post #AoQVrRCq3RCHCaX0fQ by [email protected]
0 likes, 0 repeats
yeah, there's other dialogs like "you need to be in 386 enhanced mode!…
Post #AoQVtvALdSi0hSYCAK by [email protected]
0 likes, 0 repeats
I just realized this is a game. fuck, half this should be on TCRF. I do not hav…
Post #AoQWMXI9Th1z3NqTce by [email protected]
0 likes, 0 repeats
@foone this is paradoxically making me anxious that they have left an orphaned …
Post #AoQX2k1eWXoCi3Fkjg by [email protected]
0 likes, 0 repeats
well that sure is a fuck of a thing.playing with the cheats and there's a p…
Post #AoQX5TjnXSXP3uCtVY by [email protected]
0 likes, 0 repeats
the funniest part? that's an image. like, in the game. they just screenshot…
Post #AoQXG38amGYnkTqRai by [email protected]
0 likes, 0 repeats
puzzle counts:43 scales40 electricity 33 energy42 force 42 gear20 jigsaw30 &quo…
Post #AoQXcHPaO4wAOEOTOS by [email protected]
0 likes, 0 repeats
I should automate this and dump screenshots of all 270 puzzles
Post #AoQXn0792UJjvbsdTU by [email protected]
0 likes, 0 repeats
btw: at first glance, no evidence of cheats in the DOS version
Post #AoQXvnDiLeOyXo94sa by [email protected]
0 likes, 0 repeats
@foone well I mean at the very least, they wouldn't have cheats looking lik…
Post #AoQYjZ7N3QyVHmuaR6 by [email protected]
0 likes, 0 repeats
the documented cheats are missing at least one: ctrl-wI have no idea what it do…
Post #AoQZ086qixmcRZZAhs by [email protected]
0 likes, 0 repeats
the producer was Sid Weber
Post #AoQZ5MAxqxadW9z26S by [email protected]
0 likes, 0 repeats
@foone magnetizm is the kind of thing a techbro would name a startup (likely un…
Post #AoQauDucR8bWby9nBw by [email protected]
0 likes, 0 repeats
@foone though nowadays uppercase sharp-s exists and is allowed to be used as we…
Post #AoQb3TfZDlco5VWsQC by [email protected]
0 likes, 0 repeats
@foone a pitty. Was already looking forward to some Delphi stuff 😢
Post #AoQb84fPbhqJzYeHFQ by [email protected]
0 likes, 0 repeats
a linked list of fonts, indexed by number.that's an interesting approach to…
Post #AoQbY90C6yfKxyngzw by [email protected]
0 likes, 0 repeats
@foone Oh wow.. I remember playing this game as a kid
Post #AoQdIHnbpvanWbTolk by [email protected]
0 likes, 0 repeats
found another byte-level patch:there's a debug-printf function which has a …
Post #AoQevbNb4RRJV5ckNs by [email protected]
0 likes, 0 repeats
the game's EnsureFontLoaded function seems to be called with 2 font numbers…
Post #AoQf7eHk5rbvzFd7T6 by [email protected]
0 likes, 0 repeats
okay and I can spot a chunk index I sorta understand inside FONTS.DAT which spe…
Post #AoQfAbqpbFPjJ4SE4G by [email protected]
0 likes, 0 repeats
@foone The one used for, like, Windows 3.x Standard mode. (And also Xenix, of c…
Post #AoQfDJPgbjWUzX2v56 by [email protected]
0 likes, 0 repeats
so it seems to identify chunks by a 4-digit character string (like NFNT) and a …
Post #AoQh2Ex53R6hsTVwcC by [email protected]
0 likes, 0 repeats
so I think what's going on is these weirdos abused the 16bit linker to buil…
Post #AoQhGmqBqxY32JEB6W by [email protected]
0 likes, 0 repeats
so it seems the NE files have multiple resource sections, and the first one has…
Post #AoQhJeOhhZKHibjjyS by [email protected]
0 likes, 0 repeats
I don't know if they wrote their own NE executable header parser or there&#…
Post #AoQhvZBtVZ0EZgpCuO by [email protected]
0 likes, 0 repeats
oh goody it emulates file numbers on top of the whole windows Handle thing.so i…
Post #AoQi37mbIIRRt3b864 by [email protected]
0 likes, 0 repeats
@foone what about upperestcase and lowerestcase? https://sigbovik.org/2021/proc…
Post #AoQjVzynU9p22OdQIq by [email protected]
0 likes, 0 repeats
correction: 30 files
Post #AoQniIcqNylz9tUHEu by [email protected]
0 likes, 0 repeats
okay yeah they're parsing their own EXE Files. absolutely wild.
Post #AoQo2zHFW8prESFeCm by [email protected]
0 likes, 0 repeats
Borland Turbo C++: I know compilers who merge constant strings and they're …
Post #AoQoCA2Msi1PD4fIVU by [email protected]
0 likes, 0 repeats
I think I found the "load this resource by type+ID" function.I had te…
Post #AoQqeSgZLARx405j2u by [email protected]
0 likes, 0 repeats
@foone ...and other dialects of German further do this with diacritics:toupper(…
Post #AoR0bESwkf5ldPonr6 by [email protected]
0 likes, 0 repeats
@foone wait, this was years before Unicode, surely? Did anyone implement this b…
Post #AoRJFOvp3eNcqsd1ou by [email protected]
0 likes, 0 repeats
@foone ahhh, just seemed similar to stuff I've done with sed or awk when I …
Post #AoRUi00lt9ElSOmZg8 by [email protected]
0 likes, 0 repeats
@foone Just wanted to say I love this thread- enjoyed Gizmos and Gadgets a ton.
Post #AoRqrsTgx0ptynQQhk by [email protected]
0 likes, 0 repeats
@foone To be really nitpicky, JS is a bit outdated here (since 2017): https://w…
Post #AoT030IBKaHQ98NiuO by [email protected]
0 likes, 0 repeats
@foone maybe we need to rollback the German language to the pre 2017.06 release…
Post #AoT8JKVwiGu3897EJM by [email protected]
0 likes, 0 repeats
@foone Isn't that a bit like the INTERCAL reference manual, from 1973?https…
Post #AoWxRJNMVY3J3KXlXk by [email protected]
0 likes, 0 repeats
I have altered the gear puzzlepray I do not alter it any further
Post #AoWxmPzX6dmBeUSidU by [email protected]
0 likes, 0 repeats
@foone "Who are you calling a crank?"
Post #AoWz5OYskKqefpbpgW by [email protected]
0 likes, 0 repeats
@foone cutiee
Post #AobIgMYDrOCyuiTugS by [email protected]
0 likes, 0 repeats
it does nothing to stop you from just copying the files onto the PC and just ch…
Post #AobJ199IspB1QhjiIi by [email protected]
0 likes, 0 repeats
set your CDDrive to C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\…
Post #AobJ3gA7726yOgK4rQ by [email protected]
0 likes, 0 repeats
I know programmers who use strncpy and they're all cowards
Post #AobKHvKVcG7xRmXcps by [email protected]
0 likes, 0 repeats
@foone input bound checking is the hallmark of a nanny state. The users are adu…
Post #AobM5vC6UhPJSa0xns by [email protected]
0 likes, 0 repeats
I thought I'd figured out where it loads images. Nope! This is for palettes.
Post #AobMtk0CNcJXEBCZbk by [email protected]
0 likes, 0 repeats
looks like ASEQ is the image format.Here, I've used it to make this electri…
Post #AobMyrLmUGvxSujml6 by [email protected]
0 likes, 0 repeats
@foone Palette here made this look very sci fi which was causing that bottom ri…
Post #AobN3dC6Xx4V0cUEls by [email protected]
0 likes, 0 repeats
ahh, the most obscure of the electrical components, the zeppelin
Post #AobNzqVjC6An6aQMue by [email protected]
0 likes, 0 repeats
@foone
Post #AobQqdNYwpTZdNu7SC by [email protected]
0 likes, 0 repeats
@foone I swear i haven seen these graphic assets (the coil etc) in a (learning)…
Post #AobRLxP8XmdaidZnWa by [email protected]
0 likes, 0 repeats
@Sweepi Super Solvers Gizmos and Gadgets is what I'm hacking on
Post #AobRdiqVPXj0mLqhXc by [email protected]
0 likes, 0 repeats
@foone Does the zeppelin catch fire when you connect it to the lightning bolt?
Post #AobRdiwt1opT68pnUG by [email protected]
0 likes, 0 repeats
@snowfox sadly not
Post #AobT2emzjLYnOJf0O8 by [email protected]
0 likes, 0 repeats
yeah these punks just wrote their own code to parse NE headers. presumably beca…
Post #AobylcVEAx5nuTGnsO by [email protected]
0 likes, 0 repeats
@foone is this aLED Zeppelin?
Post #AocW5zpUSBzYXH4UmO by [email protected]
0 likes, 0 repeats
@foone what no stpncpy
Post #AocW5zxHzCEKvSiiw4 by [email protected]
0 likes, 0 repeats
@kevingranade this code was originally written in ~1993 with Borland Turbo C++.…
Post #Aocj5JptsnqthRGqRM by [email protected]
0 likes, 0 repeats
hResInfo = FindResourceA(*(HMODULE *)((int)&pLVar3[3].prev + 2), …
Post #AocjC6XhhqRoUuzl1k by [email protected]
0 likes, 0 repeats
So it seems this code is using a C-based (I have seen no hint of C++ in this co…
Post #AocjFU3qinLSJ8dseG by [email protected]
0 likes, 0 repeats
since it's C, that means they're using some kind of macro system that&#…
Post #AocjLLews5i1zJn8N6 by [email protected]
0 likes, 0 repeats
because they've got functions I've called SafeNodeGetNext and UnsafeNod…
Post #AocjTYgeJsVahzVBBo by [email protected]
0 likes, 0 repeats
that's what the "pLVar3[3].prev" nonsense is about. The code is a…
Post #AocjoClB2SgSmhSrxI by [email protected]
0 likes, 0 repeats
it's not. It's actually just a member access to some resource id in a c…
Post #AocpNNarFdWsI4EJZg by [email protected]
0 likes, 0 repeats
@foone i think the worst one was “TEXT”, there are 39 copies of that string…
Post #AocpNNiInxU4f9iGB6 by [email protected]
0 likes, 0 repeats
@delan Wow. I'm wondering if that just means one per compilation unit? Like…
Post #AocpuwUmVWA85qOLWC by [email protected]
0 likes, 0 repeats
@foone maybe even one per literal 😱
Post #AocpuwaSAQhQNR2sMK by [email protected]
0 likes, 0 repeats
@delan yeah honestly that makes more sense, if they just don't do constant …
Post #Aocq8IDj2uVDEimPtA by [email protected]
0 likes, 0 repeats
and the first problem with this is that I don't know how big ResourceListNo…
Post #AocqRvkmHr3rLebUrw by [email protected]
0 likes, 0 repeats
@foone yea i ran into this too, analysing as borlandcpp is better but far from …
Post #AocqRvqRwlb9dFG1i4 by [email protected]
0 likes, 0 repeats
@delan yeah, I just re-imported the exe as borlandcpp and went from there. But …
Post #Aod3P6BoKQb4FaEDQG by [email protected]
0 likes, 0 repeats
oh wait no, are these heterogeneous* linked lists? like there's different t…
Post #Aod3WlyTN6l5s3eHia by [email protected]
0 likes, 0 repeats
@foone No, that sounds right to me.
Post #Aod3aPl9uKOU8D9qLI by [email protected]
0 likes, 0 repeats
psVar1 = (short *)((int)&((LinkedListNode *)((int)pLVar3 + 8))->next + 2…
Post #Aod3dzeQv6vGJdibgG by [email protected]
0 likes, 0 repeats
@foone tuples
Post #Aod3z7ybA7QqDXECzA by [email protected]
0 likes, 0 repeats
so in the first chunk of the function, it iterates through the list, looking fo…
Post #Aod423iFTGUjrWyilk by [email protected]
0 likes, 0 repeats
so the obvious thing to assume is that the things in that list are 26 bytes eac…
Post #Aod4B7UWn7RyBishPM by [email protected]
0 likes, 0 repeats
questioning if my 26-byte-malloc is off. perhaps it's more like "alloc…
Post #Aod4gIn8pLtUDDSMHw by [email protected]
0 likes, 0 repeats
@foone your journeys. I love them. 😆
Post #Aod5yumERAtHBjTClc by [email protected]
0 likes, 0 repeats
if the objects you stuff into the resource_linked_list collection are 26 bytes …
Post #Aod632A8v4X9FjcOwK by [email protected]
0 likes, 0 repeats
oh fuck, I think this is entirely my fault. I think there's two linked list…
Post #Aod69IXcw7rTmvadPc by [email protected]
0 likes, 0 repeats
so the second list probably has the 34-byte objects I originally thought this f…
Post #Aod6IJ4uJI2K3jS5ku by [email protected]
0 likes, 0 repeats
I just made them resources_26byte_list and resources_34byte_list
Post #Aod6R9q02FJm0ThREu by [email protected]
0 likes, 0 repeats
I should find all the global linked lists and systematically find out how big t…
Post #Aod6eryvDjVggIPZ9k by [email protected]
0 likes, 0 repeats
eww, the list definitely is heterogeneous. I just realized that the list always…
Post #Aod6iyGlmgi1LCiPEu by [email protected]
0 likes, 0 repeats
I'm sure there's some benefit to having an end-of-list marker instead o…
Post #Aod6zF6MyCv6B8bqc4 by [email protected]
0 likes, 0 repeats
yup found the allocate, it's a 34 after all. Maybe I should just look at th…
Post #Aod72XrDh3bpDW68xc by [email protected]
0 likes, 0 repeats
@foone you can do some funny branchless programing but it requires a lot of pre…
Post #Aod75F9PhUOI4ItX0K by [email protected]
0 likes, 0 repeats
the reverse engineer who worked on this before me* has helpfully named the allo…
Post #Aod7C5nor6e36P3mqm by [email protected]
0 likes, 0 repeats
nah. I went through the 51 calls to allocate_something, but most don't look…
Post #Aod7ZXOaQoP1LCRAO0 by [email protected]
0 likes, 0 repeats
oh nasty, this function picks which linked list to use based on a flag. I sure …
Post #Aod7nGNcUYHKcdWuWm by [email protected]
0 likes, 0 repeats
one annoying detail is that I'm pretty sure this program also uses pointers…
Post #Aod8V8nC3yuZpcPk1I by [email protected]
0 likes, 0 repeats
@foone this sounds like a nightmare I've been working with. Linked lists to…
Post #Aod8Y2ZxcZHNQhbiNs by [email protected]
0 likes, 0 repeats
@foone might simply have been the style at the time. i remember my cs profs sa…
Post #Aod8nAsV31S5VpUlVY by [email protected]
0 likes, 0 repeats
@foone How do you do all the reporting here and not break out of the flow? Each…
Post #Aod96wFv7f3lxCsGaO by [email protected]
0 likes, 0 repeats
their coding style has more than a few safe_frob(ptr) functions that are just i…
Post #Aod9DFHXITg4hRdZtA by [email protected]
0 likes, 0 repeats
@anathem advanced ADHD. focusing on two things at once is sometimes indistingui…
Post #Aod9XM2Pt5WrRf9bwu by [email protected]
0 likes, 0 repeats
@foone Aside: Since 2020 the standard suggests using the captial-ß ẞ instead…
Post #Aod9cJGBdvxSHGxRXE by [email protected]
0 likes, 0 repeats
over a half hour I checked all 160ish calls to UnsafeNodeGetNext and SafeNodeGe…
Post #Aod9hoj25EeFJU4nL6 by [email protected]
0 likes, 0 repeats
motherfuckers loved them some linked lists apparently.
Post #Aod9qxZkY17lMt5t5c by [email protected]
0 likes, 0 repeats
next search: 26 calls to AddToNodeList. presumably it'll get called on each…
Post #AodA0ZXYlVVNigeYQC by [email protected]
0 likes, 0 repeats
@foone if your memory accesses aren't spread out evenly, you'll have an…
Post #AodA94NA11Jxf2qBsW by [email protected]
0 likes, 0 repeats
@foone I feel that, but there's the ASD kicking in here, too, preventing me…
Post #AodAsjQaDhBo1TDOkq by [email protected]
0 likes, 0 repeats
oh good one of them is VARIABLE SIZE!
Post #AodDCoPNbz3jAaM4ae by [email protected]
0 likes, 0 repeats
I'm not sure what unknown lists 9,10, and 11 are for, but they're conne…
Post #AodFCrxKcb4i54OHmy by [email protected]
0 likes, 0 repeats
ahh, they've got an add function that looks like this:void func(LinkedListN…
Post #AodG1j9P7RBnXZHwqu by [email protected]
0 likes, 0 repeats
@momo @anathem yeah. as well as a reminder to myself about what I'm doing
Post #AodGf914sui93UBoBc by [email protected]
0 likes, 0 repeats
spotted a function an hour and a half ago and decided not to reverse it, but I …
Post #AodGqW5NSC35mychGa by [email protected]
0 likes, 0 repeats
3d Movie Maker does the same thing where they have chunk types that are 4 digit…
Post #AodHNbxAeukNXkZ7Me by [email protected]
0 likes, 0 repeats
@foone heh this one?
Post #AodHNc2qJpHfpLDeCm by [email protected]
0 likes, 0 repeats
@delan bingo!
Post #AodInLawCbJcI80AyG by [email protected]
0 likes, 0 repeats
@foone safe-ish frob
Post #AodLuqsSamjtCbT4Ns by [email protected]
0 likes, 0 repeats
@foone That’s exceedingly common in file formats. Many of the *doze ones pred…
Post #AodLuqzCBk7vXUcRsm by [email protected]
0 likes, 0 repeats
@cyberspice oh I know, I just meant more that I have plenty of experience with …
Post #AodM3DYY9mC3r98zuC by [email protected]
0 likes, 0 repeats
the game has a hard limit on how many allocations it can do: 500.
Post #AodMYS2cLsa9l26LYW by [email protected]
0 likes, 0 repeats
@foone this is what C's lack of complex static initialisation does to a mf
Post #AoddUPq2IabuzIsUoS by [email protected]
0 likes, 0 repeats
@foone 500 in use, or 500 ever?
Post #AoeGtRZYst4Foo66AC by [email protected]
0 likes, 0 repeats
@zbrown in use. they get recycled
Post #AoeGw6B8smZgKqwQVc by [email protected]
0 likes, 0 repeats
that's 500 in use at once. when you free the memory it goes back to the pool
Post #AoeH0OUUjy6iHu2dbU by [email protected]
0 likes, 0 repeats
still, 500 is pretty low, especially since they're using linked lists which…
Post #AoeH3Pn4Mh4rBfAc1A by [email protected]
0 likes, 0 repeats
although hardcoded it's adjustable by changing a line in the main() equival…
Post #AoeHN1SYXJC7WAvOro by [email protected]
0 likes, 0 repeats
@foone phew, well that's …less concerning, I guess
Post #AoeJmsbgH02jUzeNVI by [email protected]
0 likes, 0 repeats
WHAT THE PIXEL ART FUCK IS GOING ON IN THIS SCREENSHOT?the pixel art itself is …
Post #AoeKBZoNI4tGRiMdLU by [email protected]
0 likes, 0 repeats
The DOS game this is a port of, for comparison.The lack of DPI stretch is just …
Post #AoeKSAZ2Pf2J486Pnk by [email protected]
0 likes, 0 repeats
@foone accidentally creating the most cursed form of CRT light-bleed emulation
Post #AoeKSAfQ1w8lNv5VkO by [email protected]
0 likes, 0 repeats
@Foritus don't tempt me to load this game up on an actual CRT.
Post #AoeLlKeLEtClnlHhgW by [email protected]
0 likes, 0 repeats
this project just added a new stretch goal: unfuck the graphics for the win32 v…
Post #AoeM0NKlXcv0TEIkCm by [email protected]
0 likes, 0 repeats
@foone This is one of those Foone threads where a memory is forcibly pried up f…
Post #AoeMOdPjPKXbIABwki by [email protected]
0 likes, 0 repeats
GetAsyncKeyState considers the mouse to be a keyboard?!
Post #AoeMXQ50Lyn6Xhgabw by [email protected]
0 likes, 0 repeats
oh good and they're "sticky" in a way that only works reliably on…
Post #AoeMkaGZn6trttNLw8 by [email protected]
0 likes, 0 repeats
I need to start remembering to check if a function is ever called before I wast…
Post #AoeMoqY5CBlfYdb3sO by [email protected]
0 likes, 0 repeats
@foone oh you must be trying to dissect something I wrote! oh hi.
Post #AoeMu88DFbxxXO125g by [email protected]
0 likes, 0 repeats
JUST DID IT AGAIN RIGHT AFTER THIS POSTI'm a trusting soul, I assume code i…
Post #AoeN0GHZrHFKYTJsRc by [email protected]
0 likes, 0 repeats
@foone tests can't fail if they don't ever call the specified function
Post #AoeNOhDjM5M73GAhHc by [email protected]
0 likes, 0 repeats
else if ((uMsg != WM_NCACTIVATE) && (uMsg == WM_KEYDOWN)) {amazing comp…
Post #AoeNZb7ONpx9JMPBFw by [email protected]
0 likes, 0 repeats
@vxo possibly! did you work for The Learning Company in the 90s?
Post #AoeNaiIRBGmprb6TYG by [email protected]
0 likes, 0 repeats
@foone Hang on, isn't that the general case? Or are more modern games one o…
Post #AoeNaiOSorbiAHvHwe by [email protected]
0 likes, 0 repeats
@trini most newer stuff I've seen is compiled with a compiler that leaves o…
Post #AoeNe88rXn5utIFp3o by [email protected]
0 likes, 0 repeats
@foone Ah neat. I'm used to the part of the (linux) world where no one seem…
Post #AoeNe8Gf4nKhHTu3DU by [email protected]
0 likes, 0 repeats
@trini well I do a lot of hacking on console games, and over there saving space…
Post #AoeQUaONxFrrTTeh6m by [email protected]
0 likes, 0 repeats
hah. It takes all the keypresses from the WM_CHAR/WM_KEYDOWN messages and puts …
Post #AoeS69nJOSh9wNnGUK by [email protected]
0 likes, 0 repeats
WHY DOES IT HAVE A SECOND CIRCULAR KEYBOARD BUFFER
Post #AoeSTJeQucq5AggS12 by [email protected]
0 likes, 0 repeats
@foone possibly the compiler didn't know the values of the constants
Post #AoeSkGnImtQ3EXusFs by [email protected]
0 likes, 0 repeats
there might be a cheat code no one has found on the capslock key but I can'…
Post #AoeT8TJ3v268zQJQ0m by [email protected]
0 likes, 0 repeats
Help I'm in the statusbar
Post #AoeTLjZojnv1DQTPFY by [email protected]
0 likes, 0 repeats
@ironiridis I HOLD DOWN SHIFT VERY HARD
Post #AoeTWECbj9AL5xcYxE by [email protected]
0 likes, 0 repeats
the virtual screen height is 320 pixels?huh. that's a weird number for a HE…
Post #AoeTZzw2iKxE0Lfdce by [email protected]
0 likes, 0 repeats
@ironiridis no PCB, it's a membrane and I hate it
Post #AoeThCXiEo5l8Kj1G4 by [email protected]
0 likes, 0 repeats
oh no, it's worse, it's like ... 385?
Post #AoeTkmKbdJW4zyIgeO by [email protected]
0 likes, 0 repeats
oh, 384. less weird
Post #AoeUTGj5zDrS0ayBjE by [email protected]
0 likes, 0 repeats
the width is something north of 480 pixels, so I'm guessing 512? weirdly th…
Post #AoeVXPHaDTb1eqdchs by [email protected]
0 likes, 0 repeats
@foone it's to balance the gyroscope forces. One buffer circulates clockwi…
Post #AoeWuiX2uhb1yPY9bc by [email protected]
0 likes, 0 repeats
@onfy yeah this is a Mac program ported to DOS ported to win16 ported to win95.…
Post #AoeYbhqxPg3cH3vSoi by [email protected]
0 likes, 0 repeats
@foone “7 types of ass” sounds like the name of a band
Post #AoebGDlIOeBqjFiy6i by [email protected]
0 likes, 0 repeats
@foone if you think about it, a mouse is just a keyboard with only two buttons
Post #AoehlgY6146giEw8zA by [email protected]
0 likes, 0 repeats
@foone see also, https://fxtwitter.com/dazabani/status/1459549851868295176
Post #Aoehlgi1QA2xD1a4SO by [email protected]
0 likes, 0 repeats
@delan oh neat!
Post #AoejMWDlTgzhLkYR4i by [email protected]
0 likes, 0 repeats
yeah the windows version runs as a 512x384 box inside a larger window, while th…
Post #AoejTf0dCaiAdIohbk by [email protected]
0 likes, 0 repeats
why in the fuck didn't they just make it 640x480 and upscale it by 2x? they…
Post #AoekyhyIL1gIkf5nP6 by [email protected]
0 likes, 0 repeats
I need to write some code to pull bitmaps from these datafiles. I gotta see if …
Post #Aoel1w0KcY9B8taFLU by [email protected]
0 likes, 0 repeats
I have some basic info on how the .DAT files work but I've not yet got the …
Post #AoeqAbrdN3313VTHt2 by [email protected]
0 likes, 0 repeats
@foone 512x384 is the 12“ color resolution of the Mac LC series - did they do…
Post #AoeqPN8GQR1ji3HzLE by [email protected]
0 likes, 0 repeats
@falk_ yep. And I bet what happened was they built the Mac one off the assets (…
Post #AoeqaqmEY0SkpuSRqy by [email protected]
0 likes, 0 repeats
@falk_ if this project goes on long enough I'll have to look at the mac ver…
Post #AoerSwCkaEy3J7eTCK by [email protected]
0 likes, 0 repeats
went looking for tools to look inside these dat/exe/dll hybrids and finally fou…
Post #AoesKRAICiuAg30qNk by [email protected]
0 likes, 0 repeats
obviously everyone is yelling "just use objdump!" but I am running lo…
Post #AoesQ3RhIxbQqnpepE by [email protected]
0 likes, 0 repeats
foone@pasilameli:~$ objdump -x plane256.datobjdump: plane256.dat: file format n…
Post #AoesStwz45CmGnp81g by [email protected]
0 likes, 0 repeats
well fuck you too, buddy! why wouldn't you just support a format that hasn&…
Post #AoesskWUjnUUYql6n2 by [email protected]
0 likes, 0 repeats
llvm-objdump is the same. I'm gonna need some kind of specialized tool if I…
Post #Aoet11loUtYmMus5OC by [email protected]
0 likes, 0 repeats
I mean, I guess Ghidra kinda does? I could maybe export out of that into a file…
Post #AoetFSYzg46BWKkzAG by [email protected]
0 likes, 0 repeats
nah, if ghidra is doing this right, I'm not getting the chunk ids/fourccs. …
Post #AoetSe7e0sGN8OFh6O by [email protected]
0 likes, 0 repeats
oh hey, wrestool from icoutils seems to get something.
Post #AoetyPvMKwyYMlehSS by [email protected]
0 likes, 0 repeats
@foone when you inevitably write your own tool for this, i humbly request you n…
Post #AoeuHsrWyA5jcQ9BZ2 by [email protected]
0 likes, 0 repeats
@foone https://archive.org/details/MPSI013_GAG74DE_06252001-OR has a cue/bin ve…
Post #AoeufTia6hDoaKDCEK by [email protected]
0 likes, 0 repeats
openwacom says it has no resources, which is incorrect.
Post #Aoeuq2m6caEMCvtlA0 by [email protected]
0 likes, 0 repeats
@foone To prove you're human, develop your own tooling to reverse-engineer …
Post #AoeutVzKSnYbgCjr7Y by [email protected]
0 likes, 0 repeats
the NE file format uses an interesting trick to encode offsets: every offset gi…
Post #AoeuvzXJZieVtuoeps by [email protected]
0 likes, 0 repeats
I thought it sounded familiar, and then I realized:this is a floating point num…
Post #Aoev1tv3N970DWjmeO by [email protected]
0 likes, 0 repeats
it's a base-2 floating point number with an unsigned exponent
Post #Aoev6ZiJvHEv010i48 by [email protected]
0 likes, 0 repeats
@falk_ yeah, I'll grab that and then ask her tomorrow if her system is in w…
Post #AoevOfWP4INcDy42GO by [email protected]
0 likes, 0 repeats
Borland Resource Workshop v5.02 OPEN'S IT FUCKING PERFECTLY! of course. The…
Post #AoevW5k7yagLZk1UWG by [email protected]
0 likes, 0 repeats
They put together dummy DLL/EXEs with BRW containing all their assets, then wro…
Post #Aoevb982ocnBWYcVkm by [email protected]
0 likes, 0 repeats
that is very cool. Like, it's a very common thing for a game to have it&#39…
Post #Aoevehvbt9A0JzVCYS by [email protected]
0 likes, 0 repeats
but they skipped out on developing half the code they'd need to have their …
Post #AoevkjUwxq3ivbuBvM by [email protected]
0 likes, 0 repeats
but as neat as this trick is, I think this is actually the compromise version. …
Post #Aoevn3UDcT2JV2fdmC by [email protected]
0 likes, 0 repeats
hey why is there a windows 95 version? windows 95 can run windows 3.1 programs,…
Post #AoevrUqNqZANVQ9j0K by [email protected]
0 likes, 0 repeats
well I bet this trick is why they made a windows 95 version. I bet they used so…
Post #AoevviqRjWtO5UCTTc by [email protected]
0 likes, 0 repeats
So they came back to the project and swapped in their own parse-the-NE-file-and…
Post #Aoew3nQYa0rucGwNBA by [email protected]
0 likes, 0 repeats
To be clear: This is all conjecture, based on what I'm seeing in the files.…
Post #AoewIXDN8lPAg3nkWW by [email protected]
0 likes, 0 repeats
anyway as cool as this is, it only confirms my theory about how the resource-st…
Post #AoewR23KMxVKdW9fX6 by [email protected]
0 likes, 0 repeats
I have done way too much of the latter recently, so I'm trying to relax by …
Post #AoewVLOUOu4vmT6q5Q by [email protected]
0 likes, 0 repeats
@foone It's a floating-point *integer*
Post #AoewZ14VtrZbuXW6bY by [email protected]
0 likes, 0 repeats
I guess having this tool does help. If I'm correct that it is what made the…
Post #AoeyOwmLCsLHbnLL0a by [email protected]
0 likes, 0 repeats
I just love the sheer fucking 90s-developement it is that I told this thing to …
Post #AoeyRfsCW8Rk2uNu6a by [email protected]
0 likes, 0 repeats
What, objdump doesn't have a fully featured (for, like, 1993) image editor?…
Post #AoeyjQZU9Efdnh60I4 by [email protected]
0 likes, 0 repeats
@foone looking back on 90s gui shit in general, it's kind of amazing what w…
Post #Aoeym2cxcxhyPNy4CO by [email protected]
0 likes, 0 repeats
@foone it’s so bizarre to me how much effort has been made in the past to ful…
Post #AoezKXESLW3zAnxCTI by [email protected]
0 likes, 0 repeats
it has been zero days since I crashed explorer
Post #AoezUhmbyNienAmNAu by [email protected]
0 likes, 0 repeats
speaking crashing, I can't get this version of the resource explorer to com…
Post #Aof089stQW79EyWvYW by [email protected]
0 likes, 0 repeats
I'm gonna ignore the confusing reversed source for the funcs and just base …
Post #Aof0BACUhwJN5d8Cvo by [email protected]
0 likes, 0 repeats
hopefully that's close enough that once I have that, it won't be hard t…
Post #Aof0KU7W13lZTZFOPw by [email protected]
0 likes, 0 repeats
@foone for the mouse?
Post #Aof12iL8VbuUJqhzKi by [email protected]
0 likes, 0 repeats
why does this section say that each resource table entry is 8 bytes wide then c…
Post #Aof1Bj4T9xj5C2D4Sm by [email protected]
0 likes, 0 repeats
anyway the ones in this file are clearly 16 bytes long.so already we fell off t…
Post #Aof1DS1JWdmOtEYYts by [email protected]
0 likes, 0 repeats
@foone You always find the weirdest problems to have
Post #Aof1J3FUXOIlngrHfs by [email protected]
0 likes, 0 repeats
getting slightly tired of how many documents on "how windows works" a…
Post #Aof1K5YVRlXVFCFNCK by [email protected]
0 likes, 0 repeats
@SwiftOnSecurity look I just expect text files from the bowels of early 90s MSD…
Post #Aof1P6h6dmD2Dvf8HQ by [email protected]
0 likes, 0 repeats
what are the chances borland documented this behavior? I'm thinking low. I&…
Post #Aof1a1ADXjAAFyTvVY by [email protected]
0 likes, 0 repeats
"clearly 16 bytes long" NO THEY'RE 12 BYTES FOONE CAN'T YOU C…
Post #Aof1cW5zVgselkhEwK by [email protected]
0 likes, 0 repeats
still, 12 is equally not 8 (and equally not 9) as 16 was. The point is it's…
Post #Aof1vZvvSx9YAp4tM0 by [email protected]
0 likes, 0 repeats
@foone ASEQ + 8 bytes?
Post #Aof2bQc8VME7QumEHg by [email protected]
0 likes, 0 repeats
I think their fucking header is bigger too. The MSVC one is 1 byte, this makes …
Post #Aof3158iy72oMQFhpI by [email protected]
0 likes, 0 repeats
@foone I feel like I remember this being a problem back when I was doing Window…
Post #Aof3H99BpvDrQI88pc by [email protected]
0 likes, 0 repeats
@foone Yo, aseq! Any plans for the evening?
Post #Aof5ShYcRN4bEof7Ee by [email protected]
0 likes, 0 repeats
okay it has no header at all.They don't need the shift-floating header thin…
Post #Aof5shl6JYsbOKtqUa by [email protected]
0 likes, 0 repeats
There we go, that part seems to be working. It's a list of IDs and the chun…
Post #Aof7ckpfJpxYCPYaA4 by [email protected]
0 likes, 0 repeats
okay, the code I'm looking at doesn't make sense because of a very weir…
Post #Aof7tXDNCasCt6eCVE by [email protected]
0 likes, 0 repeats
@fooneYo aseq, mi aseq, tú aseq
Post #AofAQmYjN9dtwUcPnE by [email protected]
0 likes, 0 repeats
@foone I bet this is the reason DOS games were considered superior for years, e…
Post #AofAgA1OQFpF3MMGHI by [email protected]
0 likes, 0 repeats
they add a 22 byte header and cut the first 2 bytes from the file.what the fuck
Post #AofAtZgwIDpAQrBfuK by [email protected]
0 likes, 0 repeats
@foone why does it draw the text Bitmap so stretched out in the oth…
Post #AofB8vAwhLtVPJXZD6 by [email protected]
0 likes, 0 repeats
@thorsummoner DPI weirdness
Post #AofBXoeO5zGiPSBMp6 by [email protected]
0 likes, 0 repeats
@foone There! Are! Twelve! Bytes!
Post #AofEmPYjxvbCnUByD2 by [email protected]
0 likes, 0 repeats
this code is broken or I don't understand it. maybe both
Post #AofF676eHdDfMERn4y by [email protected]
0 likes, 0 repeats
99% sure it's bugged. so if you have a file like this one which has the fol…
Post #AofGtjHvDFynv6wVO4 by [email protected]
0 likes, 0 repeats
I can't figure out what this FindFileResource is doing. there's too man…
Post #AofHV5HIPxbcpqShxA by [email protected]
0 likes, 0 repeats
@foone Borland Turbo C++? at this time of day? at this time of year? localized …
Post #AofHV5O20uzfAjc5S4 by [email protected]
0 likes, 0 repeats
@Jenetrix no virtual machines here! everything is running natively
Post #AofapWd2KvXSaB5kBM by [email protected]
0 likes, 0 repeats
@foone The mentions of 'NFNT' resources prompted me to try throwing Res…
Post #AofexIp3wzhjtggGZM by [email protected]
0 likes, 0 repeats
@foone i fuckin love gizmos n gadgets
Post #AofkhUWBIaWlGHh1AO by [email protected]
0 likes, 0 repeats
@foone that's a strange kind of cool
Post #AogClWcMER43eGIGZM by [email protected]
0 likes, 0 repeats
@foone Isn’t there a strcmp_s like that on Windows? With two lengths?
Post #AogCtp81IFnjNJ3oHY by [email protected]
0 likes, 0 repeats
@foone Fun fact: There is now officially an uppercase ß: ẞ
Post #AogScLe1G7u8HAiVYe by [email protected]
0 likes, 0 repeats
@uliwitness didn't see it while quickly looking at MSDN but it wouldn't…
Post #AogT87GOGNXiwMoSES by [email protected]
0 likes, 0 repeats
@foone … then I remembered that this game comes on a hybrid CD.The Mac versio…
Post #AogT87Qfe9lZSFcfFw by [email protected]
0 likes, 0 repeats
@boredzo @foone Came here to say this. ‘NFNT’ type and 16-bit ID? Sounds su…
Post #AogT87ZB8WZVsdbSW8 by [email protected]
0 likes, 0 repeats
@blitter @foone Yeah, that was my feeling from the first mention. I wouldn'…
Post #AogT87fujTxYDWkq12 by [email protected]
0 likes, 0 repeats
@boredzo @blitter Thanks for looking that up! I haven't taken a crack at th…
Post #AogTDhtLVWI5zNhRzM by [email protected]
0 likes, 0 repeats
@boredzo @blitter and I just realized, the program I learned this chunk+id styl…
Post #AogTK3O6UxPMOa73zc by [email protected]
0 likes, 0 repeats
@boredzo If you could dump one of the fonts that'd be handy. The binary of …
Post #AogUI0cptiljCeaoVM by [email protected]
0 likes, 0 repeats
I pointed binxelview at one of the font resources, and got nothing sensible.Are…
Post #AogURvoSe4URAnlHVY by [email protected]
0 likes, 0 repeats
I don't have any specific reason to hack the fonts, it's just my defaul…
Post #AogWN4li7YW3PQHtIG by [email protected]
0 likes, 0 repeats
@foone I see your edit but I was already 98% finished writing my resource extra…
Post #AogWmTPVdjav4f0tqy by [email protected]
0 likes, 0 repeats
@boredzo Thanks!
Post #AogXCxp9BZkYvfdYmW by [email protected]
0 likes, 0 repeats
@boredzo interesting. The ASEQ (image files) I checked is the same between Mac …
Post #AogXHwpsHsvzJPM0Jc by [email protected]
0 likes, 0 repeats
@boredzo oh wow. the NFNT is clearly the same file format, but the mac version …
Post #AogXMafu6m5E1su6l6 by [email protected]
0 likes, 0 repeats
@foone That makes sense. Better to byte-swap the PC version once when writing t…
Post #AogbCzIa6P2TJsfh1U by [email protected]
0 likes, 0 repeats
@foone Not just the 90s.
Post #AogbCzQ1eizfgy9dcu by [email protected]
0 likes, 0 repeats
@kawa that's the secret: the 90s never ended
Post #AogcsdteAIu93hR1wu by [email protected]
0 likes, 0 repeats
okay so @boredzo grabbed me some resources from the mac version, and they'r…
Post #AogdVilG0otjRL92lk by [email protected]
0 likes, 0 repeats
@foone Yeah, Macs were big-endian through the PowerPC era, so all the native re…
Post #AogdZG0kqWQ7Qp50pU by [email protected]
0 likes, 0 repeats
@boredzo it's definitely not a real NFNT, though. Unless it is, and I was c…
Post #Aogdc9SxdYLE08eZ96 by [email protected]
0 likes, 0 repeats
@boredzo wait does ResEdit natively support them? like, it thinks they're r…
Post #Aogdj5kXqvuCVCBgFk by [email protected]
0 likes, 0 repeats
@foone Yes. ResEdit has a built-in resource editor that can display 'NFNT&#…
Post #Aogdop9IUFdiklUxcW by [email protected]
0 likes, 0 repeats
@boredzo ok cool. that save me a lot of time. I basically need to write a &quot…
Post #Aogdrc9zEfz7L09SDI by [email protected]
0 likes, 0 repeats
oh god, I thought the font was a bespoke format but no, it's just the macin…
Post #AogduO0iIelaK38Tdg by [email protected]
0 likes, 0 repeats
little endian mac resources? what is the world coming to?
Post #AogdzWhxOGJ6kFoVBw by [email protected]
0 likes, 0 repeats
@foone More like TNFN amirite
Post #AogeIolAUxWCEYVxFA by [email protected]
0 likes, 0 repeats
@foone Sounds like a plan.The format is documented in Inside Macintosh: Text, u…
Post #AogeLdG1ihadQeI3V2 by [email protected]
0 likes, 0 repeats
@foone KILL IT WITH FIRE
Post #AogeTPd4H2PtTgmGKe by [email protected]
0 likes, 0 repeats
@foone that must have predated the QuickTime compatibility layer where all the …
Post #AogepEmPIAoeCSYKES by [email protected]
0 likes, 0 repeats
okay I'm going to intentionally ignore fonts right now. I don't need th…
Post #AoggkvJxtgUebFJth2 by [email protected]
0 likes, 0 repeats
ahh it's trying to call internal WING.DLL functions. lovely
Post #AoghOzJqS4LYaCMsN6 by [email protected]
0 likes, 0 repeats
my kingdom for multiple monitors. reverse engineering on just one small laptop …
Post #AoghbIHPmWlQrc6D0y by [email protected]
0 likes, 0 repeats
@foone I genuinely get a feeling of claustrophobia when working on stuff like t…
Post #AoghjAm7ZHHruADccy by [email protected]
0 likes, 0 repeats
thank god for WINE, Microsoft gave up on documenting WinG ages ago
Post #AoghlqQZfygbfPPl5c by [email protected]
0 likes, 0 repeats
@gsuberland same, yeah, and I'm already claustrophobic by nature. unfortuna…
Post #AoghqDenFg5Erz9RNQ by [email protected]
0 likes, 0 repeats
@foone :(hope things clear up for you soon and you can get back to a more comfo…
Post #AoghuJPJoWcxrXrfWK by [email protected]
0 likes, 0 repeats
@foone I didn't even think to check WINE. Here I've been using the HLP …
Post #AogieqJNoD61EaHAJ6 by [email protected]
0 likes, 0 repeats
for not the first or last time, either this code is stupid or it's not bein…
Post #Aogjlmrt6sEUXHI4TA by [email protected]
0 likes, 0 repeats
yeah this decompilation is just wrong
Post #AogklgjQ1dvlSQqV7I by [email protected]
0 likes, 0 repeats
aha! fastcall. for some reason it thought these win32 apis used fastcall .
Post #AogmA0nNBF9saXrEK8 by [email protected]
0 likes, 0 repeats
@foone Intel macs? If not then WT actual F
Post #AognOLDu7u3Jx8fEe0 by [email protected]
0 likes, 0 repeats
@beeoproblem in 1997? nope!
Post #AognbzzJsKeu9BM30K by [email protected]
0 likes, 0 repeats
The nice thing about hacking this particular game is that it uses so many fucki…
Post #AognflYpSQVWYmlCCW by [email protected]
0 likes, 0 repeats
@foone Oof. That's a big WTF there then.
Post #AogpDEu5TxTj4lEFbE by [email protected]
0 likes, 0 repeats
wait what?it has files like AUTO16.DAT and AUTO256.DATI assumed these were 16-c…
Post #AogpO6ZqmPlmRAwbdA by [email protected]
0 likes, 0 repeats
I hacked out the make-sure-we're-not-in-256-color-mode check and it just se…
Post #AogpWFKO84SntSat8q by [email protected]
0 likes, 0 repeats
this game is an entire archaeological dig in itself. It's like one of those…
Post #AogpYbRWsOvV3t3eXg by [email protected]
0 likes, 0 repeats
BUT THE FOURTH ONE STAYED UP, AND STILL RUNS ON WINDOWS 10
Post #Aogq2prBqmx0S9TbiS by [email protected]
0 likes, 0 repeats
@foone it is, dare I say, the little-end of the world as we know it
Post #AogqBFe7qmfCknNXpA by [email protected]
0 likes, 0 repeats
@gregly nice
Post #AogqKeovceiHR7uu6S by [email protected]
0 likes, 0 repeats
@foone This thread is like that. I actually scrolled back and back from this co…
Post #AogqVRCQbaQONS36TQ by [email protected]
0 likes, 0 repeats
@pseudonym thanks. I'll try!
Post #AogqXjAYlTIugmGcHA by [email protected]
0 likes, 0 repeats
just not very well. That's why I'm here.
Post #AogqthH2UblPBHm1T6 by [email protected]
0 likes, 0 repeats
@foone Ah, but is it like Paris and the catacombs (Everyone knows) or, well, I …
Post #AogsHdUOJcFSLazuzY by [email protected]
0 likes, 0 repeats
I'm going to need to modify ScreenCalculations to get the centering fixed. …
Post #AogsR2RitZWSM9EWH2 by [email protected]
0 likes, 0 repeats
ARGH MSDN TELL ME THE INTEGER VALUES OF YOUR FUCKING BITMASK FLAGS
Post #Aogu0C8sw9oEWAkXFg by [email protected]
0 likes, 0 repeats
@foone *cough* ctrl-click *cough* (that is assuming you're looking at sourc…
Post #AoguDWjdgW0I9MIYDY by [email protected]
0 likes, 0 repeats
@phoenixgee I'm not. I'm using Ghidra
Post #AogvJG6sVeZ6HOStuK by [email protected]
0 likes, 0 repeats
I want to find the person who decide the x86 assembler in ghidra needed to be C…
Post #AogvMAkosXT2XOXL9c by [email protected]
0 likes, 0 repeats
I just want to talk
Post #AogvaZuG9ycibGozLc by [email protected]
0 likes, 0 repeats
@foone Finally, System 6 on VAX!
Post #AogvhJk6ees0UpHmYS by [email protected]
0 likes, 0 repeats
@foone wHAT
Post #AogvhJruBf6mt0w0i8 by [email protected]
0 likes, 0 repeats
@alilly type "mov" and it's like "invalid instruction" …
Post #AogvyDiEKQ4YiUT584 by [email protected]
0 likes, 0 repeats
@foone Ghidra RE detected
Post #Aogw6skbdI36JMi3t2 by [email protected]
0 likes, 0 repeats
@foone sudden desire to invent a cursed ISA where the assembly is case sensitiv…
Post #AogwbcgbPVMHStUmGW by [email protected]
0 likes, 0 repeats
@emily NO
Post #AogwmhvEHeGItCcewa by [email protected]
0 likes, 0 repeats
@foone correct! `NO` is an instruction that clears all flags, such that subsequ…
Post #Aogwz3Ry4K018Gp6gK by [email protected]
0 likes, 0 repeats
@cr1901 not surprising. I live inside Ghidra
Post #Aogxf3QEYxrbCy2UVM by [email protected]
0 likes, 0 repeats
I wrote my code and called it and it crashed instantly!
Post #AogxiG5XvUYdMQtHO4 by [email protected]
0 likes, 0 repeats
@foone I have a baseball bat with nails...
Post #AogxkVUVdA7Ji6dg5w by [email protected]
0 likes, 0 repeats
what, can you write x86 assembly and have it work fine the first time?
Post #AogxnIUUQDtYG8xbaC by [email protected]
0 likes, 0 repeats
@foone Not the worst outcome.
Post #AogxpniLIy4ffzdMC8 by [email protected]
0 likes, 0 repeats
yep I fucked the stack. Whoops
Post #Aogxst5JnGwRCYqu1Y by [email protected]
0 likes, 0 repeats
I'm pushing 9 arguments for an 8 argument function
Post #AogyBMSdJSvjWRZBpY by [email protected]
0 likes, 0 repeats
EAX and ECX look too similar on this high-DPI screen
Post #AogyNAMw61JZUkWyZs by [email protected]
0 likes, 0 repeats
@scottmichaud yeah! I'm not running this in a VM. I've had a debugger w…
Post #AogyUXZUEDtZU0ux5U by [email protected]
0 likes, 0 repeats
clearly not a problem Intel thought about when they created the 8086 architectu…
Post #AogyjTPDzvtquLEpea by [email protected]
0 likes, 0 repeats
it runs! with no major changes yet, but this is just a safety check that the ba…
Post #Aogym6xvt1VyBBjLsm by [email protected]
0 likes, 0 repeats
I've replaced the WinGBitBltWrapper with FooneBlit, a completely different …
Post #Aogytdz9WCyQcCtQ7U by [email protected]
0 likes, 0 repeats
I edited the wrong part of the function call and accidentally made the game hal…
Post #Aogz1WkAKKXaTKdr9M by [email protected]
0 likes, 0 repeats
instead of blitting a 512x384 image as 1024x768, it treated the original 512x38…
Post #Aogz5tNs5mjNqfINWa by [email protected]
0 likes, 0 repeats
DO NOT DO THIS
Post #Aogz9JjUaJzaR72deq by [email protected]
0 likes, 0 repeats
@foone this is the most threatening sentence.
Post #AogzAmES6uEZ7CDdPU by [email protected]
0 likes, 0 repeats
@foone HIGH-LEVEL LANG PEOPLE: It's tuple time!LOW-LEVEL LANG PEOPLE: What …
Post #AogzPtuLr1UxGU1pJ2 by [email protected]
0 likes, 0 repeats
or this
Post #AogzeGOx1KnV57BpZ2 by [email protected]
0 likes, 0 repeats
This kinda worked but then DPI scale turned on and it's fucked. I need to m…
Post #AogzqlbUpwK9KS1IDQ by [email protected]
0 likes, 0 repeats
There! properly 2x scaled. This is a proof of concept, for a real version I&#39…
Post #Aoh0fLe56nkRabLddA by [email protected]
0 likes, 0 repeats
@foone it's insane to me that you remember and are now running Super Solver…
Post #Aoh0oIpcwJkrT81CBE by [email protected]
0 likes, 0 repeats
@EMR Different game! It's Super Solvers Gizmos & Gadgets
Post #Aoh0v0lQVtZhSZFiO8 by [email protected]
0 likes, 0 repeats
@foone now I need to figure out which one I remember.
Post #Aoh1vTHuYuEZsaEKae by [email protected]
0 likes, 0 repeats
@crobbler They're square, but the assets aren't.
Post #Aoh2394vaGgBW9ogRE by [email protected]
0 likes, 0 repeats
Fixed centering but the mouse is still kfuct. I'll have to find where it ha…
Post #Aoh2P8OumfXPmqeOK8 by [email protected]
0 likes, 0 repeats
@foone did that resolution exist outside of early Macs?
Post #Aoh2oaORqUmhqMZIg4 by [email protected]
0 likes, 0 repeats
@foone no. absolutely not. that is the most important lesson that my father eve…
Post #Aoh36wifZn8iIcmWBs by [email protected]
0 likes, 0 repeats
@glyph nope. But the win32 version seems to be ported from the mac version
Post #Aoh438ANAvW2b4U4eG by [email protected]
0 likes, 0 repeats
I need to stuff a mouse scale somewhere but there's no room in winproc. I&#…
Post #Aoh4MSYvZEzJM9BbFI by [email protected]
0 likes, 0 repeats
@foone probably not, but Delphi malware definitely still exists
Post #Aoh5DJOcNUsSH8Z8dc by [email protected]
0 likes, 0 repeats
damn it. I was trying very hard to not optimize their code while moving it into…
Post #Aoh5LosHE4jgDjUlX6 by [email protected]
0 likes, 0 repeats
I think whoever wrote this code assumed they were on a system that can't do…
Post #Aoh5aXyuJfWoAgcS7k by [email protected]
0 likes, 0 repeats
I am ONE BYTE SHORT
Post #Aoh5csDQ3chNVOW4jg by [email protected]
0 likes, 0 repeats
I have the whole function but no room for a RET!
Post #Aoh5mJkz1q8xWtidlo by [email protected]
0 likes, 0 repeats
@foone y u no NOP?
Post #Aoh5mJsmYqNjv5MrvU by [email protected]
0 likes, 0 repeats
@apicultor NOPs take up more space! I have a 36 byte codecave to shove this into
Post #Aoh5sOQ6bURxjJqn4K by [email protected]
0 likes, 0 repeats
the above function has 5 NOPs in it, but moving the code around is a pain in Gh…
Post #Aoh69lld3KbL3xCgds by [email protected]
0 likes, 0 repeats
NEW CODE CAVE TIME
Post #Aoh6pEQxNMhzqMIyrg by [email protected]
0 likes, 0 repeats
it has been zero days since I exploded the stack
Post #Aoh6yI2xJRRNefOkTo by [email protected]
0 likes, 0 repeats
turns out my codecave was non-existent so it never actually ran
Post #Aoh70fuvX8xQGcmQVs by [email protected]
0 likes, 0 repeats
where am I going to find 37 spare bytes, in this day and age?
Post #Aoh74tJPfocqy9FAPo by [email protected]
0 likes, 0 repeats
@foone
Post #Aoh7A8G7Wq6Km3Ccu8 by [email protected]
0 likes, 0 repeats
"Borland C++ - Copyright 1995 Borland Intl." is 42 characters long...
Post #Aoh87M6rfwXGoh75HM by [email protected]
0 likes, 0 repeats
@foone @EMR oh dang a nostalgia trip! I couldn't get past the helicopter le…
Post #Aoh8MDKAcbQ9ufQDNw by [email protected]
0 likes, 0 repeats
@foone Turbo C++ was the first language I ever learned, Borland's dumber br…
Post #Aoh8YoBfONfviSRx3o by [email protected]
0 likes, 0 repeats
well that worked (as in didn't crash) but did nothing
Post #Aoh8k5SrUnlOUCs3PM by [email protected]
0 likes, 0 repeats
I have located another function that may be fucking things
Post #Aoh9eWEf9IRxjQ8cYi by [email protected]
0 likes, 0 repeats
unfortunately that function is 68 bytes long, and my fixed version will be 72 b…
Post #AohATedPgFo4YA69FA by [email protected]
0 likes, 0 repeats
the function after it is never used, though. time to just take over that space
Post #AohBLem1Ne10cNsITo by [email protected]
0 likes, 0 repeats
YES! it works. At least for the movement of the cursor in the game: clicking is…
Post #AohBwVIbZLBxwqgZMm by [email protected]
0 likes, 0 repeats
ugh I may have overstated the ease
Post #AohC2fltXtbCAJKM3U by [email protected]
0 likes, 0 repeats
I basically need a second copy of GetAdjustedMousePosition to fix this.the prob…
Post #AohHO1tgyeimdgyfQm by [email protected]
0 likes, 0 repeats
ugh. writing x86 assembly code in ghidra is no fun.
Post #AohHkXoJ0PtJzFC4qe by [email protected]
0 likes, 0 repeats
@foone isn't the "in ghidra" superfluous? ;)
Post #AohIyZKWFj2chxVqt6 by [email protected]
0 likes, 0 repeats
@rasur Nah. Ollydbg makes it easy to use, but I'm not using that debugger. …
Post #AohJ1nnqtlLESqm6NM by [email protected]
0 likes, 0 repeats
it's somehow generating calls to win32 functions that don't work at all.
Post #AohJ57bZjPvGkQcCq8 by [email protected]
0 likes, 0 repeats
FUCK ME FIXUPS
Post #AohJjcipSUiWq4JxGC by [email protected]
0 likes, 0 repeats
no I don't think there are fixups here. this is just... some other weirdnes…
Post #AohLXpiLWn3hZCbIsi by [email protected]
0 likes, 0 repeats
got it working. Ghidra has no idea what my code means, but it works.Clicking an…
Post #AohM2a1ju15DtIKhjE by [email protected]
0 likes, 0 repeats
found a bug! it saves the clipping RECT with a memset that only takes 8 bytes.a…
Post #AohM7t9aDZqMetX78C by [email protected]
0 likes, 0 repeats
@foone s/ in ghidra// <- fixed it for you 😜
Post #AohMkrBvRnGJrnD6Cu by [email protected]
0 likes, 0 repeats
@foone when @phooky was hacking new features into the vt100 ROM the easiest pla…
Post #AohNBwQW5fZ9vFwxYO by [email protected]
0 likes, 0 repeats
ugh. now I have the SetClip function, I need to find somewhere to stuff 8 bytes…
Post #AohNEgLQL8VGugsIDY by [email protected]
0 likes, 0 repeats
instead of needing 8 bytes "in place" (where I don't have them) i…
Post #AohNNeenz0N8HoDccS by [email protected]
0 likes, 0 repeats
"Hey Foone? What did you just do?"Write a new function in the Ghidra …
Post #AohNjuGOdior3jPcAK by [email protected]
0 likes, 0 repeats
SHR, EAX 1 yeah that's how x86 assembly works
Post #AohNmaKjCCv07EiPxo by [email protected]
0 likes, 0 repeats
@foone i don’t think they thought about Thursday when they made the 8086.
Post #AohOL3dOlGcYpyt0Fs by [email protected]
0 likes, 0 repeats
there's a 50/50 chance that I'm passing the arguments in reverse order,…
Post #AohRA1jVn3CdcLB3rc by [email protected]
0 likes, 0 repeats
ok I've written FooneClip, my doubling function that calls SetClip. I just …
Post #AohREiYwUcehbpTEI4 by [email protected]
0 likes, 0 repeats
I'm patching the callsites instead of making SetClip detour to my own vers…
Post #AohRNEJcJw7oPCMRhw by [email protected]
0 likes, 0 repeats
@[email protected] I can never get the order right because of damn Intel synt…
Post #AohRNEPdxWwghtBG6K by [email protected]
0 likes, 0 repeats
@gwenthekween yeah! So annoying. I learned one, I'm not gonna do the other,…
Post #AohSCGvGO2ERGCJBey by [email protected]
0 likes, 0 repeats
ok. callsites patched. it sounds like a speedrunning trick, so let's see if…
Post #AohSF7EUryC24of24e by [email protected]
0 likes, 0 repeats
my guess? it crashes, but it'll tell me important info in the debugger to s…
Post #AohSgbwimo3V9QSPa4 by [email protected]
0 likes, 0 repeats
good lord, it works perfectly. or maybe it has a minor bug? I can't actuall…
Post #AohSom5OyBegusPUMS by [email protected]
0 likes, 0 repeats
I should inject some debugging to see where clipping rectangles actually are. I…
Post #AohT3XwtoV7pPlTdHU by [email protected]
0 likes, 0 repeats
yeah no, my clipping rectangles are completely buggered, I just didn't noti…
Post #AohT7Bb4rLxHFX0Oe0 by [email protected]
0 likes, 0 repeats
@foone ;)
Post #AohcWfgD35CrNPdJ8C by [email protected]
0 likes, 0 repeats
@foone eternal mood 😅
Post #AohiXZM4eIbDm81gbg by [email protected]
0 likes, 0 repeats
@foone not triangles?
Post #Aoi783SAcSPwRroAUq by [email protected]
0 likes, 0 repeats
@foone Ah, what I remembered was memcpy_s() ! https://en.cppreference.com/w/c/s…
Post #AoiagzTYIVbuuySv7A by [email protected]
0 likes, 0 repeats
@foone This is expected of clipping rectangles...
Post #AoimbV6L05TAiPkutk by [email protected]
0 likes, 0 repeats
@foone currently typing on a Zeppelin46 mechanical keyboard 😤 something some…
Post #AoivRi7Gegsllwb5hg by [email protected]
0 likes, 0 repeats
@foone always one day lateFor once I'd like an ending I can celebrate
Post #AojYiBxXMbojAstaz2 by [email protected]
0 likes, 0 repeats
okay I now can re-manifest the EXE files, using the SDK's Manifest Tool. Th…
Post #AojZ4PZPRJIhl6Cmgq by [email protected]
0 likes, 0 repeats
I could also call a function, but then I'd need to write some code to load …
Post #AojeXpRYoz00AkNf60 by [email protected]
0 likes, 0 repeats
@foone IIRC, if the exe does *not* have an embedded manifest, you can just put …
Post #AoknjPxcU9vnMJw968 by [email protected]
0 likes, 0 repeats
@krono oh interesting
Post #AolAaBQTSAPOcVzzgO by [email protected]
0 likes, 0 repeats
@foone "If possible, you should embed the application manifest as a resour…
Post #AolAuQP7TU1Yrk18JE by [email protected]
0 likes, 0 repeats
@krono Good to know. And that definitely simplifies this: one less way I gotta …
Post #AolB0DltM6YFQKQt96 by [email protected]
0 likes, 0 repeats
@foone Exactly.
Post #AonINlcmkDgr4aGerA by [email protected]
0 likes, 0 repeats
you ever accidentally assemble code for the wrong processor?
Post #AonJRBXiw9e6HR5t56 by [email protected]
0 likes, 0 repeats
ugh. trying to undo that mess has somehow buggered my executable in a really st…
Post #AonJmpooO8hvH3PU24 by [email protected]
0 likes, 0 repeats
it's also now exporting as .exe.bin which is odd.
Post #AonK49K77gIugrJ8IC by [email protected]
0 likes, 0 repeats
@foone closest I got was a compiler making 68020 code when I told it to make 68…
Post #AonKyJHhH7JXngxMwq by [email protected]
0 likes, 0 repeats
hmm. all the previous EXEs are 347kb (except the manifest experiment, which was…
Post #AonL8mVHUgnxJlIsj2 by [email protected]
0 likes, 0 repeats
oh, I needed to export as "original executable" and make sure the che…
Post #AonNU6QWoYaT6ANJDc by [email protected]
0 likes, 0 repeats
Finally this blasted program understands my vision
Post #AonNxeHK2BlWU89pDM by [email protected]
0 likes, 0 repeats
@foone ohhh, yeah, the damn rebuild option. they really need to change that so …
Post #AonP2y85kuV3SDwOK8 by [email protected]
0 likes, 0 repeats
ok so I've moved the FooneClip function into a NASM-compiled file, which is…
Post #AonQMjOgL8gJVZgiR6 by [email protected]
0 likes, 0 repeats
actually... it works at least as well as it did before I started messing with s…
Post #AonRINdpNwPApWGHEu by [email protected]
0 likes, 0 repeats
There's definitely some minor math issue somewhere that's causing the c…
Post #AonTGAoCKGN8MKBgFE by [email protected]
0 likes, 0 repeats
ugh. There was some way to set up your file so that going over a size limit on …
Post #AonTJxtIIP57SBNZJY by [email protected]
0 likes, 0 repeats
because when I'm assembling code to fit into a small hole, I need it to fai…
Post #AonTgAMGchquUVW8Vk by [email protected]
0 likes, 0 repeats
actually that was long enough ago that I'm not sure it was even this assemb…
Post #AonTjxbdycmk6FWEbY by [email protected]
0 likes, 0 repeats
maybe when I write my eventual "import this binary function into ghidra wi…
Post #AonVeidgOeNk8m6KWW by [email protected]
0 likes, 1 repeats
@foone This thread is gold. Thank you!
Post #AonWYUSEK1u6MdL0lM by [email protected]
0 likes, 0 repeats
@foone does it say “made for Pentium Pro” on the box art?
Post #AonXzaJMkn4sInfvs0 by [email protected]
0 likes, 0 repeats
%local mouse_x:dword, mouse_y:wdord I don't know why this code isn't wo…
Post #Aona3B6ScQKfBfTpZo by [email protected]
0 likes, 0 repeats
@weargoggles no, but the Pentium I'm gonna test it on DOES have the FDIV bu…
Post #Aons1eIGut0aJdQQYS by [email protected]
0 likes, 0 repeats
I wrote some silly NASM macros so now my ASM files don't compile to flat bi…
Post #Aop4OYN2UvL3DKIrWS by [email protected]
0 likes, 0 repeats
%local mouse_x:dword, mouse_y:dword ; Get the current cursor positionLEA …
Post #Aop4S4dYzK5W9hi8Xo by [email protected]
0 likes, 0 repeats
EAX is 32bit. EBP is 32bit. mouse_x is a DWORD, whichi s 32bit. I'm trying …
Post #Aop4w1v9eSYYQ1DuHQ by [email protected]
0 likes, 0 repeats
@fooneDoes it still complain if the instruction is a literal LEA EAX, [ EBP + -…
Post #Aop4w21tFPwakuNHmK by [email protected]
0 likes, 0 repeats
@0xCYR Nope! that was the code beforehand, but now I'm trying to get the as…
Post #Aop5JItchhjjj8bYjQ by [email protected]
0 likes, 0 repeats
oh, it's because it's trying to be even more handy than I thoughtI need…
Post #Aop9H8Xed6h2qpYEbo by [email protected]
0 likes, 0 repeats
@foone It looks like you're poking down a rabbit hole I've been down be…
Post #AopCAUptdqavpZbosy by [email protected]
0 likes, 0 repeats
@foone should work just fine on 32 bit. Though the size of mouse x would be irr…
Post #AopCGH8jTcNZ5fAuwq by [email protected]
0 likes, 0 repeats
@foone nasm is quite good at computing the needed sizes based off the destinati…
Post #AopCYVcEOXOxCNfQoK by [email protected]
0 likes, 0 repeats
@foone if you're wanting the value stored you'll be wanting a mov not a…
Post #AopDNFtMcAP7CXsXI0 by [email protected]
0 likes, 0 repeats
somehow I overwrote FooneBlit with FooneClip. A completely different function! …
Post #AopDTCYBx1ioZjoL1E by [email protected]
0 likes, 0 repeats
and I can't really compare what the output is, because my IPS hack means th…
Post #AopDbYLKoJDwTrmNtY by [email protected]
0 likes, 0 repeats
crap, it's because I mixed up FooneBlit and FooneClip. But it's also a …
Post #AopEOA0I5nFzBP78Xg by [email protected]
0 likes, 0 repeats
@ChartreuseK DWORD I think you mean, it's always mad at me for using DWORD …
Post #AopETU7oi1MD2JAo5Y by [email protected]
0 likes, 0 repeats
@ChartreuseK yeah I did want the address, because I'm about to call GetCurs…
Post #AopEungQ6HzHVtNqZU by [email protected]
0 likes, 0 repeats
Done. It's MakeIPSPatch FooneBlit*code here*EndIPSnow. I just stuck a %assi…
Post #AopJ6yeNYC72opUUQy by [email protected]
0 likes, 0 repeats
@foone Quack quack. :]
Post #AopKijZc9cJv17pWCW by [email protected]
0 likes, 0 repeats
hmm. I'm trying to do macros for individual instructions and it's trick…
Post #AopMDvbVZh1PGD9cLA by [email protected]
0 likes, 0 repeats
I could do it like this:IPSSmallPatch 0x00406aa0, EndSizeCALL FooneClipEndSize:…
Post #Aorf0qBogGxK9HWuZs by [email protected]
0 likes, 0 repeats
I thought about writing a tool that modifies the EXE at runtime, and it just ha…
Post #AorfQegI5k1Zz85qDI by [email protected]
0 likes, 0 repeats
I might invert it, write my own DSL? Maybe just a fancy python file that's …
Post #AorfYAdZg4jz7ePFg0 by [email protected]
0 likes, 0 repeats
I'm basically going to make the computer do all the effort of if I actually…
Post #AorfawaKNeLKPOD5Um by [email protected]
0 likes, 0 repeats
but at the same time, keeping the patch file simple for what I have to write. l…
Post #AorfmSP0QNX6H2P7ya by [email protected]
0 likes, 0 repeats
although most of that is just because of how I do the IPS stuff inline, which m…
Post #AorfrTmUj271zwmmGW by [email protected]
0 likes, 0 repeats
I should probably be thinking about if I want to patch the other win32 versions…
Post #AorftyJSBFyrGlOH1E by [email protected]
0 likes, 0 repeats
but I don't think I'm gonna do that for now. I can always come back to …
Post #AoriVkIAxObohJvsXY by [email protected]
0 likes, 0 repeats
@foone I implemented something like this and ended up doing it pretty much that…
Post #AormxsfrmlxocSgXJo by [email protected]
0 likes, 0 repeats
@foone I finally made it back to the beginning of this thread! For a while, I w…
Post #AoronRKMnzPAojmHqK by [email protected]
0 likes, 0 repeats
@foone 😂
Post #AorpKn1l99I3fsycwy by [email protected]
0 likes, 0 repeats
@foone I avoided that game when I was younger, because I twigged pretty early o…
Post #AorpbxCsYMOYAUMX0C by [email protected]
0 likes, 0 repeats
@foone I sometimes wish that in Australia, Oregon Trail was more popular, so I …
Post #AorqSexd7bzAvYMUwi by [email protected]
0 likes, 0 repeats
@foone 😯
Post #AorqiGketmmKTdjo7U by [email protected]
0 likes, 0 repeats
@foone 😖
Post #AorsD4OH0TnZ4TWB5E by [email protected]
0 likes, 0 repeats
@foone Pascal calling conventions are the opposite of C, aren't they? Pasca…
Post #AorsLtB449FatuXqwC by [email protected]
0 likes, 0 repeats
@foone That sounds great!
Post #AosmU4zFdZkPHEVABc by [email protected]
0 likes, 0 repeats
@amca heh. nah, I'm a pope, not a god.
Post #Aot8PF6gmYGgCu4z6u by [email protected]
0 likes, 0 repeats
So I've clearly found where the sprite is but at the same time I clear have…
Post #AotAkDEx7LOGPJ4Uq0 by [email protected]
0 likes, 0 repeats
@foone I LOVED Gizmos and Gadgets when I was a kid!!! This is a fun project to …
Post #AotJ8Blv1l12R8R1yi by [email protected]
0 likes, 0 repeats
@foone RLE? Restart markers? Compression? Weird alpha channel? Probably none of…
Post #AotNaFL7ktbtQXXJVg by [email protected]
0 likes, 0 repeats
@websterleone doesn't seem to be RLE or compression, since there's a lo…
Post #AotNdEKpwmIvBDpCFM by [email protected]
0 likes, 0 repeats
huh. I loaded the correct palette and the image colors aren't right.are the…
Post #AotNw84NSxWJFZ8bJ2 by [email protected]
0 likes, 0 repeats
@foone Yeah, my assumption was on like a "adds bits that define it but bas…
Post #AotYRO5Cyg5NQw4PTM by [email protected]
0 likes, 0 repeats
okay I confirmed something fun: The Windows 3.x version uses the same data file…
Post #AotYydIxP8h4CPLzXc by [email protected]
0 likes, 0 repeats
DOS version reports version 1.0, 1993. win 3.1: version 1.1, 95-96. win9x says …
Post #AotbzK9yN0AYyTAl3A by [email protected]
0 likes, 0 repeats
and the mac version says it's version 1.0, 1995.
Post #AotchgJzKqBORt0aSO by [email protected]
0 likes, 0 repeats
mmm, I looked at the palette info and it seems it's different for mac. At l…
Post #AotctBkCqVo55fl5oO by [email protected]
0 likes, 0 repeats
Compiled with Think C! a 1991 version.
Post #AotdO1JNgUQTi9ufS4 by [email protected]
0 likes, 0 repeats
the mac version has resources calling it version 1.03 internally though
Post #AotlVWaQbPeoMwyZWq by [email protected]
0 likes, 0 repeats
@foone I remember a bit of software like that, a payroll reporting program one …
Post #AotqgCv6YtjWKZYp4S by [email protected]
0 likes, 0 repeats
@foone can you find the translator gizmo in Space Quest 1? That bastard ruined …
Post #Aotv5ITZRSPGcOtuu8 by [email protected]
0 likes, 0 repeats
wait, if borland turbo c can compile code that deals with these DAT files as re…
Post #AotyLPR1dV4UhH5KAy by [email protected]
0 likes, 0 repeats
@foone but where's the type 3 fun in that approach?
Post #ApCgJjn2sWQe4ofzyi by [email protected]
0 likes, 0 repeats
I took another look at the DOS datafiles. no ASEQ so they are using a completel…
Post #ApCgN5FvWdWjWKmUEa by [email protected]
0 likes, 0 repeats
there's gizmo000.dat through gizmo004.dat but while the first dats are the …
Post #ApCgX9VQZwhDb6pg1o by [email protected]
0 likes, 0 repeats
the entropy of the other DAT files seems high enough that I think it's comp…
Post #ApE7l3sfBKoA7rW9Wi by [email protected]
0 likes, 0 repeats
back on the win32 version. trying to get my patches to apply
Post #ApE84Ju1pvM1JrL6QK by [email protected]
0 likes, 0 repeats
oh duh. I'm trying to patch in-RAM locations, not on-disk locations! those …
Post #ApEHdnUmhahUp4WVdo by [email protected]
0 likes, 0 repeats
and in fixing that, I broke it. I can't just translate them all to exe-loca…
Post #ApEHqZgtL4yflyHMTA by [email protected]
0 likes, 0 repeats
I've noticed a pattern: whenever a function in this game crashes, the funct…
Post #ApEIgubmoS13hpqbWy by [email protected]
0 likes, 0 repeats
it has been zero days since I destroyed my frame pointer by passing the wrong p…
Post #ApEJdXfLkvihdWTHFY by [email protected]
0 likes, 0 repeats
@foone 11 years and counting. Yes, I used the trivial solution.
Post #ApEKMQbgqdP0m5A9QG by [email protected]
0 likes, 0 repeats
arg. the game calculates where to put the in-game view based on where the windo…
Post #ApEKQ8G10sj71Sn5ZQ by [email protected]
0 likes, 0 repeats
but yeah, annoying resizing glitches aside, my new auto-patch nonsense is worki…
Post #ApEKTBtZwXfrAtkqye by [email protected]
0 likes, 0 repeats
now I just gotta inject my own code into the windowproc to handle WM_SIZE
Post #ApISuhhHOF7TtFTIzA by [email protected]
0 likes, 1 repeats
@foone
Post #ApjejASEJ6USwfZSYS by [email protected]
0 likes, 0 repeats
@foone https://www.theregister.com/2025/01/03/captcha_doom_nightmare/
You are viewing proxied material from pleroma.anduin.net. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.