gpt4 book ai didi

c# - 使用 ConfuserEx 混淆 clickOnce 应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:22 24 4
gpt4 key购买 nike

我实际上是在尝试混淆 ClickOnce 应用程序。

我的混淆器是 ConfuserEx。我遵循了这些步骤:

  1. 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.
  2. Open Confuser and Drag-Drop files On the Debug/Release folder that you want confuser to work on.
  3. This will create a Confused folder (using the default output directory settings) with the obfuscated assemblies.
  4. Copy all dependencies/files (if any) required by your project to run to the just create "Confused" folder.
  5. You project should now work with the obfuscated assemblies. I ran the program just to make sure. :D
  6. Copy the .manifest file from your Debug/Release folder to the Confused folder and Edit it using MageUI.
  7. 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".
  8. Your project files would be renamed to *.deploy
  9. Save the .manifest file and sign it with the *TemporaryKey.pfx created when you published your project (This should be on your project folder).
  10. Copy the .application file from your Debug/Release folder to the Confused folder and Edit it using MageUI.
  11. On the "Application Reference" section of MageUI Click "Select Manifest.." and select the .manifest file you saved on step 6.
  12. Save the .application file and sign it with the *TemporaryKey.pfx.
  13. Lastly, this maybe optional, just copy the setup.exe and the publish.html files on publish folder to the Confused folder.

关于这个主题:

https://confuser.codeplex.com/discussions/428378

不幸的是,当我之后尝试安装 ClickOnce 应用程序时出现以下错误:

Cannot handle redirect from HTTP/HTTPS protocols to other dissimilar ones.

堆栈跟踪如下:

System.Net.HttpWebRequest.GetResponse() System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)

我尝试下载的 URL 是 https,这是问题所在吗?我应该把所有的都放在 http 中吗?

最佳答案

要有一个混淆的 ClickOnce 应用程序,请按照下列步骤操作:

  1. 编译您的项目并使用 Visual Studio 发布它(右键单击项目 > 发布)

一个。混淆步骤

  1. 发布后,使用 ConfuserEx(GUI 或 CLI)然后在特定文件夹(即 MyProject\Confused)中混淆您的可执行文件和/或 DLL
  2. 一旦您的代码被充分混淆(您可以使用 ILSpy 等工具检查您的混淆),使用代码签名证书或临时 PFX(通常在您创建时创建)对您的可执行文件和/或 DLL 进行签名首先发布您的 clickonce 应用程序)。我目前正在使用 signtool.exe 执行此操作。

  3. 仍然在“Confused”文件夹中,将经过混淆和签名的文件从 .exe 重命名为 .exe.deploy,从 .dll 重命名为 .dll.deploy

  4. 转到您发布的文件夹(在我的例子中,它是一个网络文件夹,如下所示:

\\network_disk\ClickOnceApp

  1. 复制/粘贴在最近的 Application Files 文件夹中找到的 .deploy 文件

\\network_disk\ClickOnceApp\Application Files\ClickOnceApp_x_x_x_x

B.重新签署 list 和 .application 文件

  1. 使用 MageUI 打开您应用的 list 。就我而言:

\\network_disk\ClickOnceApp\Application Files\ClickOnceApp_1_0_0_42\ClickOnceApp.exe.manifest

仅供引用,MageUI 可以在这里找到:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mageui.exe

点击“保存”对 list 进行签名(像以前一样使用代码签名证书或您的临时 PFX),它会自动看到 .exe.deploy 和 .dll.deploy 文件的变化并重新计算正确的文件哈希值。

  1. 仍然使用 MageUI,打开文件

\\network_disk\ClickOnceApp\Application Files\ClickOnceApp_1_0_0_42\ClickOnceApp.application

在“应用程序引用”菜单上,单击“选择 list ”并选择最近修改的 list 。通过保存来签署您的 .application 文件(如第 7 步)

  1. 对以下文件执行相同的操作:

\\network_disk\ClickOnceApp\ClickOnceApp.application

现在您的 ClickOnce 应用程序包含混淆代码,可以使用 ClickOnce 进程下载。


注释:

  • 就我个人而言,我必须在命令行 (ConfuserEx.CLI.exe) 中使用 ConfuserEx,因为我必须混淆我的代码的一部分。混淆所有这些会返回许多关于 WinForms 的组装和加载的错误。
  • 在命令行中使用它允许开发人员使用 Declarative Obfuscation ,因此,仅混淆代码的某些关键部分。
  • 我结束了创建一个自动执行这些步骤的脚本。我仍在使用 mageUI.exe 对 list 和应用程序文件进行签名,但您可以使用 mage.exe 在命令行中对这些文件进行签名(我还没有尝试过)。

关于c# - 使用 ConfuserEx 混淆 clickOnce 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32808084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com