Hi,
I’ve run into an issue with VMP.
One of the features is “import protection” which is supposed to hide the API list so that you can’t see what API’s a VMP protected program uses.
The problem, however, is that it doesn’t seem to work with my DLL (any DLL, even a barebone skeleton DLL that only calls sleep). My protection options only mutate the code (no virtual machine is used).
If I disassemble the DLL and scroll down to where the import table should be, I see it and it is completely unprotected.
For instance, this is what I might see:
jmp dword ptr [10008000] where 10008000 points to the sleep api.
What I had expected to see was something like this:
jmp 06511AB0 where 6511AB0 is an obfuscated/mutated function that is a wrapper for the sleep api.
Can someone explain what the import protection is supposed to do in VMP?
Thanks.