I've been reading through keeperfx code. Its a community patch for Dungeon Keeper 1.

The person stated that instead of creating dungeon keeper from scratch his using the original EXE as a sort of DLL, and is calling the function from it until his wrote a function in place of the old EXEs version.

I was talking with another programmer and he brought up something which I was curious about. Is it legal to do this as long as your not selling the software, and by that I mean using a 3rd parties application to call functions... I mean I would think its ok as long as you have the original copy, are not selling it, and have certain agreement forms for downloads to state that they need the original software before using this "overhead" software.

01-17-2013

Elkvis

you should probably research the license agreements associated with dungeon keeper. most of the time, commercial software comes with certain clauses in their license agreements that prohibit, decompilation, disassembly, and reverse-engineering. since finding the entry points to call functions in the original EXE would likely require exactly those sorts of activities, you'd almost certainly be in violation with a program like the one you describe. if the exe actually has a PE exports table, you may not be so far from legal, since that information can be found with standard development tools.

01-17-2013

Cat

From a copyright infringement point of view, this is probably safe so long as it a) requires the original software to be purchased separately (i.e. the download doesn't include any portion of the original software) and b) makes no attempt to bypass any license checks or other copyright protection features of the original software. As long as people need to buy the original game to use this, it's probably legal from a copyright point of view.

01-24-2013

VirtualAce

I would imagine this is still against the license agreement. Most of them have huge paragraphs about the usage of the product. Since you technically do not own the code you also technically should not be able to benefit code-wise from any of the functions contained within it.

This becomes a huge issue b/c with places like GOG, Steam and Origin offering DK 1 and 2 with the purchases of DK 3 you could run into some serious legal issues. IP is IP as long as the time specified has not expired. With digital distribution being so prevalent more and more older IPs are being re-branded and ported to the latest greatest OS for all to enjoy. There is a huge demand for old nostalgic games in the market. Keep in mind that publishers today are paying huge sums of money to other companies and/or former owners for rights to their IP.

01-28-2013

brewbuck

Maybe it's against the license and maybe it isn't. In any case, if you call some random address in an EXE from a piece of code on your own machine, who will know? The answer is, nobody. So whether it is legal is not really a good determiner of whether you ought to do it (since, legal or not, you're going to get away with it). Therefore you should ask yourself, is it ethical to do so?

Once you phrase it like that ("is it ethical to call a function") I think the answer gets a lot clearer.