问题标签 [de4dot]

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 投票
2 回答
2043 浏览

c# - 尝试将其引用到其他项目时出现 dnlib 库问题

使用 VisualStudio 2013,我已经成功编译了最新版本的dnlib,它是ConfuserExde4dot项目的一部分,默认情况下, dnlib项目以 .NET Framework 2.0 为目标,因此它应该兼容以在其他针对更高版本的项目中引用它,但当我在一个针对大于3.0的 .NET 框架的新项目中引用生成的dnlib.dll时,该项目无法编译。

任何编译错误信息只是一个 VisualStudio 消息框,上面写着:

存在构建错误。您想继续并运行最后一次成功的构建吗?

我已经使用dnlib.dll的调试和发布版本在(新的、空的)WinForms 项目中尝试了dnlib.dll,我尝试针对 FW 3.5、4.0、4.5 和 4.5.1 但该项目已经仅针对 FW 2.0 和 3.0 成功编译。

另一方面,我完全能够浏览库成员并实例化其中的类以及所有这些,但无法使用引用的dnlib.dll编译项目。

我认为如果 dnlib 项目中的默认固件目标是2.0应该是有充分理由的,因为它涉及外部程序集,所以我不确定通过增加 dnlib 项目中的固件目标来解决这个问题,但无论如何我已经尝试将其增加到4.0以查看发生了什么,并且我得到了很多关于mscorlib.dll中的类型定义的编译器错误。

我错过了什么?

我如何解决这个问题,以便能够编译一个以 FW4.0 为目标的项目,并且引用了以 FW2.0 为目标的 dnlib.dll?

0 投票
1 回答
2099 浏览

de4dot - 设置 CilBody.KeepOldMaxStack 或 MetadataOptions.Flags

使用 de4dot 反编译 .net 程序集时,我在控制台中收到以下消息:

计算最大堆栈值时出错。如果方法被混淆了,设置 CilBody.KeepOldMaxStack 或 MetadataOptions.Flags (KeepOldMaxStack, global option) 忽略这个错误

如何设置 CilBody.KeepOldMaxStack 或 MetadataOptions.Flags?

0 投票
1 回答
1939 浏览

obfuscation - Smart Assembly 7+ 字符串可以去混淆吗?

我计划使用 Smart Assembly 7+ 来混淆我的 .NET C# 库。但是当我浏览一些论坛时,我发现甚至有一些程序可以对受 Smart Assembly 保护的 DLL 进行反混淆,尤其是像de4dot这样的程序。

因此,我尝试使用 de4dot 对我的程序进行反混淆,令我惊讶的是,我的大部分逻辑都成功反编译了。但幸运的是,这些字符串没有被反编译。

他们的形式是Class24.getString_0(5050)

如果字符串不能被任何反混淆器正确反编译,那么保护我的核心逻辑就足够了。但我很偏执,也许我没有正确使用反混淆器,甚至有一些方法可以反混淆字符串(但我尝试为字符串运行反混淆器命令,如 repo wiki 中所述)。

基本上我的问题是,我能否确定被 SmartAssembly 混淆的字符串不能被市场上的任何反混淆器程序反编译。

此外,也欢迎任何关于混淆 .NET 库的好建议。

谢谢你们!

0 投票
0 回答
1369 浏览

c# - How do I set up and use de4dot?

I already know some geniuses are going to say if you have to ask this then you shouldn't be using it. DO NOT CARE. I have a couple of games I want to mod and port to other engines and languages for sake of performance. I was able to download the files but the binaries that most people were using instead are gone. I already have my decompiler. I am trying to pick coding and looking at high-level examples is the best way for me. I am using Visual Studio 2019 Personal.

0 投票
1 回答
49 浏览

.net - dnSpy编译后程序崩溃

我是 dnSpy 的新手,我想调试一个程序,我在 de4dot 中对 .dll 进行了去混淆处理,然后在 dnSpy 中打开它进行调试。我尝试编译一些方法。没有编译错误,保存了。并运行程序,导致崩溃。但是有人在他的电脑上尝试过同样的方法,但程序运行良好。我不知道为什么。

试图只在 .dll 中编译一个随机方法而不更改任何内容,但仍然相同。程序崩溃了。但是当我让程序在没有 dnSpy 编译的情况下运行时,它可以工作。为什么 ?有人甚至尝试了与我相同的步骤,他的程序有效,但我的程序无效。我尝试在不同的版本上使用 x86、x64、网络框架……但没有一个有效。有人可以告诉我我的问题是什么吗?我正在使用 Windows 10 x64 20h2。我已经使用 SDK 5 安装了 dotnet 4.8 和 3.5。