Take the 2-minute tour ×

I am trying ti make my own packer, and my packer works fine with executable compiled VC++ 6, but when I try to pack executable compiled with VC++ 8, the executable will crash. So I wanted to know if there is any change in the PE structure in the new versions of C++?

share|improve this question
since PE has nothing to do with C++ - no. Did you try and compare the different PE headers? what's the difference? –  Tobias Langner Aug 30 '11 at 11:30
Will you accept an answer if it is useful? –  Kerrek SB Aug 30 '11 at 11:31
yes I will accept! –  lamia Aug 30 '11 at 11:41
add comment

1 Answer

up vote 2 down vote accepted

There has been no change to the PE File format, and as commenters above point out it is not related to your problem.

It sounds like your packer is dependent on the VC++6 runtime libraries and as such when it unpacks something that is expecting VC++8 libraries bad things happen. The solution would be to make your packer runtime library independent.

BigBoote's "How to write your own packer" addresses this and suggests implementing your own trivial runtime.


share|improve this answer
add comment

Your Answer


