VMProtect .NET not renaming symbols
VMProtect .NET not renaming symbols
My .NET application is protected with VMProtect .NET (latest version), but when I open the program with a common decompiler, the names of functions and variables are still as they were pre- protection. I read in a prior thread from 2020 that this was planned to be fixed, but I'm using the latest version (3.5) and the names are still visible.
Re: VMProtect .NET not renaming symbols
Do you use the "Strip Debug Information" option? It renames symbols for .NET applications.
Re: VMProtect .NET not renaming symbols
Yes, I've always had this options enabled. Should I be compiling against a certain version of the .NET framework?Admin wrote:Do you use the "Strip Debug Information" option? It renames symbols for .NET applications.
My project configuration is as follows:
Re: VMProtect .NET not renaming symbols
Some more information...
If I open the EXE with a native decompiler like IDA, it appears most of the symbols are indeed obfuscated. However, it varies per each pass of VMProtect, sometimes certain symbols don't get renamed. It seems totally random. But yes if I use a standard .NET decompiler (Jetbrains Dot Peek or ILSpy) the names of all functions, classes and variables are still visible.
If I open the EXE with a native decompiler like IDA, it appears most of the symbols are indeed obfuscated. However, it varies per each pass of VMProtect, sometimes certain symbols don't get renamed. It seems totally random. But yes if I use a standard .NET decompiler (Jetbrains Dot Peek or ILSpy) the names of all functions, classes and variables are still visible.
Re: VMProtect .NET not renaming symbols
What build of VMProtect do you use?
Re: VMProtect .NET not renaming symbols
Ok I've realized my mistake, I was using an older build because of the issues I experience with 3.5. Basically in 3.5 VMProtect also obfuscates names of all WCF data contracts which causes the application to crash. Since WCF requires to know the method and type names at runtime. But it does appear to properly obfuscate all symbols. Its just that it breaks WCF. Would it be possible to get a version that handles WCF contracts so I can use the newer version? Even just an attribute that can be added to the types or class that tells VMProtect not to rename, would be very useful for this case. Thank you.Admin wrote:What build of VMProtect do you use?
Re: VMProtect .NET not renaming symbols
Could you send us a test example (original EXE+VMP files) that shows this problem? We need it for internal testing.Since WCF requires to know the method and type names at runtime. But it does appear to properly obfuscate all symbols. Its just that it breaks WCF. Would it be possible to get a version that handles WCF contracts so I can use the newer version?
Re: VMProtect .NET not renaming symbols
Sent to you in a direct message.Admin wrote:Could you send us a test example (original EXE+VMP files) that shows this problem? We need it for internal testing.Since WCF requires to know the method and type names at runtime. But it does appear to properly obfuscate all symbols. Its just that it breaks WCF. Would it be possible to get a version that handles WCF contracts so I can use the newer version?
Re: VMProtect .NET not renaming symbols
Please check PM.