maybe I'd be better at getting back into my reverse engineering projects if getting back into them didn't involve first figuring out which of the 13 Ghidra versions I have installed is for that project
Conversation
Notices
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:31 JST
Alice Averlong🏳️⚧️
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:15 JST
Alice Averlong🏳️⚧️
@clayote and I keep my gender on a floppy disk!
wait. shit. oh no... this explains a lot.
Puniko ? likes this. -
Embed this notice
clayote (clayote@peoplemaking.games)'s status on Sunday, 01-Sep-2024 16:10:16 JST
clayote
@foone The relation between gender and a floppy disk is between gender and that floppy disk.
GreenSkyOverMe (Monika) and Puniko ? repeated this. -
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:17 JST
Alice Averlong🏳️⚧️
WFCommonJunction::getProfileGender
MY GENDER IS BETWEEN ME AND GOD, YOU CANNOT KNOW IT, GAME FOR THE NINTENDO WII
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:18 JST
Alice Averlong🏳️⚧️
I think these guys wrote their scripting language so that array types have a declared length, but then neglected to actually tell the script executor about that. it doesn't seem to save that information anywhere or compare it to anything
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:18 JST
Alice Averlong🏳️⚧️
the worst thing about this particular scripting language is that it's compiled to bytecode, but they also have a debug file that includes all the information removed by byte-compiling. So I have variable names and comments and such, right?
but it's in a separate binary format that I can't load. So it's tempting but also useless
GreenSkyOverMe (Monika) repeated this. -
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:19 JST
Alice Averlong🏳️⚧️
oh god
if( fixup_passes>=64 ){
btype_failure = true;
} -
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:19 JST
Alice Averlong🏳️⚧️
SIXTY FOUR FUCKING FIXUP PASSES?
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:20 JST
Alice Averlong🏳️⚧️
oh god. I thought I'd fill out the resolveTypes function of module loading but it turns out it's a five-pass loader that loads data in place
GreenSkyOverMe (Monika) repeated this. -
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:21 JST
Alice Averlong🏳️⚧️
huh. this game has a "SILENCE LOADING ERRORS" flag. there's no way to turn it on, so loading errors will always be reported.
normally games have a verbose/debug flag that devs turn on, not a "be quiet" flag that never gets turned on
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:22 JST
Alice Averlong🏳️⚧️
but because this is all done in an in-place loading style, it's really a pain to understand, so I've not yet been able to write a disassembler
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:22 JST
Alice Averlong🏳️⚧️
it's also a typed VM, so that makes it even more complicated. (Because the types are stored in the executable metadata)
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:24 JST
Alice Averlong🏳️⚧️
especially because it's doing this kind of... in-place relocation thing?
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:24 JST
Alice Averlong🏳️⚧️
like the bytecode will be:
pvm_Call 0, 0
and then the relocations will kick in and that'll turn into:
pvm_Call Vanna.revealTile
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:25 JST
Alice Averlong🏳️⚧️
I'm trying to decode a scripting language for a video game, but the problem it's not just a bytecode file, it's more like an EXE file. It's got multiple sorts of metadata that has to be properly parsed, and linking that needs to be done, and that task is proving to be a little too hard for my tiny brain
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:26 JST
Alice Averlong🏳️⚧️
okay now I can see why may2023!foone got stuck here. this is so fucking complicated.
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:27 JST
Alice Averlong🏳️⚧️
9.2.2 was a vape unit I was trying to run Doom on, Duke Nukem 1 for DOS, and Links386 for DOS
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:27 JST
Alice Averlong🏳️⚧️
ah-ha! It was 10.2.2
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:28 JST
Alice Averlong🏳️⚧️
10.1.4 was an aliexpress single-key-keyboard and some parts of the Borland Graphics Interface
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:28 JST
Alice Averlong🏳️⚧️
10.0.4 was SOLELY for a GBA DBZ game
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:29 JST
Alice Averlong🏳️⚧️
10.1.5 was the DS9 point and click game and a WinCE powered printer
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:30 JST
Alice Averlong🏳️⚧️
10.1 non-beta was Railroad Tycoon and "MyPetChimp", whatever that was.
-
Embed this notice
Alice Averlong🏳️⚧️ (foone@digipres.club)'s status on Sunday, 01-Sep-2024 16:10:31 JST
Alice Averlong🏳️⚧️
okay it's not 10.1-beta, because that one was used to hack on Spyro for the GBA, Excel '95, the Tandy-Memorex VIS BIOS, and the FlashPath kernel driver
-
Embed this notice