问题标签 [obfuscar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
392 浏览

vb.net - 混淆配置跳过枚举值的问题

我有一个带有内部日志记录模块的类库,它Enum在命名空间级别使用一个来定义日志级别(调试、跟踪、错误等)。我在日志记录文本中使用这些枚举值的字符串转换。枚举被标记Friend(即,内部的,不公开的)。

当我最初运行混淆时,日志缺少枚举描述,我最终发现 Obfuscar 合理地混淆了枚举值,所以我添加了一个SkipEnum指令:

更新:更正SkipEnumSkipEnums上面。我试过的代码有后一个元素,所以这不是问题。)

根据 Obfuscar 地图文件,这似乎没有做任何事情:

所以我尝试使用SkipTypewith skipEnums

这有点奏效;它隐藏了枚举的名称(“LogLevel”),但没有隐藏枚举值本身。

所以我尝试SkipTypeskipFields

这行得通。

但是......当我检查生成的程序集时,以前隐藏/内部的命名空间MyCompany.MyLibrary.Logging被暴露了,我希望它保持隐藏。

这是一个错误吗?难道我做错了什么?虽然我认为该产品非常好,但 Obfuscar 的 doco 相当简陋,所以我不得不猜测其中的一些。

0 投票
0 回答
114 浏览

obfuscar - 如何解决混淆 Dll 的错误?

当我尝试混淆使用 Visual Studio 开发的 dll 时,我收到以下错误消息:

处理过程中出错:无法获取 CreoParamLm 的类型定义,版本=1.0.0.0,文化=中性,PublicKeyToken=f4e4fd84ef410cf6 无法清理池

我没有找到任何用谷歌搜索这种错误类型的信息,你知道吗?提前致谢。

0 投票
1 回答
490 浏览

fody-costura - 在 Fody.Costura 合并文件之前执行混淆

如何在 Fody.Costura 合并文件之前执行混淆,因为合并的文件没有被混淆,使用 Fody.Costura 压缩或不使用它。

我已经为 obfuscar 下载了https://github.com/obfuscar/example.git项目示例,然后我通过 nuget 安装了 Fody 和 Fody.Costura,但是如果我使用 ILSpy 项目检查它,输出示例不会被混淆。

https://github.com/icsharpcode/ILSpy(ILSpy项目下载压缩文件并查看 dll 代码) https://github.com/G4224T/Fody-Costura-Decompress(解压 fody costura 文件)。

我的混淆配置是

在 fody costura 我试过

我想要使​​用这个项目来混淆和合并文件的任何选项,因为它是免费的,谢谢大家

0 投票
0 回答
1498 浏览

c# - 在构建后步骤中调用 Obfuscar

我正在开发一个 C# WPF 项目,我需要一些混淆。我发现 Obfuscar 看起来很有前途,使用 nuget 和构建后事件似乎是一个可靠的解决方案。所以我已经安装了 nuget 包,并添加并调整了 obfuscar.xml 文件,使其能够正常工作。

但是,构建后命令是指$(Obfuscar)无法识别的宏。现在,当我构建项目时,出现以下构建错误:

命令“obfuscar.xml”以代码 9009 退出。

请注意第一个引号后的空格:$(Obfuscar)显然无法以某种方式解决。我尝试了文档和其他网站上描述的所有步骤,包括将宏放在引号内,但我无法让它工作。

- 编辑 -

我所做的: - 安装了 Obfuscar nuget - 添加了带有基本配置的 obfuscar.xml 文件 - 添加了构建后事件 - 尝试构建

我在构建后事件方面所做的尝试:

$(Obfuscar) obfuscar.xml

命令“obfuscar.xml”以代码 9009 退出。

"$(Obfuscar)" obfuscar.xml

命令“”“obfuscar.xml”以代码 9009 退出。

我尝试构建并运行示例项目,并且效果很好。我已将示例项目中的构建后事件(不是 xml 文件)复制粘贴到我的项目中,但这只是给出了相同的结果。

我也不明白 Visual Studio 如何可能知道什么$(Obfuscar)意思或如何将其解析为 Obfuscar 可执行文件的路径。我是否需要在某个地方进行某种配置,还是某种特殊的黑魔法应该可以工作?

-- 编辑 2 --

我现在可以通过将Obfuscar可执行文件从 nuget 文件夹复制到我的 PATH(现在为 C:\Windows)中的文件夹作为“obfuscar.exe”并简单地使用 post-build command 来让它工作obfuscar obfuscar.xml。我之所以这么说,是因为实际上使用 nuget 而不是复制的可执行文件是因为现在我没有自动更新。现在,当一个新版本出来时,我将不得不手动复制/粘贴它。我想我现在必须将它添加到自述文件中,直到出现更好的解决方案。

0 投票
2 回答
1386 浏览

obfuscar - asp.net core 3.1 的混淆器

在 ASP.NET Core 3.1 应用程序中,obfuscar.xml 中的给定路径是正确的,但无法找到程序集/无法解析程序集

构建错误:

0 投票
0 回答
51 浏览

iis - 将 .NET Core APP V2.2 托管到 IIS 错误 500

我最近尝试过混淆 .NET core v2.2 项目的混淆工具,该项目由 Kestrel 成功运行,但不在 IIS 上运行,但是,它在没有混淆的情况下在 IIS 上运行。我看到错误代码 500 作为响应,但没有任何详细信息。

我已经下载了 .NET Core Hosting 包并检查了日志,但没有关于错误的详细信息。

任何帮助找出问题,或者如何显示详细的错误?

0 投票
0 回答
209 浏览

c# - Obfuscar 2.2.28 抛出 ResolutionException

Obfuscar 2.2.28 为混淆项目抛出 ResolutionException:

我确实更改了一些混淆属性(添加更多要混淆的枚举),然后这个错误开始发生。

我混淆的项目是针对 .NET Framework 4.6.2。

更新: 我也尝试过使用 2.2.25 和 2.2.26 版本,结果是一样的。不幸的是,没有日志文件,所以很难看出是什么导致了问题。

更新 2: 我在我的(大型)项目中将其缩小到一个特定的枚举。当我从混淆中排除该枚举时,混淆运行正常。当我混淆该枚举时,会引发异常。情况如下。有问题的枚举位于完全混淆的库中。但是,枚举也用于单元测试。带有单元测试的程序集也是混淆的一部分(我想在交付的实际混淆的库上运行我的单元测试),但其中的测试类没有被混淆。这意味着只有在完全混淆的库中定义的类/枚举的引用才应该在测试程序集中更新。当我从单元测试中删除此枚举的使用时,混淆也再次起作用。

0 投票
1 回答
385 浏览

xamarin - Xamarin 表单的混淆

我正在使用 Visual Studio for Mac(社区版)开发 Xamarin.Forms 应用程序。我能够使用ILSpy反编译 Android 应用程序的源代码

为了混淆源代码,我使用了 Obfuscar并按照https://docs.obfuscar.com/tutorials/xamarin.html中的步骤进行操作

  • 下面是 Xamarin.Android 项目结构

在此处输入图像描述

  • 下面是里面的配置obfuscar.xml
  • 以下更改在 Android.csproj 中完成

在此处输入图像描述

当项目以Release存档和反编译模式构建时,使用 ILSpy 仍可以以纯文本形式看到源代码。

在此处输入图像描述

我需要帮助为 Xamarin.Forms 项目正确配置混淆器

0 投票
1 回答
49 浏览

visual-studio - 关于 Obfuscar 应用程序使用

大家好:我正在学习在使用 Visual Studio 2019(C# 或 VB.Net)制作的应用程序中使用这个非常棒的 Obfuscar 2.2.31。我做了一些测试,我喜欢结果,但我想防止它加密我作为模型占用的类以创建通用列表。我还想排除环境变量(MyPathFile)的加密。最后,我正在使用 NPOI 读取 excel 文件,如何将其排除在加密之外?

我一直在测试文档中的以下示例: SkipField type="Full.Namespace.And.TypeNameenter code hereSkipType name="Full.Namespace.And.TypeName2, 在此处输入代码SkipType name="Full.Namespace.And.TypeName3
enter code hereSkipMethod type="Full.Namespace.And.TypeName3 等
。`

但我不太确定这意味着什么:TypeName、TypeName2、TypeName3 等。

我将非常感谢任何帮助。

0 投票
1 回答
83 浏览

.net-core - .NET Core 5.0:Obfuscar 以代码 123 退出

我的配置

我的后期构建活动

构建输出

2>MYApplication -> D:\MYServer\MYApp\bin\Release\net5.0-windows\MYServer.dll 2>文件名、目录名或卷标语法不正确。2>D:\MYServer\MYApp\MYApplication.csproj(23,5): error MSB3073: The command "if Release == Release "C:\Users\VVSCPP.nuget\packages\obfuscar\2.2.31\build.. \tools\Obfuscar.Console.exe” obfuscar.xml” 退出,代码为 123。 2>完成构建项目“MYApplication.csproj”——失败。