I am unclear about the Assembly Modification protection.
Here is what I have done:
- Created a WinForm sample application (. NET 2.0)
- Used SmartAssembly with the following options:
- Strong Name Signing
- Obfuscation default settings
- String Encoding: "I want to use strings encoding with improved protection"
- All other settings to default
After build, SA reports: "The assembly has been protected against any modification" as expected.
To check that, I have changed one byte in the protected .exe (in a char array I could locate easily).
Then, ran again the protected app. Result: the modified app just works!
This is not at all what I was expecting. I was assuming to get an error message or at least the app failing to start since it has been "protected against any modifications".
Am I wrong? Or has SmartAssembly failed to protect my application?
Let me know!
Tested on SmartAssembly 5.
PS: the Microsoft Strong Name tool (sn.exe) does report: "validation failed" on the modified app. So, I am sure that I did make a mistake and that the application is indeed modified.