反编译受保护的 C# [关闭]
Posted
技术标签:
【中文标题】反编译受保护的 C# [关闭]【英文标题】:Decompile protected C# [closed] 【发布时间】:2017-03-26 20:08:18 【问题描述】:我有一个 C# 程序,我想反编译它,我使用了 [ILSpy & NetReflector],一切正常,程序被反编译,但源代码被加密或以某种方式保护,因为所有 .cs 文件都不内容我想要的确切代码。 我尝试在其他程序上进行反编译,结果很好,但只有这个文件。 这是encrypted .cs files的图片
【问题讨论】:
你的问题? cs文件长什么样?您刚刚发布了解决方案文件夹的图片 " .cs 文件不包含我想要的确切代码" 你知道反编译不准确,不会产生原始源代码吗?跨度> 我的问题是如何解密受保护的 .cs 文件以查看正确的代码?.. 我知道程序做什么,我知道必须显示一些代码 @ASSAYYED a) 它没有加密 b) 您的工具会尽力而为。没有办法可以肯定地返回原始代码。 ... c) 如果作者希望您这样做,他/她会与您分享源代码.. 【参考方案1】:您尝试查看的代码已使用混淆器编译,以阻止人们对其进行反编译。混淆器重新排列和重命名代码中的内容,使计算机仍然可以运行它们,但人类更难理解。
混淆的步骤之一是用混乱的随机字符交换所有漂亮的人类可读变量、类和方法名称。这就是为什么您的反编译文件中疯狂混合了中文、韩文、希腊文、印地文等字母的原因。这一步是不可逆转的,因为它们没有被加密,它们只是被废话代替。
【讨论】:
这意味着不可能恢复代码?....编译的工具包含一个代码调用“tool.exe”,我在所有文件中搜索名称但没有运气......应该我从你的回答中理解,甚至工具名称都被替换了? @ASSAYYED 类名、方法名、字段名、属性名、事件名......基本上任何不是文字或关键字的东西都被不可逆转地替换为随机废话。 好的,我明白这一点,但现在当我尝试时,我发现 exe 被“Confuser”混淆了,现在我正在尝试“去混淆”它并成功但不完全.. ...您现在有什么好的程序来反混淆混淆器吗? 最好的办法是闯入编写程序的人的办公室并偷走他们的硬盘。如果出于道德或法律原因您不能这样做,您可能应该退出。以上是关于反编译受保护的 C# [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
[C#防止反编译].NET 产品版权保护方案 (.NET源码加密保护)