以前做一个软件的制图功能,需要用到CAD的二次开发。通常是首选AutoCAD的二次开发接口,但是我们的功能需要和我们原有的平台集成,而AutoCAD二次开发需要在他自己平台的基础上来进行,整个框架比较重,我们的功能不是很大,只是其中一个小的功能模块,于是就想寻找一个第三方的轻量级的开发包。通过寻找比较后发现,CadLib功能全面,比较符合我们的需求,但是在评估的过程中发现这个CadLib的试用版老是弹出窗口,这就引起了我的兴趣,我就好奇,他是一个怎么样的机制来授权的呢?于是通过反编译调试它的代码,初步了解了这个软件本身的一个授权机制。这次我就打算把这个过程分享给大家。
软件授权是软件保护概念的延伸和发展。软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。
对于软件保护来说,其核心理念是防止软件被盗版。
软件授权的方法有多种,我们这次研究下 CadLib 的授权方式,并仿照此方式,构造一个简单的 .Net 程序授权管理。
分享主要有三个内容:
使用 NdSpy 反编译、调试、修改没有源码的.Net程序。
学习 SignedXml 相关知识。
应用 Signed 代码实现一个简单的程序授权管理。
注意
整理后的文档在GitChat进行分享,欢迎扫码加入:
未整理分享过程在知识星球,欢迎加入: