by fzammetti » May 2, 2005 @ 7:17pm
I looked at virtually every PE compressor at one point a while back and turned up nothing... So, I suspect you'll be writing your own (or updating UPX or similar) yourself.
It should be noted that *compression* might not be the goal here, as it frankly was not for me... Back in the pre-Windows days, there was a considerable amount you could do to make an EXE very difficult on crackers... Similar tricks can be played with PE's, although perhaps not quite as successfully.
A great story I have about this (well, great to me anyway)... when I took my Assembly class some years ago, our final was to create a program that the teacher could not crack... it was a simple program... enter a password and have a message displayed... it had to be self-contained, and so contain the password itself, and there could be only one real password... he was exceptionally good at defeating all sorts of executable protection schemes (one might ask why he was so good, and why he felt this made a good final project, but I digress)... in something like 20 years of teaching, he never had a student present him something he couldn't crack in under a week (had a couple that took a few days, most were a few hours at most)... until he met me... I coded the program in about the most obtuse and crazy ways I could think of so that even if he had the actual source in front of him it would be tough to figure out the password... THEN I ran it through 6 different EXE encryptors, compressors, etc. The end result is that it took him something like EIGHT MONTHS to finally crack it, and it was only after figuring out what I had done (and after my A in the class was long since in the books!). Incidentally, it took him 9 hours he said AFTER he got it to a completely unprotected form, so my obtusde coding would have earned me an A anyway!
...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"