A Brief Look at the Principle Behind Packed Programs
Most people have heard of packers, such as UPX, but do you know how they work? Have you ever tried writing one? Is it hard? Actually, the principle is quite simple. Let me, Feng-lai, explain it for you~ The first step in writing a packer is to get the binary file of the program you want to pack. Everyone knows that every file on a computer is a binary file, right? A binary file is made up entirely of 0s and 1s. So what do you do with it once you have it? Encrypt it, of course. The simplest encryption method would be to invert every bit: each 0 becomes a 1 and each 1 becomes a 0. But you can’t just run the encrypted file directly, so the second part comes next. ...