Guys, there are such files that are using low native functionality, instead files contain some raw data that is being running on a virtual processor. Most known example of such files are .net files. Net files (until they are compiled with AOT) are rathe difficult to protect and additional protection tricks should be used for better protection, like described there
Strong Protection of .NET applications with Enigma Protector
Topic starter's files are similar to .net, they are facing same issues. However, for such files it is rather simple to protect it well using virtual machine. Virtual Machine can't be dumped, i.e. it can be dumped, but won't work.
And just final words, Windows system is working so, that anyone can read and dump your process, it is impossible to protect against dumping, process reading or changing of process memory. You should not try to avoid it, instead, you should make it useless to dump, that the dumped code won't work, or changed memory won't take effect, all this can be done using virtual machine.