代码混淆软件 DotFuscator 非常严重的问题,放在首页通知一下各位。
2009-12-06 01:49
211 查看
版本:
我使用的开发工具是VS2005, 自带的是 DotFuscator Community Edition.
版本号是:3.0.2005.16132
S/N: 000-00-000-391
版权信息是:2002-2005 PreEmptive Solutions
问题简要描述:
在线程中操作的对象会突然消失。 非常非常的严重。简单可以看下面一个模型:
class Person
{
private Tools tool;
}
在一个内部类person里面,有一个内部域(Field) tool。如果这个类放在一个不断循环的线程里面,那么tool会不定期、没有原因的消失。
这种线程包括了:asp.net的链接操作、Thread操作、异步操作。
问题发现过程
开始的时候我以为是自己的水平问题,代码没有写好,但是反复的debug并没有发现任何问题。
后来我尝试使用没有混淆的代码和混淆的代码,明显混淆的代码经常报空指针的错误。
天啊!!!是空指针!!这个是debug里面最恶心的错误! 我看见NullPointReference的错误,每位程序员都会感到恶心的。
后来为了验证问题,我使用了AOP,对一个类的所有public方法进行了检视,每次调用除了打印传入、传出参数,还打印类内部的field值。
经过1小时的日志跟踪,发现:
1. 如果这个类没有被操作,那么内部数据不会丢失。
2. 如果出现了新的线程(以上所说的)后,内部对象丢失。
3. 如果线程是一个长时间的操作(例如插入10w条数据记录) ,大概在3000条的时候会不定期的发生内部对象丢失。
因此再次告诉各位程序员,千万千万不要使用dotfuscator,后果非常的严重!!!!!已经导致我的业务数据丢失了几次了。损失惨重!
也希望如果有好的代码混淆软件,推荐一下。毕竟,客户端部署在外部,内部的加密算法是不能够随便暴露的。
备注一下:
我现在正在和 PreEmptive 公司联系,希望他们对这个问题做出正确的解释。有信息会立刻放上来。
我使用的开发工具是VS2005, 自带的是 DotFuscator Community Edition.
版本号是:3.0.2005.16132
S/N: 000-00-000-391
版权信息是:2002-2005 PreEmptive Solutions
问题简要描述:
在线程中操作的对象会突然消失。 非常非常的严重。简单可以看下面一个模型:
class Person
{
private Tools tool;
}
在一个内部类person里面,有一个内部域(Field) tool。如果这个类放在一个不断循环的线程里面,那么tool会不定期、没有原因的消失。
这种线程包括了:asp.net的链接操作、Thread操作、异步操作。
问题发现过程
开始的时候我以为是自己的水平问题,代码没有写好,但是反复的debug并没有发现任何问题。
后来我尝试使用没有混淆的代码和混淆的代码,明显混淆的代码经常报空指针的错误。
天啊!!!是空指针!!这个是debug里面最恶心的错误! 我看见NullPointReference的错误,每位程序员都会感到恶心的。
后来为了验证问题,我使用了AOP,对一个类的所有public方法进行了检视,每次调用除了打印传入、传出参数,还打印类内部的field值。
经过1小时的日志跟踪,发现:
1. 如果这个类没有被操作,那么内部数据不会丢失。
2. 如果出现了新的线程(以上所说的)后,内部对象丢失。
3. 如果线程是一个长时间的操作(例如插入10w条数据记录) ,大概在3000条的时候会不定期的发生内部对象丢失。
因此再次告诉各位程序员,千万千万不要使用dotfuscator,后果非常的严重!!!!!已经导致我的业务数据丢失了几次了。损失惨重!
也希望如果有好的代码混淆软件,推荐一下。毕竟,客户端部署在外部,内部的加密算法是不能够随便暴露的。
备注一下:
我现在正在和 PreEmptive 公司联系,希望他们对这个问题做出正确的解释。有信息会立刻放上来。
相关文章推荐
- 发现使用dotfuscator的非常严重问题
- [求助][难题]DUDU原谅,问题绝非一般,所以放在首页,让各位高手前辈赐教
- 软件测试作业2:读代码回答问题
- 请问混淆代码的问题!
- Dotfuscator代码混淆工具的使用
- C#使用Dotfuscator混淆代码的加密方法
- C#使用Dotfuscator混淆代码的加密方法
- Android的JS调用Java代码或使用了Javascript相关技术,混淆问题
- <读书笔记>软件调试之道 :从大局看调试-发现代码存在问题
- 使用Dotfuscator 进行.Net代码混淆 代码加密的方法
- 赛门铁克软件(北京)有限公司:有关更新赛门铁克防病毒软件病毒定义代码的问题
- 张孝祥老师交通灯管理系统的学习笔记 在做一件事时,首先要明确要达到什么效果。有目的性。就软件项目来说就是,首先要看的就是项目所提出的项目要求。做项目,不急于写代码,先把问题搞清楚,把要求分
- Eclipse打包Android混淆代码降低代码可读性时,出现的Warning:can't find referenced class问题的解决方案
- C#使用Dotfuscator混淆代码的加密方法
- 三层架构的问题:代码到底应该放在何处
- 背包问题01图文附带代码,非常清晰
- 记自己一次严重代码疏忽(ajax的responseText不能比较的问题)
- android 代码混淆及问题大集锦
- 奇怪的问题:js代码只能放在代码中不能引用文件
- dotfuscator混淆的问题