Live data from Hacker News

Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

decomp-academy.dev

51–60 of 83 posts

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#51
This was interesting, but actually trying to contribute to decomp.me was still really hard! I found a lot of code that seemed perfect except for instructions slightly out of order, or dead pop statements after the logical end of the function. I wasn't able to actually fix anything :(

Also, I wish there were a guide about how to start from nothing on a new GC game. That's more interesting to me than putting the finishing polish on a decomp project that already "works" functionally.

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#52

This is cool as hell. On the first lesson, it tells me there's a target on "the right". There isn't anything to the right, I've in clue where to look.

Are you on mobile? You'll need to switch to the code/review tab to see. I think mobile support is a bit funky, I'll look at fixing that as soon as I can!

I switched to desktop view, still couldn't tell where I was supposed to be looking.

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#54

Dumb question about reverse engineering binaries: is there a way to only do it piecemeal? I'm eventually waiting for LLMs and harnesses to get good enough to reverse engineer BFME (old Lord of the Rings game that still has an active modding community), but it's a multi GB sized game that would have to be done in bite-sized pieces. Basically; can you reverse engineer in bite sized pieces, and recompile/customize their…

Yes, quite easily. It requires some setup, but the basic idea is that you create a DLL and a simple loader program which injects it into your target process. You can then use a hooking library like MinHook to replace individual functions with your own implementations. If the target application is in C++, you can additionally do vtable hooking and replace functions even easier (though it will always be a combination o…

There’s also fun stuff like VEH hooking and SLAT hooking, though SLAT hooks are not very useful in this case.

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#56
That's awesome! I have been playing with the idea of doing a Tales of Symphonia decomp. More than 10 years ago I started the high-res texture pack, which the community has now carried further than I ever did. But it would be totally awesome to be able to mod the game further and run it on other consoles without the godawful framerate downgrade.

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#57

> If even 1 instruction or bit is off, that's a fail. Does this assume having access to the exact version of the compiler use, or can it be done with a different compiler in practice? And do you care about things like binary layout, or just instruction match? (Does that ever matter in practice?)

Yes, exact version of the original compiler is required.

Generally bit-for-bit equivalence to the original executable is expected. However I think for some cases where the original executable included debug info (eg. PS2 ELFs) then the unused-at-runtime sections need not match.

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#58

I like decomp, but it makes me nervous. Like how safe is it to decompile a game and publish it to like github with all the symbols, addresses, etc..

Quite safe in practice, even Nintendo games have had no issues. GTA 3 / Vice City decompilers did get sued though, but IIRC mainly because they did not comply with DMCA requests at all.

Re: Show HN: Decomp Academy – Learn to decompile GameCube games into matching C

#59
post #45

Love the idea! Assembly has been on my forever-list to eventually learn. I have worked through the warmup exercises, but I doubt I'll have the time to continue much past that. A few points of note: - Not a fan of the purple theme, it screams "AI-generated". It's not a deal breaker, you can keep it if you have more important concerns, but just something to point out - It would be nice to have a "Chapter 0" for a prime…

The purple theme seems fine and appropriate to me, given the GameCube’s color scheme - and some of the site feels almost Slippi-esque so there’s a bit of that angle too.
Post reply on HN