We have made a C++ Native Win32 application that is closed source. We want to protect our intellectual property and we are worried that competitors can inspect our .exe file and identify what Win32 functions we have used and from there gain an understanding of what techniques we used. For an experienced person, you can work out pretty easily the main methodology we use for port management.
An example of how our .exe is able to be inspected:
- Is it normal for a PE file/.exe to openly state the Win32 functions like this?
- Is there a way to not have Win32 functions explicitly stated in the .exe(like utorrent)?
- Maybe we can configure Visual Studio 2010 to not explicitly state the functions?
- Is our only solution obfuscation or a third party application that can package/encrypt our .exe
When I inspect the utorrent.exe I notice no Win32 functions in the .exe. And I know that Utorrent was developed to be lightweight, is closed source and developed in C++(not sure if native Win32 was used though) - which is similar to our application. If you inspect Chrome.exe you can see all the Win32 functions explicitly stated just like in our .exe and I also know that Chrome was developed to be lightweight, in C++ and using native WinAPI and is open source which is all very similar to our application. This is what we want to avoid.