Explaining This is a very basic example of using functions from a dll. Could be used for multiple purposes such as protection dll or just this. Reasoning There is no need for DLLMAIN, UNLESS you wan't to initialize/load some stuff when loading the dll. use vmprotect's file system to load it in the exe. If you dont want to have the dll in the same folder. ( cannot get tampered ) For protection pack the dll for better security if you are going for protection.