Sign in to follow this  
zealotgi

Reviving a dead MMORPG

Recommended Posts

Have any of you heard of a game called Earth and Beyond? Well, what happend almost a year ago was EA shutdown all the servers because they said there wasn't enough people playing anymore. Now, I got really ticked about this and mailed EA about 12 times trying to get them to bring them back online for the people that still actually played it, and yet it is still dead, and I payed a lot of money for nothing because I can't play it at all. Basically what it does is when I open the program, it tries to update, and then says that servers are no longer open, kind of like a World of Warcraft startup. I want to trick the program into thinking that the server is alive and that I have an account for it. The game is about 3GB, so I know that if not all, mostly everything is render on the client, so I wont need a server to play it. Is there a way I can modify any aspect of the game to play it offline?

Share this post


Link to post
Share on other sites
Quote:
Original post by zealotgi
The game is about 3GB, so I know that if not all, mostly everything is render on the client, so I wont need a server to play it.

Games are more than just pretty graphics (although in some cases, not much more). All but a small amount of the actual logic will only be present on the servers, and unless you can get EA to release the game server program (hint: this won't happen) then you're out of luck.

Share this post


Link to post
Share on other sites
Ive seen servers for Everquest and World of Warcraft implemented by non sony/non blizzard programmers. You would have to take apart the program(which is illegal) and see what it is sending to the server and what it is receiving, very complicated to do, but possible.

Share this post


Link to post
Share on other sites
It'd take a huge amount of effort.

Considering the servers are allready shut down, you won't be able to use a packet sniffer to reverse engineer the protocol and create a surrogate server, which is probably the easiest method to do such a thing. So what's your next option? Lengthy assembly disassembly, or a ****load of trial and error, most likely both.

And this is for a skilled hacker, with a specialization in disassembly. Given that you have to ask the question of wheither or not it's possible, I can conclude you are not the skilled hacker I am imagining which would take a lot of time to complete such a task. That means it'd take you even longer.

IANAL, but I believe this route is possibly even illegal. Sniffing packet data AFAIK is legal (IANAL!!!), a method of reverse engineering. Disassembly differs in that you're actually looking at the implementation.

Share this post


Link to post
Share on other sites
Quote:
Original post by Gink
Ive seen servers for Everquest and World of Warcraft implemented by non sony/non blizzard programmers. You would have to take apart the program(which is illegal) and see what it is sending to the server and what it is receiving, very complicated to do, but possible.


I don't think that it is illegal if the purpose is to make it interoperate with your product (an emulated server, for example).

Share this post


Link to post
Share on other sites
Quote:
Original post by Gink
reverse engineering applications isnt illegal?


I am not a lawyer. If you have serious legal questions, consult a lawyer in your jurisdiction.


Absolutely not. The issue has been muddled as of late, by patents, trademarks, and other parts contained within the application being illegal to use. The big companies usually then just send out the attack lawyers.

Further, the end user license agreements usually contain a clause saying that you cannot reverse engineer the application. Given that [american anyways] law allows you the specific right to reverse engineer the application, these clauses are of dubious legality.

Essentially what those agreements effectively mean is that if you try to reverse engineer the application the company in question can revoke your right to use it.

Also, the actual artwork is still often copyright of the company involved, and may not be duplicated verbatim. For example, a war2 clone exists on linux. To legally play it though, users must buy the original game [so they have a valid copyright to the artwork] and then copy the artwork to the linux war2 install.

Share this post


Link to post
Share on other sites
Quote:
Original post by Telastyn
Further, the end user license agreements usually contain a clause saying that you cannot reverse engineer the application. Given that [american anyways] law allows you the specific right to reverse engineer the application, these clauses are of dubious legality.


This is being tested right now in Blizzard v. BnetD. The Digital Millenium Copyright Act also comes into play.

Share this post


Link to post
Share on other sites
Quote:
Original post by Aldacron
Quote:
Original post by Telastyn
Further, the end user license agreements usually contain a clause saying that you cannot reverse engineer the application. Given that [american anyways] law allows you the specific right to reverse engineer the application, these clauses are of dubious legality.


This is being tested right now in Blizzard v. BnetD. The Digital Millenium Copyright Act also comes into play.


Ah, yes. I'd thought that had already been settled out of court. Here you go OP, the exact case law to determine if you can do what you want. Though the [more serious] DMCA issues should not not come into play if the Earth and Beyond servers do not exist anymore

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by MaulingMonkey
It'd take a huge amount of effort.

Considering the servers are allready shut down, you won't be able to use a packet sniffer to reverse engineer the protocol and create a surrogate server, which is probably the easiest method to do such a thing. So what's your next option? Lengthy assembly disassembly, or a ****load of trial and error, most likely both.

And this is for a skilled hacker, with a specialization in disassembly. Given that you have to ask the question of wheither or not it's possible, I can conclude you are not the skilled hacker I am imagining which would take a lot of time to complete such a task. That means it'd take you even longer.

IANAL, but I believe this route is possibly even illegal. Sniffing packet data AFAIK is legal (IANAL!!!), a method of reverse engineering. Disassembly differs in that you're actually looking at the implementation.


Well, I do have a bit of experience in disassembly, as I have done it a couple of times with my own code, but the only problem that there really is, is making out what the heck some of the hex is, like ŽÀ&ÿ6Ðn, I mean, is there some sort of translator out there? Do hackers remember hex by heart or something? Right now the only skill that comes in is changing text in strings :/

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster

Well, I do have a bit of experience in disassembly, as I have done it a couple of times with my own code, but the only problem that there really is, is making out what the heck some of the hex is, like ŽÀ&ÿ6Ðn, I mean, is there some sort of translator out there?


Uhhh, that's not hex. This is hex: 0xFFA3F. You've been looking at machine code in a text editor, disassembly involves decompiling the program to assembly language, which looks like this:


mov ah, 15
mov al, 10
add ah,al


Share this post


Link to post
Share on other sites
While you can edit the programs manually with a hex editor (which is fun, yes, but not feasible for any real program. Normally you would use a disassembler, which will take the hex code and render that as assembler. You can perform this process manually - it's fairly easy, just take the [url=http://nasm.sourceforge.net/doc/html/nasmdocb.html]NASM manual[/url] and carefully, slowly put it back together.

Or you can use a disassembler (which usually comes with the assembler) to turn it back into assembler. The assembler I have most experience with (except possible AT&T inline ASM) is NASM, available here: http://nasm.sourceforge.net/.

Share this post


Link to post
Share on other sites
Ok, i was using the wrong program ;)

The next step, learn x86 assembly. WHOOHOOO!
From what I've heard from other sites, it takes a couple of years to learn, many more to master, unlike C++ which I learned in like 2 months...

EDIT: I just disassembled it...THATS A ****LOAD OF CODE TO GO THROUGH!!!

[Edited by - zealotgi on July 10, 2005 3:28:05 PM]

Share this post


Link to post
Share on other sites
Google Ethereal. Download it. Start it up. Select you ethernet card that goes to the web. Start recording. Open the game. Let it do its thing. Close the game. Stop Ethereal from recording. Read the packet data. Try to find how the packets are coded. That'll give you a better idea of what you looking for when you disassembly and convert the code.

Share this post


Link to post
Share on other sites
Disassembling the client might not be required. You can probably packet-sniff and then recreate the packets with your game server to imitate what a "real" server would do. I believe this is what the third-party servers for UO, EQ, etc have done.

Then again, it would be difficult to do this if there is no official server to connect to and record; I would recommend heading to the game's community and see if anyone else has done a partial packet-dump or has written their own third party server (that you can create a packet-dump from).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this