Tag: 反编译

重写.Net DLL的方法

我有一个旧的.NET DLL,我丢失了源代码,我想看看我是否可以改变它的行为。 它有一个接收字符串并返回字符串的方法。 我想重写这个方法,以便我可以返回 startStr + ” test”; 我尝试了.NETreflection器,但它生成的项目有一堆奇怪的错误,所以我无法重新编译它。 然后我尝试了Reflexil,但它只提供了assembly级别的更改。 有什么办法可以在C#中重写方法并让DLL使用我的方法吗?

从CLR样式类型的全名获取C#样式类型引用

给定通过reflection找到的.NET类型对象,是否可以将此类型打印或反编译为C#声明,同时考虑C#类型别名等? 例如, Int32 -> int String -> string Nullable -> int? List -> List 我希望能够打印出与源中最初编写的方法相近的方法。 如果.NET框架中没有任何内容,是否有第三方库? 我可能会看看ILSpy 。

如何保护我的C#代码不被反编译?

可能重复: .Net混淆 .NET世界中混淆的替代方案 就在几分钟前,我读到有许多免费工具可以让你将C#.exe转换回VB解决方案。 这意味着我的专有代码可以被查看,编辑和重新编译/重新分发。 有办法防止这种情况吗?

Confuser .NET Obfuscator。 安全吗?

我目前正在开发一个应用程序,让用户不要反编译代码。 现在,我知道大多数.exes如果由经验丰富的程序员执行,则可以解压缩。 但是,我的目标只是为了保护其免受具有基本编程知识的“常规”用户的影响。 我遇到过几个混淆器,我现在使用的是Codeplex Confuser,你可以在这里找到它。 由于我不是混淆大师,或者在任何高级编程中经历过的,我问你是否知道这个混淆器的安全性。

c#decompiler是如何工作的

我对ILSpy或.Net Reflector等反编译器很感兴趣。 谁能告诉我这个反编译器如何将用c#编写的exe或dll文件转换为原始源代码?

如何将CIL转换为LINQ表达式树

有没有关于将CIL直接转换为LINQ表达式树的工作? 这将包括类库,博客,书籍,学术论文等。 CIL和LINQ Expression API之间已知的不匹配是什么? 我见过一个项目 ,它显着扩展了Expression API,以支持C#和LINQ表达式之间几乎完整的映射。 建议采取哪些方法来解决这些不匹配问题? 直接从CIL转换为LINQ表达式有什么根本性的错误吗? 如果是这样,为什么?

是否可以使用dotPeek反编译的源实际调试第三方代码?

我用的是VS2012。 我知道如何使用.NET Reflector调试第三方代码并始终使用它。 我想知道这是否可以通过JetBrains的dotPeek或没有dotPeek的R#本身实现。 我能够导航到反编译的第三方代码,但不能单步执行它。 有任何想法吗?

隐藏已编译应用程序的可执行代码的实践

反编译和反向工程.net程序集是标准做法。 我想发布一些将添加到现有应用程序的插件程序集,但我不希望其他人使用它们。 有什么方法可以隐藏这些组件的来源?

Enumerable.Sum()溢出

嘿,我正在使用LINQ的Enumerable.Sum()扩展方法来计算哈希码,并且在代码变大时遇到OverflowExceptions问题。 我尝试将调用置于unchecked块中,但这似乎没有帮助。 该方法的MSDN文档说,如果值太大,它将抛出,但我检查了reflection器,这就是: public static int Sum(this IEnumerable source) { if (source == null) { throw Error.ArgumentNull(“source”); } int num = 0; foreach (int num2 in source) { num += num2; } return num; } 根据这个反编译,我希望它可以溢出或不取决于调用代码的上下文。 为什么它会溢出,我怎么能让它停止?

使用Visual Studio集成的C#最佳(免费?)反编译器?

在我的Java开发中,我从Jad / JadClipse反编译器中获益匪浅 。 它使人们有可能知道为什么第三方库失败而不是通常的猜测。 我正在寻找C#和Visual Studio的类似设置。 也就是说,我可以指向代码中的任何类或变量并获取该特定类的代码视图。 什么是最好的设置? 我希望能够使用通常的“跳转到声明/实现”来导航我自己的代码。 它不一定是免费的,但如果是的话,它将是一个奖励。 它应该支持Visual Studio 2008或Visual Studio 2005和.NET 2和3(.5)。