编程直播室第二期:CadLib 授权机制研究与实现注意

以前做一个软件的制图功能,需要用到CAD的二次开发。通常是首选AutoCAD的二次开发接口,但是我们的功能需要和我们原有的平台集成,而AutoCAD二次开发需要在他自己平台的基础上来进行,整个框架比较重,我们的功能不是很大,只是其中一个小的功能模块,于是就想寻找一个第三方的轻量级的开发包。通过寻找比较后发现,CadLib功能全面,比较符合我们的需求,但是在评估的过程中发现这个CadLib的试用版老是弹出窗口,这就引起了我的兴趣,我就好奇,他是一个怎么样的机制来授权的呢?于是通过反编译调试它的代码,初步了解了这个软件本身的一个授权机制。这次我就打算把这个过程分享给大家。

软件授权是软件保护概念的延伸和发展。软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。

对于软件保护来说,其核心理念是防止软件被盗版。

软件授权的方法有多种,我们这次研究下 CadLib 的授权方式,并仿照此方式,构造一个简单的 .Net 程序授权管理。

分享主要有三个内容:

使用 NdSpy 反编译、调试、修改没有源码的.Net程序。 学习 SignedXml 相关知识。 应用 Signed 代码实现一个简单的程序授权管理。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏phodal

使用 adr 轻松创建 “程序员友好” 的轻量级文档

是的,我又写了一个 markdown 工具,它对我来说非常有用。 上下文 在一周里,我看到了一个名为 “轻量级架构决策记录” 的技术实践。在看到了一个简单的示例...

22210
来自专栏架构师小秘圈

揭秘大型网站架构进化之路

丁浪,非著名架构师。关注高并发、高可用的架构设计,对系统服务化、分库分表、性能调优等方面有深入研究和丰富实践经验。热衷于技术研究和分享。 声明:版权归丁浪作者本...

4315
来自专栏廖念波的专栏

谈谈 KV 存储集群的设计要点

不同于无数据的逻辑层框架,KV 存储系统的架构设计会更复杂、运维工作更繁琐、运营过程中可能出现的状况更多、bug 收敛时间会更长。一句话:团队自己做一个 KV ...

2.1K0
来自专栏后端技术探索

Uber工程技术栈(二):看曾经的独角兽背后用了哪些技术

我们的服务彼此交互,还与移动设备进行交互,而那些交互对业务状况(比如动态定价)和内部使用(比如调试)来说都很重要。就日志而言,我们使用了多个Kafka集群,数据...

864
来自专栏腾讯数据中心

数据中心假负载验证测试实战指导方案

前言 数据中心作为一个由多个系统高度结合的复杂工程,在基础设施建设全部完成,各系统调试结束后,就具备了开展假负载验证测试的基本条件。一场规模宏大的数据中心规划、...

3236
来自专栏鹅厂网事

腾讯网络应对闰秒危机之最佳实践

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

2185
来自专栏移动开发之家

跨平台项目GSYGithubApp系列三大开源版本推荐(Flutter 、React Native 、Weex)

 跨平台作为移动开发中不可或缺的构成,GSYGithubApp系列一直致力于跨平台开发中的各种尝试,目前已经拥有 GSYGithubAppFlutter 、 G...

1113
来自专栏phodal

如何看待 GitHub 上许多笔记、面经等获得过多的 star?

文章来源于,我在知乎相关话题上的回答。问题大意是:SQLite 和 SQLAlchemy 项目的 Star 比许多学习笔记、面经还要少。

951
来自专栏魏琼东

基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 系统架构

      本文是继AgileEAS.NET应用开发平台介绍及AgileEAS.NET之敏捷并行开发方法所做的架构补充,用于阐释AgileEAS.NET平台的架...

1865
来自专栏织云平台团队的专栏

这样的CMDB设计,居然阻止了海量告警对运维的轰炸

3853

扫码关注云+社区