相关疑难解决方法(0)

保护.NET代码免受逆向工程?

混淆是一种方式,但它无法防止破坏应用程序的盗版保护安全性.我如何确保应用程序不被篡改,以及如何确保注册机制不能被反向工程?

此外,可以将C#应用程序转换为本机代码,而Xenocode代价太高.

C#提供了很多的功能,并且是我的代码的理想语言,所以下再次写入整个代码库++是出了问题.

可以从.NET中的签名程序集中轻松删除安全证书.

.net c# obfuscation reverse-engineering

481
推荐指数
19
解决办法
23万
查看次数

.NET代码混淆真的值得吗?

从我所读到的,代码混淆并不是那么难以"破解",它只会延迟不可避免的.在那种情况下,它的目的是什么?

如果有人真的想偷你的来源他们可以.

如果有人需要查看您的源代码以获取无害/有用的目的,他们就不能.

您可能不应该在代码中存储任何敏感内容,因此这不应该是一个问题.

如果你没有混淆,你仍然没有提供完整的源代码,所以你可以出售"源代码许可证".

有趣的是,我见过的唯一代码混淆是可怕的代码,其中有错误.我需要查看代码的唯一原因是弄清楚问题是什么以及我可以做些什么来解决它.

例如,我需要替换ASPDotNetStoreFront中的一些图像.在查找标签的位置时,我发现它们包含在已编译的代码中.废话.所以我想我会反编译代码,找出要通过Regex替换的img标签.我试图查看源代码,看看哪些图像可能来自给定的编译方法,而反射器无法处理它,我认为是因为混淆.我没有时间去寻找de-comilers/de-obfuscators.

.net obfuscation

15
推荐指数
2
解决办法
7162
查看次数

.NET反编译,有多容易?

我正在研究应用程序的许可证密钥的最佳加密,有人说有人可以轻松地反编译应用程序,然后只是跳过许可证密钥的测试.

实际上,有人会如何做到这一点?所以他们有我的.dll,他们必须以某种方式反编译,然后注释掉函数调用以检查许可证,然后重新编译它?反编译器必须非常好,以便代码仍然可以编译!

.net decompiling copy-protection

13
推荐指数
3
解决办法
2万
查看次数

保护我的代码免受逆向工程

正如在这里这里的类似问题中所讨论的,我想保护我的代码免受逆向工程.

我的情况是这样Simucal在他的(优秀)答案描述在这里:

基本上,它归结为唯一的机会是你有一个非常具体的,难以设计的,与你的领域相关的算法,让你在竞争中占据优势.这是尝试对应用程序的一小部分进行逆向工程的唯一时间.

我确实有这种情况.一种难以设计的算法,对我们的特定领域而言是优雅且有价值的.

经过数月的微调和开发后,最终结果非常紧凑(大约100行代码)和优雅.我想保护代码的这一特定部分免受逆向工程或至少使其合理困难.

该场景是一个用C#编写的富客户端应用程序,我必须部署这部分代码 - 我无法从Web服务执行它.

我认为,由于性能原因(以及跨边界问题),提取代码并在非托管本机二进制文件中重写代码不是一种选择.

最初我想做简单的混淆,但考虑到代码的小,我不认为这会提供很多保护.

理想情况下,我想保护我的整个应用程序,但有两个主要问题似乎使普通的混淆器和第三方打包器难以使用:

  1. 该应用程序提供了一个插件接口,因此不应对某些程序集(和接口/类)进行模糊处理和打包

  2. 我们仍然希望能够在接收错误报告时获得真正的堆栈跟踪 - 这可能是我对映射模糊到真实代码所做的.

将这些问题放在一边(尽管我也很感激这方面的任何意见),保护我的一小部分代码免受逆向工程的好方法是什么?我并不担心任何人改变或破解代码,而是想让它难以理解和逆向工程.

c# obfuscation reverse-engineering

6
推荐指数
1
解决办法
2852
查看次数