Post Alb8plsjuap38hNaPg by [email protected] | |
More posts by [email protected] | |
Post #AlXhHGAA3VDGgLy3Ps by [email protected] | |
0 likes, 0 repeats | |
maybe I'd be better at getting back into my reverse engineering projects if… | |
Post #AlXhNeJ3ChcVIbAkFc by [email protected] | |
0 likes, 0 repeats | |
okay it's not 10.1-beta, because that one was used to hack on Spyro for the… | |
Post #AlXhWetWO0LZjIWkZE by [email protected] | |
0 likes, 0 repeats | |
10.1 non-beta was Railroad Tycoon and "MyPetChimp", whatever that was. | |
Post #AlXhWhdKCgAqDvyMEq by [email protected] | |
0 likes, 0 repeats | |
10.1.5 was the DS9 point and click game and a WinCE powered printer | |
Post #AlXhnpPYXSBLGlhMDg by [email protected] | |
0 likes, 0 repeats | |
10.1.4 was an aliexpress single-key-keyboard and some parts of the Borland Grap… | |
Post #AlXhns5SactDZJJqoS by [email protected] | |
0 likes, 0 repeats | |
10.0.4 was SOLELY for a GBA DBZ game | |
Post #AlXhvfwfcHRWECvfJA by [email protected] | |
0 likes, 0 repeats | |
@foone There's no upgrade path for projects? ._.(Was thinking of getting ba… | |
Post #AlXiAvPOPGv8WwdRmC by [email protected] | |
0 likes, 0 repeats | |
9.2.2 was a vape unit I was trying to run Doom on, Duke Nukem 1 for DOS, and Li… | |
Post #AlXiN9ZBar91up2yHI by [email protected] | |
0 likes, 0 repeats | |
@cr1901 There is, but the extensions (for console CPUs and such) are tied to th… | |
Post #AlXiNCDfjIia8y0Kf2 by [email protected] | |
0 likes, 0 repeats | |
@cr1901 and I could PRESUMABLY manually build new extension versions myself fro… | |
Post #AlXiNCzsq3HaYUYpo8 by [email protected] | |
0 likes, 0 repeats | |
@cr1901 until I end up with 13 versions installed and it's now a disaster | |
Post #AlXimDlf6uU4BWpsTQ by [email protected] | |
0 likes, 0 repeats | |
@foone Buu's Fury? | |
Post #AlXimDrgkVIwUDegro by [email protected] | |
0 likes, 0 repeats | |
@endrift I think it was Dragon Ball Z: The Legacy of Goku II | |
Post #AlXisAD1Fr1gswSvCq by [email protected] | |
0 likes, 0 repeats | |
@overanalytcl I explain here:https://digipres.club/@foone/113059464273865702 | |
Post #AlXj3Zf8xWbt0u3rhQ by [email protected] | |
0 likes, 0 repeats | |
ah-ha! It was 10.2.2 | |
Post #AlXjDrgcnkspoFf3aK by [email protected] | |
0 likes, 0 repeats | |
@foone Good to know your user experience so that I may adjust mine accordingly.… | |
Post #AlXjco9T54Ys5P2vBI by [email protected] | |
0 likes, 0 repeats | |
@foone please tell me the printer could run Pocket Office, hopefully by printin… | |
Post #AlXjjeXZDJluIva9bs by [email protected] | |
0 likes, 0 repeats | |
@[email protected] Have you ever played doom on a normal device? do you even … | |
Post #AlXjjedaquambcOy0G by [email protected] | |
0 likes, 0 repeats | |
@nex yeah I've played it on DOS computers! that's relatively normal, if… | |
Post #AlXjs9Uc19XgcNFjfc by [email protected] | |
0 likes, 0 repeats | |
@cr1901 yeah, they're java. | |
Post #AlXkLjTzHqm0dX48Js by [email protected] | |
0 likes, 0 repeats | |
okay now I can see why may2023!foone got stuck here. this is so fucking complic… | |
Post #AlXkc3iVp9hk1de1Sa by [email protected] | |
0 likes, 0 repeats | |
I'm trying to decode a scripting language for a video game, but the problem… | |
Post #AlXkc6MzxbHIFmbNqK by [email protected] | |
0 likes, 0 repeats | |
especially because it's doing this kind of... in-place relocation thing? | |
Post #AlXkc79Z327sgPKAXg by [email protected] | |
0 likes, 0 repeats | |
like the bytecode will be:pvm_Call 0, 0and then the relocations will kick in an… | |
Post #AlXkc7wU79G388DEnI by [email protected] | |
0 likes, 0 repeats | |
but because this is all done in an in-place loading style, it's really a pa… | |
Post #AlXkc8iLFDXTWYbSO8 by [email protected] | |
0 likes, 0 repeats | |
it's also a typed VM, so that makes it even more complicated. (Because the … | |
Post #AlXlRbsGaUVwjOmwNc by [email protected] | |
0 likes, 0 repeats | |
@overanalytcl @cr1901 Yes. unless you also had an extension that only worked on… | |
Post #AlXm3dNHSSoKO8QUSG by [email protected] | |
0 likes, 0 repeats | |
@foone heh, this sounds like .NET | |
Post #AlXmDlflSck71Ju7SC by [email protected] | |
0 likes, 0 repeats | |
@gsuberland yeah, but the weird thing is that .net is a whole professional prog… | |
Post #AlXmV2oeyVEB73IqVk by [email protected] | |
0 likes, 0 repeats | |
@foone yeah, certainly seems like they put a ton of effort into it. any evidenc… | |
Post #AlXmzDEApUl25hccts by [email protected] | |
0 likes, 0 repeats | |
huh. this game has a "SILENCE LOADING ERRORS" flag. there's no wa… | |
Post #AlXn6JhTABdEByiEeO by [email protected] | |
0 likes, 0 repeats | |
@gsuberland Nope. All I can tell is that it's in-house, but they seem to ha… | |
Post #AlXnGS5GqZoj5eg6wC by [email protected] | |
0 likes, 0 repeats | |
@foone Terse flag! | |
Post #AlXnOwW3aLmdn3FviS by [email protected] | |
0 likes, 0 repeats | |
oh god. I thought I'd fill out the resolveTypes function of module loading … | |
Post #AlXpSQNVDPMLBO2hjU by [email protected] | |
0 likes, 0 repeats | |
oh godif( fixup_passes>=64 ){ btype_failure = true; } | |
Post #AlXphKSlUQarBHbxDc by [email protected] | |
0 likes, 0 repeats | |
SIXTY FOUR FUCKING FIXUP PASSES? | |
Post #AlXqGZWBVUcM0d12P2 by [email protected] | |
0 likes, 0 repeats | |
@foone I'm sorry, what the fuck? | |
Post #AlXs43Xwkb15Hh02m8 by [email protected] | |
0 likes, 0 repeats | |
I think these guys wrote their scripting language so that array types have a de… | |
Post #AlXsGGHTEMdKFo74gy by [email protected] | |
0 likes, 0 repeats | |
the worst thing about this particular scripting language is that it's compi… | |
Post #AlXtf5W8UBqg47NIOm by [email protected] | |
0 likes, 0 repeats | |
@foone I would love to know the rationale behind these design choices. Then I r… | |
Post #AlXtygfiZQRengCbWC by [email protected] | |
0 likes, 0 repeats | |
@foone The HD-rerelease will have 128 fixup passes. | |
Post #AlXtygnA7kOrAlgY7c by [email protected] | |
0 likes, 0 repeats | |
@AT1ST @foone turning a dial taht says "more fixup passes" while star… | |
Post #AlXtygttihmtVepvcW by [email protected] | |
0 likes, 0 repeats | |
@rotopenguin @foone Plot twist: the dial is just the "Spin the Wheel"… | |
Post #AlXtygzvMIbloLek0u by [email protected] | |
0 likes, 0 repeats | |
@AT1ST @rotopenguin the funny thing is that you're not that far off.I'm… | |
Post #AlXu137Q5JM2zsHmy0 by [email protected] | |
0 likes, 0 repeats | |
WFCommonJunction::getProfileGenderMY GENDER IS BETWEEN ME AND GOD, YOU CANNOT K… | |
Post #AlXuIRWWbJxtbuK3lI by [email protected] | |
0 likes, 0 repeats | |
this game has been out for 14 years and no one has figured out the cheat codes … | |
Post #AlXuTIHvHLAa9VfOwC by [email protected] | |
0 likes, 0 repeats | |
@foone The relation between gender and a floppy disk is between gender and that… | |
Post #AlXui3hPnmEpFXdBCq by [email protected] | |
0 likes, 1 repeats | |
@clayote and I keep my gender on a floppy disk! wait. shit. oh no... this expla… | |
Post #AlXvAxnOpVnfL2DGKG by [email protected] | |
0 likes, 0 repeats | |
@foone why are all these ghidra versions not interchangeable? | |
Post #AlXvfentUXvPPe51nc by [email protected] | |
0 likes, 0 repeats | |
@foone lol nvm. I finally read to the relevant parts of the thread. https://dig… | |
Post #AlXvfeud5VJRkXEPIW by [email protected] | |
0 likes, 0 repeats | |
@davejmurphy Ghidra just refuses to load incorrect-version extensions, even if … | |
Post #AlXvt3ErxCfqxf5I4u by [email protected] | |
0 likes, 0 repeats | |
@foone @rotopenguin Is this the one with that one anime avatar image in the bun… | |
Post #AlXvt3MJVWd3KkZEgK by [email protected] | |
0 likes, 0 repeats | |
@AT1ST @rotopenguin different one! no incest anime here. | |
Post #AlXw44wlwYcRRbsUpk by [email protected] | |
0 likes, 0 repeats | |
I think I officially did too much Rust programming. I'm back on my home tur… | |
Post #AlXxUyzsH0EalPinvU by [email protected] | |
0 likes, 0 repeats | |
@foone Just switch to Python 3.10 or later? Which has a match expression? https… | |
Post #AlXxc8snuqObS3pQY4 by [email protected] | |
0 likes, 0 repeats | |
@clayote probably should do that yeah. | |
Post #AlXyD58EpDQ4X4f5XM by [email protected] | |
0 likes, 0 repeats | |
okay it kind of does relocation backwards. my understanding is that the way thi… | |
Post #AlXyLixSdVHSMrk39c by [email protected] | |
0 likes, 0 repeats | |
this instead steps through the entire code looking for specific bytecode opcode… | |
Post #AlXzeY8NCgSSFoO1Me by [email protected] | |
0 likes, 0 repeats | |
I'd love to do more logging on what the game is actually doing at runtime, … | |
Post #AlXzoBb3qr8HFfOrSq by [email protected] | |
0 likes, 0 repeats | |
plus the debug logging capabilities of the emulator are abysmal | |
Post #AlY0aXP05AqOmQoYtM by [email protected] | |
0 likes, 0 repeats | |
oh godplease tell me you fools didn't design a bytecode VM with DELAY SLOTS | |
Post #AlY1C1GrzfDk8Csss4 by [email protected] | |
0 likes, 0 repeats | |
@foone wat | |
Post #AlY1TakzJNNR6yLoVU by [email protected] | |
0 likes, 0 repeats | |
ahh, it uses a 24bit addressing scheme. nice. | |
Post #AlY1dYSahnrkssUqdE by [email protected] | |
0 likes, 0 repeats | |
or rather, it's an encoding scheme where they tag their pointers. and if th… | |
Post #AlY1xTqNZvi4MI7mfg by [email protected] | |
0 likes, 0 repeats | |
so this resolveRefs function iterates through all the code and it sometimes set… | |
Post #AlY26ji3xW7OAieFOq by [email protected] | |
0 likes, 0 repeats | |
so, this specific bytecode looks like this:pvm_PushConstant 0 and you might thi… | |
Post #AlY2I8NyYR8Zt9ggkK by [email protected] | |
0 likes, 0 repeats | |
@foone Ah delay slots, the most annoying feature of RISC designs to be exposed … | |
Post #AlY35wEW0mPCg30jiq by [email protected] | |
0 likes, 0 repeats | |
@foone This is important in case the value of 0 ever changes | |
Post #AlY4FqOafbKXQG0jLs by [email protected] | |
0 likes, 0 repeats | |
@foone I've always been of the opinion that the death penalty for pointer t… | |
Post #AlY4yevGAo6Ms2f2xM by [email protected] | |
0 likes, 0 repeats | |
for (iVar2 = 0; iVar2 < (int)(uint)*(ushort *)(((uint)((PVOpCode *)pdata + 4… | |
Post #AlY5CqQWCKOMbX2vDM by [email protected] | |
0 likes, 0 repeats | |
You know you've got a great decompiler when it's way easier to figure o… | |
Post #AlY5Qq866DPJjl6T0i by [email protected] | |
0 likes, 0 repeats | |
@foone https://types.pl/users/ionchy/statuses/112754152834331137 | |
Post #AlY5mWWLgXO5IAmoPA by [email protected] | |
0 likes, 0 repeats | |
@foone Yo, I heard you like numbers, so I cast your number to a number and cast… | |
Post #AlY6cLBt3T81D8vL5U by [email protected] | |
0 likes, 0 repeats | |
okay I got most of the relocation step finished. I haven't managed the swit… | |
Post #AlY6pNDapOanGPw6vQ by [email protected] | |
0 likes, 0 repeats | |
@foone «I mean, yes, but actually no» | |
Post #AlY7ndkkTsynv8BLI8 by [email protected] | |
0 likes, 0 repeats | |
@foone "The plot is mediocre, but the cast is spectacular" | |
Post #AlY9JqiZuerbLr5aLI by [email protected] | |
0 likes, 0 repeats | |
@foone Railroad Tycoon? Anything interesting in there? (3 remains one if my fav… | |
Post #AlYCKHvL3uE5aixUWW by [email protected] | |
0 likes, 0 repeats | |
@foone this. Well there's now a match statement in python, but it's mor… | |
Post #AlYSanoDsbZsNiWiUi by [email protected] | |
0 likes, 0 repeats | |
@foone is this. is this wheel of fortune | |
Post #AlYZylw7C36nCcaws4 by [email protected] | |
0 likes, 0 repeats | |
@foone Is `fixup_passes` a 6-bit variable, though | |
Post #AlYgZHe7NGAPhMyDE8 by [email protected] | |
0 likes, 0 repeats | |
@foone @clayote my gender is largely factory spec but there's a big screwdr… | |
Post #AlYjJF2vZXugrecJIe by [email protected] | |
0 likes, 0 repeats | |
@foone @clayote If you put magnets on it.. Could be interesting.. | |
Post #AlYqcXoqhN9QGjBPo8 by [email protected] | |
0 likes, 0 repeats | |
@petrapup yes | |
Post #AlYqmZccqmxGkwFR6u by [email protected] | |
0 likes, 0 repeats | |
@foone uh oh, I bet the original implementation was recursive and they blew the… | |
Post #AlYvBc4FILMzOfMWMC by [email protected] | |
0 likes, 0 repeats | |
@foone Reminds me of a game I was looking at which used a virtual filesystem wi… | |
Post #AlYy01FS9CEJsgleXw by [email protected] | |
0 likes, 0 repeats | |
@misty yikes. | |
Post #AlZ3iID6wWZj07bQu0 by [email protected] | |
0 likes, 0 repeats | |
@foone @misty A Professor teaching software engineering, or maybe anthropology,… | |
Post #AlZAqtkvvtalRTTPt2 by [email protected] | |
0 likes, 0 repeats | |
@foone lol, I don’t use Ghidra much for a variety of reasons but a friend onc… | |
Post #AlZKciexOJtsVyYVqS by [email protected] | |
0 likes, 0 repeats | |
@foone apparently glitch genders are a thing in some games | |
Post #AlZKcikd3ERAnZD2ga by [email protected] | |
0 likes, 0 repeats | |
@f00fc7c8 and some people! | |
Post #AlZKhEMBU3FrypvTSS by [email protected] | |
0 likes, 0 repeats | |
@blackBoxRE oooooh | |
Post #AlZOi9dqtoPFSlt08O by [email protected] | |
0 likes, 0 repeats | |
@foone @clayote Spotted your problem: that little tab is down in the left upper… | |
Post #AlZwlrqWOyTjs2koy0 by [email protected] | |
0 likes, 0 repeats | |
the fixup of the switchtable is unrolled.now, I'm looking at disassembly, … | |
Post #AlZy0LaAjv0w6XZiq0 by [email protected] | |
0 likes, 0 repeats | |
I can't figure out whatever this shit is doing. | |
Post #AlZyEMX20TqX6Rmz5c by [email protected] | |
0 likes, 0 repeats | |
pdata points to the beginning of the instruction, which looks like this:6E 7F 7… | |
Post #AlZySM52TxCnkzMsy0 by [email protected] | |
0 likes, 0 repeats | |
but the next time it gets called, it's:6E 7F 7F 00 44 00 04 02 00 00 00 00 … | |
Post #AlZyZpvVudHqLoTpXU by [email protected] | |
0 likes, 0 repeats | |
ugh I think the thing that's weird here is the &0xfffffffcIt's doin… | |
Post #AlZyjn4jMuGoP4XP4C by [email protected] | |
0 likes, 0 repeats | |
@foone is it using useless_boolean to check if the loop is run at all? | |
Post #AlZyraZxiHF5xnrfIu by [email protected] | |
0 likes, 0 repeats | |
and that first bit of code is at 0x70, which is a multiple of 4, so 0x70+4 just… | |
Post #AlZz6I150jEajiYgYC by [email protected] | |
0 likes, 0 repeats | |
so this is a bytecode that has variable padding in order to align to 4 bytes. u… | |
Post #AlZzJrXmES62gfKAm8 by [email protected] | |
0 likes, 0 repeats | |
@nickzoic useless_boolean is never checked at any point | |
Post #AlZzTDSA8uEPFD9sY4 by [email protected] | |
0 likes, 0 repeats | |
@foone as countless historians have said, we believe this was done for ritualis… | |
Post #AlZzaELTDyLc2QNB0i by [email protected] | |
0 likes, 0 repeats | |
@foone We call that a pseudoregister. #mips | |
Post #AlZzfiYgJuwBBrAWo4 by [email protected] | |
0 likes, 0 repeats | |
@foone Python switched to everything-is-2-byte bytecode in 3.6. And I'm pre… | |
Post #AlZzo8jisHvshGLiUK by [email protected] | |
0 likes, 0 repeats | |
oh, I think I've got what EnterFrame is: It's a way to easily shove mul… | |
Post #Ala003MuermtWWMR28 by [email protected] | |
0 likes, 0 repeats | |
yeah, it ends up looking like:pvm_EnterFrame int, int, bool, GuiAnim | |
Post #Ala0DQHam76oM5FOKm by [email protected] | |
0 likes, 0 repeats | |
@foone @nickzoic The compiler should optimize it away. | |
Post #Ala0MuIeXdKw3eGXce by [email protected] | |
0 likes, 0 repeats | |
okay now I have a disassembler that can only disassemble the relocatable instru… | |
Post #Ala0UUeBnjpUoXxNRY by [email protected] | |
0 likes, 0 repeats | |
@grumpygamer @nickzoic it sure should, but since I'm looking at disassembly… | |
Post #Ala0oCfWM2zAqXyhAu by [email protected] | |
0 likes, 0 repeats | |
@foone wow you need a pvm to run that game | |
Post #Ala0ymvUP9XiC2Ui8m by [email protected] | |
0 likes, 0 repeats | |
@foone `useless_boolean` lol | |
Post #Ala1KXau5bd10qEoqG by [email protected] | |
0 likes, 0 repeats | |
ugh. apparently EnterFrame also adds a frame pointer (somewhere) and then the p… | |
Post #Ala1Pngrfi6GNjXBOS by [email protected] | |
0 likes, 0 repeats | |
Food $200Data $150Rent $800Stacks $3,600Utility $150someone who is good at inte… | |
Post #Ala3Rdp7WkW2GfOwS0 by [email protected] | |
0 likes, 0 repeats | |
@0xSim no | |
Post #Ala3uUGw7NAF2iAP2m by [email protected] | |
0 likes, 0 repeats | |
anyway I'm now at the point where I've written enough of a disassembler… | |
Post #Ala42MkDzOYM0rcgRk by [email protected] | |
0 likes, 0 repeats | |
@athompso I think the answer is "my compiler crashes" | |
Post #Ala4ALXEN1HOZuLnPs by [email protected] | |
0 likes, 0 repeats | |
@foone useless_boolean will detect if the for loop never ran at all, because of… | |
Post #Ala4KH7fd6qln18568 by [email protected] | |
0 likes, 0 repeats | |
@RueNahcMohr useless_boolean is actually never read by any code. thus the "… | |
Post #Ala4khG94otsNdgyie by [email protected] | |
0 likes, 1 repeats | |
@foone .....huh, ok, maybe the author didn't turn out to actually need it i… | |
Post #Ala54eufVhJotXAJ7Y by [email protected] | |
0 likes, 0 repeats | |
@RueNahcMohr yeah! and apparently their compiler didn't warn them about thi… | |
Post #AlaZb3uR6iyIJKQKbg by [email protected] | |
0 likes, 0 repeats | |
@foone This is relatively common, because a bunch of old (mostly, pre-C) machin… | |
Post #AlaZb406ldVaav4rRo by [email protected] | |
0 likes, 0 repeats | |
@riley I know of it in ram addressing, but not so much in files.Though I guess … | |
Post #AlaZkexAkPhNo7HPyi by [email protected] | |
0 likes, 0 repeats | |
@pndc yeah, it's a Wii game, so it's PowerPC. | |
Post #Alaoj2PM4VnDHe9AbA by [email protected] | |
0 likes, 0 repeats | |
@foone @clayote I stored mine in the blockchain and a scammer stole it | |
Post #Alb4ELLDE9LmIFawKm by [email protected] | |
0 likes, 0 repeats | |
@foone @clayote that's okay, can be reformatted! | |
Post #Alb66Rt7CbOYBooeVk by [email protected] | |
0 likes, 0 repeats | |
@foone @clayote Held on with magnets of course :) | |
Post #Alb8plsjuap38hNaPg by [email protected] | |
0 likes, 0 repeats | |
@foone It looks like it's trying to win an obfuscated coding contest. |