But when called it is harder to tell where you're calling it from. Thus using things using names that imitate your form functions for instance.

But yes, UPX does have an unpacker. Which is why I asked if there is a way to write your own DLL loader functions. Then I could encrypt my DLLs in a strong fashion.