Download KillExp (executable & source code, 18 Feb. 2004, 20K)
 
What is KillExp?

Without any doubts you know what Borland C++Builder is. Being a high-end IDE coupled with a middle/low-end compiler and linker (not to mention their object library), it is widely used to quickly and easily (thanks to IDE) create bi-i-iig and slo-o-oow (thanks to the rest of the package) applications.

Seems like ordinary bugs were not enough for Borland software engineers. They felt they needed to implement something really spicy and special... And here it is: every standalone executable built by BCB in full release mode (without dynamic RTL and runtime packages) has... an export section. Nothing occurs to me but a loud orgasmic "Wow!". So here it is: "WOW!"

Not only this really unnecessary export section adds to the size of executable (in most cases it really ADDS MUCH), it also reveals internal names used in your source code. Needless to say, any software cracker will be really happy to find something that looks as appealing as a method like @TRegForm@CheckRegCode$qqrv exported by your executable...

Quite naturally, this cool pheature cannot be turned off (I think, it is exactly this pheature that Borland calls "smart linking" in online documentation). Another cool pheature in BCB is the possiblity to strip relocations from executables. Although fully supported by the linker (-B switch), it makes IDE crazy and even if you manually add this switch to the linker flags in your project file, IDE will automagically remove it next time you change any project option.

Now it's time to introduce KillExp - a simple post-processor for applications generated by BCB. KillExp does only two very simple things (they are really simple as soon as you know how to do them): it removes the export section and (optionally) strips relocations thus making executables smaller and a bit less crackable. You don't have to deploy KillExp constantly during your development cycle, the only time you need it is when you build a release and want to make it available for users. Executable size gain for average projects may be 64-128K or even more for big projects with lots of forms and components.

Of course, chances are that your particular project really needs the exports and/or relocations so it is always a good idea to check if your executable is still functional after processing by KillExp. No extensive debugging is necessary, just the fact that it can start is enough in most cases.

Chances are that KillExp may be useful for other Borland compilers like Delphi or C++. However, I did not test the program with these compilers.

Good news is that KillExp is totally free. Another good news is that KillExp source code is freely available so that you may customize it to your own taste.

Is KillExp unique?

Not at all. I am aware of at least one similar program - PE Corrector. However, something must be wrong with this software because I can't understand quite a few things about it. First of all, I can't understand how a program that took only one day to write the core and a half of day to write the GUI can be sold commercially. Next, I can't understand how such a simple program may be labeled v1.70 and still contain hmm... let's say some oddities. And the last thing I can't comprehend... Well, I can't imagine a customer who would pay $39.95 for such a program. However, if there are any such aesthetes with ineradicable desire to spend as much money as possible please feel free to contact me and we'll definitely think the problem out... :o{)

Program status

The program is a totally unsupported sourceware application. The only thing you are not allowed to do with the program and its source code is selling it in the original form. Also, it is prohibited to sell any software directly derived from my source code that does not have any additional functionality (for example, it is NOT OK to sell a GUI wrapper around my program). Please contact me if you are unsure whether your intention is OK or not.

Acknowledgements
I want to thank people whose work helped me immensely in writing this program:
- Matt Pietrek for being THE GURU
- Eugene Suslikov (SEN) for Hiew - the best hex editor in the whole Universe
©
 
AGC | Kill Mail | KillAd | Buz Live | Home