我实际上是在试图混淆ClickOnce应用程序。
我的Obfuscator是ConfuserEx。 Il遵循以下步骤:
- 点击项目属性上的发布向导.. \立即发布按钮。这将自动构建您的项目 调试/释放文件夹。我使用它,因为它也创建了使用的文件 ClickOnce的。我们稍后会使用这些文件。
- 打开Confuser和Drag-Drop文件在您希望confuser工作的Debug / Release文件夹中。
- 这将使用模糊处理的程序集创建一个Confused文件夹(使用默认输出目录设置)。
- 将项目所需的所有依赖项/文件(如果有)复制到刚创建“Confused”文件夹。
- 您的项目现在应该使用混淆的程序集。我运行程序只是为了确保。 :d
- 将.manifest文件从Debug / Release文件夹复制到Confused文件夹并使用MageUI编辑它。
- 在MageUI的“文件”部分,找到Confused文件夹(可能已被选中)并选中将.deploy放在文件上的选项 然后单击“填充”。
- 您的项目文件将重命名为* .deploy
- 保存.manifest文件并使用您在发布项目时创建的* TemporaryKey.pfx对其进行签名(这应该在您的 项目文件夹)。
- 将.application文件从Debug / Release文件夹复制到Confused文件夹并使用MageUI编辑它。
- 在MageUI的“应用程序参考”部分单击“选择清单..”,然后选择您在步骤6中保存的.manifest文件。
- 保存.application文件并使用* TemporaryKey.pfx。
进行签名- 最后,这可能是可选的,只需将发布文件夹中的setup.exe和publish.html文件复制到Confused文件夹即可。
醇>
关于这个主题:
https://confuser.codeplex.com/discussions/428378
不幸的是,当我尝试安装ClickOnce应用程序后,我收到以下错误:
无法处理从HTTP / HTTPS协议到其他不同的重定向 的。
堆栈跟踪如下:
System.Net.HttpWebRequest.GetResponse() System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem 下)
我尝试下载的网址是https,问题是什么?我应该全部放入http吗?
答案 0 :(得分:2)
一旦您的代码被充分混淆(您可以使用ILSpy等工具检查您的混淆),请使用代码签名证书或使用临时PFX(通常创建的)签署您的可执行文件和/或DLL当您第一次发布您的clickonce应用程序时)。我目前正在使用signtool.exe。
仍然在“Confused”文件夹中,将模糊和签名的文件从.exe重命名为.exe.deploy,并从.dll重命名为.dll.deploy
转到您发布的文件夹(就我而言,它是一个网络文件夹,如下所示:
\\ network_disk \ ClickOnceApp
\\ network_disk \ ClickOnceApp \ Application Files \ ClickOnceApp_x_x_x_x
\\ network_disk \ ClickOnceApp \应用 文件\ ClickOnceApp_1_0_0_42 \ ClickOnceApp.exe.manifest
仅供参考,MageUI可以在这里找到:
C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ bin \ mageui.exe
单击“保存”以对清单进行签名(如前所述使用代码签名证书或临时PFX),它将自动查看.exe.deploy和.dll.deploy文件的更改并重新计算正确的文件哈希。
\\ network_disk \ ClickOnceApp \应用 文件\ ClickOnceApp_1_0_0_42 \ ClickOnceApp.application
在“应用程序参考”菜单上,单击“选择清单”并选择最近修改的清单。通过保存来保存.application文件(如步骤7)
\\ network_disk \ ClickOnceApp \ ClickOnceApp.application
现在,您的ClickOnce应用程序包含模糊代码,可以使用ClickOnce进程下载。
注意:
答案 1 :(得分:0)
现在已经很老了,但是我想说一下Visual Studio中有一个扩展程序可以使用ConfuserEx,它可以与ClickOnce一起使用:
ConfuserEx Tools for Visual Studio
ConfuserEx for Visual Studio集成了免费和开源 ConfuserEx保护器到Visual Studio中可轻松进行自动混淆 版本构建和ClickOnce应用程序。
答案 2 :(得分:0)
遵循Thordax指令@步骤3,
一旦您的代码被充分混淆(您可以检查您的代码 使用ILSpy之类的工具进行混淆),对您的可执行文件和/或您的 带有代码签名证书或临时PFX的DLL(通常是 在首次发布clickonce应用程序时创建)。我是 当前正在使用signtool.exe来这样做。
您需要使用以下签名工具: cd C:\ Program Files(x86)\ Microsoft SDKs \ ClickOnce \ SignTool
然后像这样对exe签名
signtool.exe标志/ td sha256 / fd sha256 / f pathtoyourcert.pfx / p密码pathtoyourconfusedexe