Thread: Legality of External Program Function Calls

  1. #1
    Registered User
    Join Date
    Jan 2013
    Location
    UK
    Posts
    19

    Legality of External Program Function Calls

    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.

  2. #2
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    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.

  3. #3
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    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.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

  4. #4
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    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.
    Last edited by VirtualAce; 01-24-2013 at 07:35 PM.

  5. #5
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    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.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. pointers and function calls inside a function
    By lexitron in forum C Programming
    Replies: 1
    Last Post: 12-03-2011, 05:43 PM
  2. Replies: 19
    Last Post: 09-08-2011, 07:56 AM
  3. Program speed and function calls
    By thetinman in forum C Programming
    Replies: 4
    Last Post: 10-18-2006, 12:29 AM
  4. why does c++ do function calls like this?
    By sndhearn in forum C++ Programming
    Replies: 5
    Last Post: 07-20-2005, 03:17 AM
  5. Function calls
    By Zewu in forum C++ Programming
    Replies: 2
    Last Post: 05-02-2002, 04:44 PM