[fpc-pascal] Create appending data to existing exe file?
lee at datatrakpos.com
Sun Dec 14 02:54:14 CET 2008
Tomas Hajny wrote:
> On 13 Dec 08, at 10:40, Lee Jenkins wrote:
>> Is it possible to append data to an existing executable file and have that file
>> run correctly? I'm adding scripting features to one of our products and I
>> wanted it so that our software can create a standalone executable for the end
> First of all, this may be different for different platforms, so it's
> probably rather important to know the platform you're talking about.
> Executable files for some platforms have explicit support for
> addition of some data directly into the executable file in the form
> of the so-called resources and the tool necessary for adding the data
> (resource compiler) may be directly shipped together with the
> particular platform, in other cases appending the data outside the
> real executable image may be more tricky (but it can be probably done
> for all platforms in this or that way).
Windows 2K/XP/Vista, Linux GTK2 and possible MacOS when/if cocoa is finished.
>> My plan was to create the base executable file which had the script engine and
>> business logic to run the script and ship that with the product. Then compile
>> the end user's script and combine it with a copy of the "base executable" to
>> produce the final executable file.
>> Is this possible or is there a more feasible way of having a program create
>> stand alone executables? Normally, I'd just ship the fpc compiler and just
>> compile the final exe behind the scenes but I don't want to make the source code
>> to the "base" exe available.
> Well, if you consider distributing FPC and compiling the final exe
> "behind the scenes", an alternative may be distributing your base
> executable in the form of units compiled with the particular FPC
> version (i.e. without having to distribute source files) and then
> create and compile just the program skeleton (calling functionality
> from the pre-compiled units) plus your script.
That is a good idea. Precompiled units would obfuscate main code. I'll give
that a try.
More information about the fpc-pascal