- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经用dotPeek 1.4反编译了DLL,看看里面发生了什么,但是有一些stage c#代码(请看附件)。有
为什么生成该代码?是否可以保护 dll 免遭反编译或将 dll 作为 release 发布?
我用Reflector试用版反编译时也出现同样的问题
最佳答案
首先,您试图对他们的代码进行逆向工程,从而违反了许可协议(protocol)。
f. Disassembly. You may not reverse engineer, decompile, disassemble or in any other way try to gain access to information regarding the construction of THE PRODUCT.
这是因为 .NET 允许在变量名称中使用比 a-z 多得多的名称。您可以在 MSDN 部分的 Identifiers (C#) 上阅读相关内容。 。 Visual Studio 不会喜欢这些变量,并且会提示,但它们在 IL 中完全有效(而在 C# 中无效)。
使用其他工具查看或转储到十六进制,您可以看到变量已被遮挡,并且类似于
,实际上是 ACK
字符 ^F 后跟“文本开始”字符看起来像空格字符,但不是空格字符。使用的其他字符包括退格字符。
上述代码的 IL 类似于
.field private static initonly string '\u0001'
.field private static initonly string '\u0002'
.field private static initonly string '\u0003'
.field private static initonly string '\u0004'
.field private static initonly string '\u0005'
.field private static initonly string '\b'
.field private static initonly string '\u0002\u2000'
.field private static initonly string '\u0003\u2000'
.field private static initonly string '\u0005\u2000'
.field private static initonly string '\b\u2000'
你明白了。
我想真正知道他们具体用什么来混淆这段代码(因为看起来很有趣!)。该代码显然是用类似 http://reflexil.net/ 生成的这允许编译后的 dll 保留有关变量名称的提示(但将其更改为无意义),这就是反编译器显示所有奇怪名称的原因(反编译器认为通过保留 dll 中提到的变量名称来进行切割)。
关于c# - DotPeek 无法正确反序列化 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29967990/
我正在使用 dotPeek,当它上线以获取给定类的一些代码时,我的连接就断开了。所以我的路由器为它提供了 500 个网关页面,现在每当我尝试查看该类的代码时,我都会获得该路由器页面的 html Vie
我遇到了 dotpeek 产品最奇怪的事情。 我从本地文件夹中打开了一个旧的 dll 版本,并在 dotpeek 中看到了一些添加到较新版本的代码。经过大约一天的调查,反汇编显示了旧代码。 有人可以向
我正在查看我自己用 dotPeek 反编译的一些代码。 我一直看到这个: // ISSUE: method pointer 这是什么意思?这是为了通知我我的代码有问题吗? 谢谢 最佳答案 本文: An
我正在尝试使用 JetBrains dotPeek 1.4 符号服务器,但是我遇到了一些失败的第 3 方程序集,dotPeek 状态为: Pdb has not been generated beca
我已经用dotPeek 1.4反编译了DLL,看看里面发生了什么,但是有一些stage c#代码(请看附件)。有 没有变量名称的变量声明 我认为有些变量是数字,它们没有名称 为什么生成该代码?是否可以
嘿嘿。我正在阅读Digi Traffic Accelerator的反编译源码(我认为这是最好的学习方式),直到我得到了一些看不懂的代码!请看一下: internal class ProxyFarm
我可以使用反编译器查看原始源代码,但如何修改源代码并在之后重新编译 .DLL? 最佳答案 首先,你没有看到原始的源代码;你会看到逆向工程的源代码。 如果您对以编程方式修改程序集感兴趣,请查看以下项目:
我目前正在尝试调试服务,但服务器上没有代码,因为代码很多而且移动起来并不容易。 我们目前在一台服务器上遇到问题,我可以调试该问题的唯一方法是使用 dotpeek 反编译 .dll 并显示 here @
我有一个关于 .dll 文件的问题。要打开 .dll 文件,我尝试了程序“dotpeek”。 启动程序,我单击"file"浏览我的文件(它是 Minesweeper.dll 默认 Windows 路径
我在反编译 .net 程序集时遇到问题。当我在 dotPeek 中打开程序集时,有一个名为 frmMain 的类,其中有数百个变量声明如下: [SpecialName] private static
我有点不小心删除了我几年前开始的一个大项目,从那以后每周都在做几天。 我有 2 个备份。 DVD 备份和外部 HDD 备份。外部 HDD 出现故障,并且由于某种原因无法再读取该死的 DVD。 DVD
我使用 VS2012。 我知道如何使用 .NET Reflector 调试第 3 方代码并一直使用它。 我想知道这是否可以通过 JetBrains 的 dotPeek 或没有 dotPeek 的 R#
dotPeek是一个免费的 .NET 反编译器。虽然是一个独立的工具,但它也是 ReSharper 的一部分:如果您告诉 ReSharper 导航到 class 的定义它位于 .dll 文件中,它会自
我偶然发现了这个 question询问linq的聚合算法,认为这种问题最好用逆向工程来回答,所以我去Visual Studio写了下面的代码(这段代码是为了在Compact framework项目中使
当用户按下“Shift + F1”时,LinqPad 调用“.Net Reflector”来获取成员反编译信息。 “.Net Reflector”很贵,需要190美元。但是“dotPeek”是免费的!
一位客户与他们以前的开发人员断绝了联系,我正试图从他们的工资单可执行文件中提取源代码,不幸的是,作为一名 Web 开发人员,我对 .NET 框架没有太多经验。 编辑:我们的客户合法拥有该软件但没有要求
我是一名优秀的程序员,十分优秀!