Remix.run Logo
Decompiling Xbox games using PDB debug info(i686.me)
84 points by orange_redditor 3 days ago | 11 comments
tomaytotomato 6 hours ago | parent | next [-]

Over the last year I have seen some really nice exploration posts on HN with people poking around on:

- Splinter Cell

- Deus Ex

- Thief

- Civ

This is great work and will help tell the story of how these games were made.

It would be great if all games after a certain period of time were opensourced like some companies are doing:

https://github.com/electronicarts

https://github.com/bobeff/open-source-games?tab=readme-ov-fi...

anonymous908213 5 hours ago | parent | next [-]

> It would be great if all games after a certain period of time were opensourced

I would settle for simple copyright expiration in a reasonable amount of time. 70 years after death of author is so wholly unreasonable. Even though so many IPs are now part of the collective cultural consciousness, people can't explore their creativity using them without threat of getting Nintendo'd (even for non-commercial projects!), and entire generations that grew up experiencing them will be dead and gone by the time they enter public domain. It is a travesty that we impose such heavy shackles on human creativity.

direwolf20 3 hours ago | parent [-]

You can do whatever if you don't get caught doing it

account42 4 hours ago | parent | prev [-]

Software copyright without mandatory source code escrow was always an insanely bad deal for society.

nucleardog 2 hours ago | parent | next [-]

When I look back, seems to me the default was sort of "anything can copy and modify anything" because without additional measures or rules... what's stopping them? We added copyright as a time-limited exclusivity available to the creator to encourage people to create things (knowing they would have time to recoup some of their effort commercially).

With anything else (books or stories, pictures or movies, etc) the ability to modify or extend the work was the default. Copyright was a carve-out in this.

With software it's actually the reverse--the ability to modify or extend the work is _not_ the default. It takes explicit action by the creator to make that reasonable without substantial effort in most cases. We're actually dealing with an entirely different situation here, and providing that exclusivity on top really does seem like a bad deal for society in a lot of ways.

Is there anything else that's covered by copyright that's in a similar sort of situation as software? Where the thing that's covered by copyright _isn't_ really modifiable to begin with?

Which is a lot of words to say--on the surface, yeah, I agree with you. Besides shorter terms, I think if you want that exclusivity from society you should be required to give something back in return... like the source code so everyone can benefit from and build off of your work after your period of exclusivity expires.

ndiddy 22 minutes ago | parent [-]

> Is there anything else that's covered by copyright that's in a similar sort of situation as software? Where the thing that's covered by copyright _isn't_ really modifiable to begin with?

I don't see how software is unique here. You can modify a compiled executable, just like you can modify a finished graphic, or a produced movie, or a piece of music from an album. It takes additional effort, but so does modifying the graphic without the PSD file, the movie without the editor project files, and the music without the stems.

kg 35 minutes ago | parent | prev [-]

It's even a bad deal for the rightsholder. There are lots of stories in video games of how a studio or publisher lost the original source code or assets for a game, then 5, 10 or 20 years later they want to remaster it and they can't do so without jumping through really elaborate hoops involving binary recompilation, emulation, repainting assets from scratch, etc.

If the code and assets were escrowed, the rightsholder could just go claim that stuff whenever they need it.

RandomTeaParty 4 hours ago | parent | prev | next [-]

My general experience with decompilation has been very negative (rough and not ready for use)

It feels like tool devs target byte editting more than refactoring decompiled code into something readable - you can't move lines of code, can't flip statement checked in if() for early return

Author of this article mentioned "byte euivalence", and while I'd be fine with functional sameness, I imagine provably-reversible refactor steps would be of great help for everyone

direwolf20 3 hours ago | parent [-]

Hm, I wrote a decompiler that does this. Maybe I should work on it more.

01hman 5 hours ago | parent | prev [-]

Do you think it is possible/easy to de-compile MCLA?

orange_redditor 5 hours ago | parent [-]

It's possible and made a lot easier if you have a debug build of the game or any build that doesn't use LTO. If you targetted the Xbox 360 version of the game in particular you could use this fork of decomp-toolkit but it's still a work in progress https://github.com/rjkiv/jeff