Ancestors

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:26

tandy put their sound chip on the 1A interrupt? THE TIME SERVICES?

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:27

I started reverse engineering Where in the World is Carmen Sandiego (Enhanced DOS edition) and I'm trying to find how it generates its random seeds so I search on int 1a and the first thing I find is it's doing TANDY SOUNDS?

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:38

Funny fact: I was trying to get an online assembler to spit out the machine code for "int 1a" but couldn't get it to, so I just went "fuck it, I can probably just do that in my head!"

Turns out I can. My brain is weird.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 06:56

Here's something I didn't know existed until just now: Where in the World is Carmen Sandiego checks your name against the list dossier list and rejects you if you use any of those names.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:01

PRONOUNS DETECTED: THIS GAME IS WOKE

sadly they don't have they/them on here. What about the non-binary criminals, huh?

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:03

stretch goal: hack in at least on enby criminal with appropriate pronouns. maybe I'll just put myself in the game as one of the criminals you can apprehend

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:22

I faked this screenshot but this is what I mean

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 07:30

I think I might be able to do the hack I want by changing one byte.

I'm trying to change it so it has "daily challenges", and I think I can fix that by just switching a INT 1A from subfunction 00 to 04, making it seed the random function with the date instead of the ticks-since-midnight

=> More informations about this toot | More toots from foone@digipres.club

Toot

Written by Foone🏳️‍⚧️ on 2025-01-02 at 08:06

eh, I used 5 bytes. I don't need to impress anyone

=> More informations about this toot | More toots from foone@digipres.club

Descendants

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:52

NORMAL CODE

random(*(byte )(undefined2 *)

                   (*(int *)(*(int *)0x39a6 * 0xe + local_c * 2 + 0x1d02) * 2 +

                   *(int *)(local_c * 2 + 0x24b)) - 1);

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:55

I found another set of pronouns!

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:56

I haven't figured out how this game stores gender, but I'm gonna go out on a limb and say it's like this:

male: 0

female: 4

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 09:59

why? because they have strings like:

char* HE="He\0\0She\0"

char* HIS="His\0Hers\0";

char* HIM="Him\0Her\0";

so they can do like:

printf("Follow %s to %s lair, and capture %s alive!", badguy->name, HIS+badguy->gender, HIM+badguy->gender);

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:00

I like how the game only asks your name, not your gender.

Player's don't have genders. Only thieves have genders.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:01

It's a prequel to Disco Elysium, and your gender is set to COP

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:33

why does ghidra's "search by instruction pattern" default to BINARY?

what kind of a freak remembers the machine code for INT 21 on x86 in BINARY?

it's CD21h, not 1100110100100001!

what are you, some kind of nerd?

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 11:10

I love reversing a string and it's:

void printString(char* str, int length);

and I go look what calls it, reverse that function, and it's:

void printStringSimple(char *str){

printString(str, strlen(str));

}

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 11:11

it's like "aww, did someone have second thoughts about making PRINT always take a length, and got tired of having to manually calculate lengths so you just wrapped it?

and your compiler didn't inline SHIT?

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:20

oh those poor people of Bamako! Someone stole their.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:47

okay so when you start a game (well, technically when you restart), the game rolls 3 dice:

0-31: where the shit was stolen from

0-2: which item it is from that location

0-8: whodunnit

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:53

like if you roll 0 on the first, you get Athens.

For the second one, it's:

0: mask of Priam

1: Achilles's heel

2: sibyl's secret.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 12:55

The last die is used as a lookup table into the dossier's list.

It's got 1 added to it so you won't get Carmen Sandiego, as a rookie at least.

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:23

so the game uses a pattern like this:

char * RANKS="Rookie\0Sleuth\0Private Eye\0Investigator\0Ace Detective\0"

and then latter they do:

char* your_rank = select_string(RANKS, player->rank);

and select_string is a confusing function to reverse engineer, but knowing the name I gave it gives it away: it advances through the list until it's on the nth string and returns it

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:23

there is no check for going past the end.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:24

so probably it uses the same trick for pronouns. The string I'm seeing is probably like: "He\0Him\0She\0Her\0"

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:32

Ghidra is officially sexist. It'll automatically detect the word "Female" and mark it as a string, but not the word "Male"!

Why? SEXISM!

or the fact the default minimum length for strings is 5 characters, so "female" is long enough but "male" isn't.

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:53

correction: there IS a check for going over the end, it's just not used in every place select_string is called. so it's sometimes-safe

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:08

they have invented a Pronoun Markup Language.

It's \x80 for He/She

It's \x81 for he/she

It's \x82 for his/her

so a string will be "\x80 mentioned \x81 liked seafood and offered me a ride in \x82 motorcycle"

and it'll fill it out based on the pronouns of the suspect

=> More informations about this toot | More toots from foone@digipres.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:11

BOOOOOOOOOOOOO

=> View attached media

=> More informations about this toot | More toots from foone@digipres.club

Written by joël on 2025-01-02 at 10:05

@foone you're french and you're a member of the Gendermarie

=> More informations about this toot | More toots from jollysea@chaos.social

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:12

@jollysea I am definitely a member of the gender army

=> More informations about this toot | More toots from foone@digipres.club

Written by Nathan :ver: :aro: :pride: on 2025-01-02 at 11:20

@foone when i was younger and a lot more naive i used to think old games were all hyper-optimized, artfully crafted code wrote by ancient wizards who would eek out the most of every clock cycle

.... yeah.

=> More informations about this toot | More toots from nathan@e4b4.eu

Written by LAbare on 2025-01-02 at 12:25

@foone If someone stole their, that may be why there's no they/them in the game

=> More informations about this toot | More toots from LAbare@anticapitalist.party

Written by Tim 🎮 on 2025-01-02 at 12:29

@foone stealing their can only be the diabolical work of one Carmen Sandiego

=> More informations about this toot | More toots from timixretroplays@digipres.club

Written by Siph :siph:‍:bzh: on 2025-01-02 at 13:33

@foone clearly it believes that only women exist

=> More informations about this toot | More toots from Siph@meemu.org

Written by myrmepropagandist on 2025-01-02 at 13:34

@foone

But aren't then "fellows" then a string and "gals" are not?

=> More informations about this toot | More toots from futurebird@sauropods.win

Written by Adriano on 2025-01-02 at 13:35

@futurebird @foone "good" and "evil" aren't strings either. This just got metaphysical.

=> More informations about this toot | More toots from adriano@lile.cl

Written by Adriano on 2025-01-02 at 13:35

@futurebird @foone heck, "text" is not a string.

=> More informations about this toot | More toots from adriano@lile.cl

Written by Renalia on 2025-01-02 at 13:37

@foone heruururhg the "male" isn't long enough heeuehehehehe ¬w¬

=> More informations about this toot | More toots from Nine@chitter.xyz

Written by punIssuer on 2025-01-02 at 13:48

@foone would that mean English is sexist? Because in German, both "männlich" (male) and "weiblich" (female) would match, but neither "Mann" nor "Frau" (man/woman)

=> More informations about this toot | More toots from punissuer@universeodon.com

Written by Foone🏳️‍⚧️ on 2025-01-02 at 14:09

@punissuer exactly! it's all english's fault.

=> More informations about this toot | More toots from foone@digipres.club

Written by punIssuer on 2025-01-02 at 14:23

@foone it's English all the way down

https://www.reddit.com/r/Jokes/comments/3ssua0/the_problem_with_speaking_english/

=> More informations about this toot | More toots from punissuer@universeodon.com

Written by Adriano on 2025-01-02 at 13:54

@foone The Best Kind of safe

=> More informations about this toot | More toots from adriano@lile.cl

Written by Ashi Helvetica on 2025-01-02 at 14:10

@foone why am I now imagining a very overengineered W3C candidate recommendation for pronoun markup using XML or something because it’s always XML

=> More informations about this toot | More toots from captainhayashi@toot.cat

Written by curtmack on 2025-01-02 at 14:27

@foone There's a very obvious problem here, and I know we're all thinking it, so I'm just going to come out and say it.

There's no capitalized His/Her option!! Now there's no way they could write the sentence "[His/Her] pet cat loves fugu," and the list of available hints pointing you to Japan is duller for it.

=> More informations about this toot | More toots from curtmack@floss.social

Written by kate on 2025-01-02 at 14:12

@foone ah yes the sometimes lifeboat

=> More informations about this toot | More toots from kate@federatedfandom.net

Written by marnanel on 2025-01-05 at 13:04

@kate @foone "and, in the end, after all, aren't all lifeboats sometimes lifeboats?"

=> More informations about this toot | More toots from marnanel@queer.party

Written by mmu_man on 2025-01-02 at 15:55

@foone which is odd because caring about length is usually a male prerogative…

=> More informations about this toot | More toots from mmu_man@m.g3l.org

Written by Gwen, the kween fops :neofox_flag_trans: :sheher: on 2025-01-02 at 13:39

@foone@digipres.club You just made the funniest typo this year (so far at least). It doesn't detract in any way from the quality of your posting, but my brain is amused to think of the logical conclusion to a world where that wasn't a typo:

Because of a missing 0, makes it sound like the game has the pronouns: "he", "him/she", "her". meaning either you're bigender, or you have an incomplete set of pronouns

=> More informations about this toot | More toots from gwenthekween@kitsunes.club

Written by Foone🏳️‍⚧️ on 2025-01-02 at 13:54

@gwenthekween hah, whoops

=> More informations about this toot | More toots from foone@digipres.club

Written by teacher ciat 🔅 // 🕛〰️🕛💫 on 2025-01-02 at 13:26

@foone gonna make a "Foone posts that sound deep and menacingly existential" account and become more known than Jesus in two weeks

=> More informations about this toot | More toots from ciatmusings@raru.re

Written by Ozzelot :anarchy: :linux: on 2025-01-02 at 13:26

@foone You may therefore reach secret ranks, like Modern Major General, or ŸŸŸŸŸŸŸŸ.

=> More informations about this toot | More toots from ozzelot@mstdn.social

Written by Pete Alex Harris🦡🕸️🌲/∞🪐∫ on 2025-01-02 at 13:37

@foone

Old school. Never check for an error condition if you don't know what to do about it.

=> More informations about this toot | More toots from petealexharris@mastodon.scot

Written by Charlotte 🦝 :therian: on 2025-01-02 at 11:26

@foone finally the O(2N) string printing function

=> More informations about this toot | More toots from charlotte@akko.chir.rs

Written by Chartreuse on 2025-01-03 at 14:07

@foone clearly we need the compromise of octal. 315 061

=> More informations about this toot | More toots from ChartreuseK@restless.systems

Written by Foone🏳️‍⚧️ on 2025-01-03 at 14:26

@ChartreuseK not even supported by this ghidra dialog. Binary or hex are the only options.

And note the weird part where it's "search by instruction pattern" but typing in instructions isn't possible.

You need the machine code for int 21h, not just "int 21h"

=> More informations about this toot | More toots from foone@digipres.club

Written by Kathryn Karnage on 2025-01-02 at 10:58

@foone ACAB. Assigned Cop At Birth. (Which is how I always read that acronym before remembering what it should read...)

=> More informations about this toot | More toots from KateKarnage@mastodon.me.uk

Written by Ozzelot :anarchy: :linux: on 2025-01-02 at 10:02

@foone Having a gender is NPC behavior

=> More informations about this toot | More toots from ozzelot@mstdn.social

Written by snowy Ske-lil-ton ❄️ on 2025-01-02 at 10:07

@foone those thieves are pretty good if they stole all the genders!

=> More informations about this toot | More toots from Larymir@chaos.social

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:09

@Larymir When no one was looking, Foone took forty genders. She took 40 genders.

And that's terrible.

=> More informations about this toot | More toots from foone@digipres.club

Written by A Republic, while we kept it on 2025-01-02 at 13:15

@foone Unlike Leather Goddesses of Phobos, where that’s the first thing the game asks.

=> More informations about this toot | More toots from arensb@mastodon.social

Written by Lydia Trivia on 2025-01-02 at 10:18

@foone so it also supports e/im/is, he/er/er, e/r/r and no pronouns as genders 1, 5 and 3/6?

=> More informations about this toot | More toots from lydiafacts@chaos.social

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:19

@lydiafacts technically yes! as well as large number of neopronouns used by indexing into other strings, possibly? it might be only one byte, which limits how far you can address

=> More informations about this toot | More toots from foone@digipres.club

Written by Mossfet on 2025-01-02 at 10:23

@foone does this game not use structs??

=> More informations about this toot | More toots from mossfet@solarpunk.moe

Written by Foone🏳️‍⚧️ on 2025-01-02 at 10:37

@mossfet it might! this is just theorizing based on memory layout

=> More informations about this toot | More toots from foone@digipres.club

Written by Mossfet on 2025-01-02 at 10:38

@foone ahhh

=> More informations about this toot | More toots from mossfet@solarpunk.moe

Written by Dillon Pentz on 2025-01-02 at 10:36

@foone Even if you only care about a binary, this still seems bad because you need quite a few pairs. With this setup, this print could very easily produce "Follow NAME to hers lair, and capture her alive!"

=> More informations about this toot | More toots from dillon@cloudisland.nz

Written by A Republic, while we kept it on 2025-01-02 at 20:44

@foone There was a time when I would have thought that extremely clever. These days, I look at that and shake my head at how English-centric it is.

=> More informations about this toot | More toots from arensb@mastodon.social

Written by ROTOPE~1 :yell: on 2025-01-02 at 15:54

@foone ah, the same way that Intel stores privilege levels.

=> More informations about this toot | More toots from rotopenguin@mastodon.social

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113757730995710756
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
783.344027 milliseconds
Gemini-to-HTML Time
29.552002 milliseconds

This content has been proxied by September (3851b).