I'm actually trying to obfuscate a ClickOnce application.
My Obfuscator is ConfuserEx. Il followed these steps :
- Click the Publish Wizard..\Publish Now button on your project properties. This will automatically build your project on Debug/Release folder. I use it since it also creates the files used in ClickOnce. We will use those files later.
- Open Confuser and Drag-Drop files On the Debug/Release folder that you want confuser to work on.
- This will create a Confused folder (using the default output directory settings) with the obfuscated assemblies.
- Copy all dependencies/files (if any) required by your project to run to the just create "Confused" folder.
- You project should now work with the obfuscated assemblies. I ran the program just to make sure. :D
- Copy the .manifest file from your Debug/Release folder to the Confused folder and Edit it using MageUI.
- On the "Files" section of MageUI, locate the Confused folder(may already be selected) and check the option to put .deploy on your files and click "Populate".
- Your project files would be renamed to *.deploy
- Save the .manifest file and sign it with the *TemporaryKey.pfx created when you published your project (This should be on your project folder).
- Copy the .application file from your Debug/Release folder to the Confused folder and Edit it using MageUI.
- On the "Application Reference" section of MageUI Click "Select Manifest.." and select the .manifest file you saved on step 6.
- Save the .application file and sign it with the *TemporaryKey.pfx.
- Lastly, this maybe optional, just copy the setup.exe and the publish.html files on publish folder to the Confused folder.
Regarding this topic :
https://confuser.codeplex.com/discussions/428378
Unfortunately, I get the following error when I try to install the ClickOnce app afterwards :
Cannot handle redirect from HTTP/HTTPS protocols to other dissimilar ones.
The stacktrace is as following :
System.Net.HttpWebRequest.GetResponse() System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
The URL I'm trying to download is in https, is that the problem ? Should I put all in http ?