Live data from Hacker News

Reverse engineering the binary data format for Star Wars: Yoda Stories

zachtronics.com

61–69 of 69 posts

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#62
post #50

10/10 good article. I wonder if something remotely similar is possible with todays games. With all the custom data formats and compression algorithms being used.

It's not necessarily easy, but decoding MMO data files can be massively profitable for players. Reams of valuable data are often stored client-side to save on sending it during gameplay. You can maybe learn what items are in the game (including items in not-yet-released updates), where the items drop, and what the exact % droprate they have. You can learn the exact HP and other stats of mobs (if it isn't normally dis…

I'm still bummed that OnLive died. Seemed to me like it would have been the PERFECT platform to kill cheaters for MMOs that weren't twitch-based.

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#63
post #47

Love it. Any pointers for an easier old (or new) game to have a go at pulling apart like this?

NES games are pretty easy to tear apart, and emulator tools are pretty good. I use fceuxdsp, running in Wine because I'm too lazy to build it natively. The 6502 was too slow to do any complex compression, and there was really no need to encrypt an NES ROM. Later consoles, of course, get more complex, but the NES is a good place to start.

I don't think that the lack of compression is a matter of speed. After all, C64 games did it all the time. The reason is more likely that it is convenient to store graphics and code plainly in the ROM since it can then be mapped direcly. The NES didn't have enough RAM.

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#64
post #59

Earlier quoted context omitted.

> This code should work as is using Mono. Sure, this one does, but nearly any .NET program with a GUI won't. It's very frustrating to run into useful programs that I can't run, and most often applications that fit that description are written in a .NET language. > But the complaint was weird in the first place? Yeah, true. There's nothing hard about reading C#, just running it.

You make it sound as if there were no portable (or 'non-windows') C# applications. Stuff I care about: http://banshee.fm/ https://wiki.gnome.org/Apps/Tomboy http://f-spot.org/ http://keepass.info/

At least in the game-hacking-with-a-GUI space, there very nearly aren't any.

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#65
post #64

Earlier quoted context omitted.

You make it sound as if there were no portable (or 'non-windows') C# applications. Stuff I care about: http://banshee.fm/ https://wiki.gnome.org/Apps/Tomboy http://f-spot.org/ http://keepass.info/

At least in the game-hacking-with-a-GUI space, there very nearly aren't any.

Wow, you're really narrowing this down now. OK, there aren't many tools in the portable C# game-hacking-with-a-GUI space. Why is that such a great issue, and why is it relevant to this article?

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#66

10/10 good article. I wonder if something remotely similar is possible with todays games. With all the custom data formats and compression algorithms being used.

I doubt there are really many custom compression algorithms, mainly just custom container formats.

There are some. I had to deal with a microsoft project using one, and in the end the only solution we came up for dealing with it was extracting the decompression code out of the EXE file and embedding it in a DLL (at run-time, to prevent copyright infringement issues).

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#68
post #64

Earlier quoted context omitted.

At least in the game-hacking-with-a-GUI space, there very nearly aren't any.

Wow, you're really narrowing this down now. OK, there aren't many tools in the portable C# game-hacking-with-a-GUI space. Why is that such a great issue, and why is it relevant to this article?

It's just annoying, as someone who likes to dabble in that space. There's a lot of good, interesting work done and it's frustrating that it's done using a proprietary technology I can't use when there are tons of other options.

This article is about game hacking using C# and never addressed the issue of portability, because game hackers who use C# never think about portability. That was my point.

Re: Reverse engineering the binary data format for Star Wars: Yoda Stories

#69
post #68

Earlier quoted context omitted.

Wow, you're really narrowing this down now. OK, there aren't many tools in the portable C# game-hacking-with-a-GUI space. Why is that such a great issue, and why is it relevant to this article?

It's just annoying, as someone who likes to dabble in that space. There's a lot of good, interesting work done and it's frustrating that it's done using a proprietary technology I can't use when there are tons of other options. This article is about game hacking using C# and never addressed the issue of portability, because game hackers who use C# never think about portability. That was my point.

Maybe it doesn't address the "issue" of portability because it in fact is a portable program. Maybe it doesn't address portability because it's an article about reverse engineering a game. Maybe it doesn't address portability because the code is meant to illustrate his process rather than for others to port it. I still don't see how your criticism is relevant at all.
Post reply on HN