身边的公司知名.NET软件被逆向工程反编译的真实案例,中间语言的东东,还是不可靠
我很少发帖,更很少发这类闲谈的帖子。有兴趣了解的看看呵呵。
昨天有个朋友,所在公司A,来让我看他们请人开发的,模仿某业界知名(全球知名吧 500强旗下子公司)公司B的某款软件,是一款工程上用的图形类软件。
我看了后,首先发现界面出奇的一致,就几个按钮布局有不同,我就用PEID看,发现都是.NET,VS2005开发的。
.NET做这类软件也不奇怪。
然后朋友说,他们的软件可以打开B的文件。我就纳闷了,因为B的软件的文件格式是不公开的。
我首先想到的是逆向工程,反编译源码后,重新编译的。后来证明结果是对的。
然后我就用VS2005引用了A和B用到的类库,结果发现所有第三方类库,除了SpaceName不同,其他的诸如类名、成员函数等完全相同。
然后我就找了款反编译工具,提取A和B的代码看,果然一样。
我朋友看后一身汗,因为他们本计划6月份发布的。幸好及早发现。
我在自己产品的开发上一直没用.NET开发,除了考虑效率外,也曾经考虑过代码的保护问题。现在想想,中间语言还是不可靠啊