当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]大多数人的理解是这里的产品编号和程序版本号应该是为了方便公司对产品进行管理,比如现在有同一个型号不同版本的产品混在一起,就可以利用其进行区分。实际上这段代码的作用不是这样简单,更重要的是对外起到身份标示的作用,当出现知识产权纠纷的时候,这段代码的威力就显现了出来。

许多公司程序的一开始总会有这样一段源代码:

const unsigned char version_num[]={......};

大括号中为产品编号和程序版本号,产品编号和程序版本号都是公司指定的,除了少数时候可以通过外部通讯读取这个号码外,大多数时候只是放在这里,程序并没有对其做任何处理 。

大多数人的理解是这里的产品编号和程序版本号应该是为了方便公司对产品进行管理,比如现在有同一个型号不同版本的产品混在一起,就可以利用其进行区分。实际上这段代码的作用不是这样简单,更重要的是对外起到身份标示的作用,当出现知识产权纠纷的时候,这段代码的威力就显现了出来。

现在让我来给你一个假设,这个假设是针对单片机产品:你花了很长时间终于开发出一款受市场欢迎的产品,经过产品开发、市场前期推广,俨然就是花开结果,马上就是享受回报的时候。可此时杀出一家知名公司推出同样的产品,一下就把你逼到无利可图的地步。你经过仔细对比,可以确认此知名公司推出的产品用的代码就是你开发的,因为产品是你开发的,没有源代码外泄的可能。

难道真的这么巧是知名公司开发出了和你一模一样的产品?这种说法只能是哄小孩,一个产品,多少都有一些只有开发者自己知道的细节,只有开发者自己才知道这些细节的存在,而且这些细节是不会再产品规格书上有体现的,就好比是双胞胎,别人看就是一个模子出来的,可父母一眼就能看出许多不同。

现在答案是显而易见的,是知名公司通过某种非正常手段得到了你烧到芯片里面的代码。既然这样那可以去告知名公司啊,现在一个问题就出现在你面前,你如何证明这个程序是你写的?也许你会说要证明这个还不简单?我有源代码啊,知名厂家没有。可如果知名厂家说他们的源代码被当时的项目工程师离职时删除了,现在在你这里出现了,好哇,告你非法窃取公司商业机密。

当然,知名公司告你是告不赢的,只不过他们是大公司,不缺小钱,他们可以花一笔钱请一个律师把你拖到漫长的司法诉讼过程中,知名公司并不希望打赢官司,目的只有一个:“拖垮你,让你觉得耗不起只好自动退出。”

如果你在代码里面有这样的一段代码,恐怕知名公司别再妄想通过司法过程的漫长来拖垮你,你很容易就能用这段代码通过司法鉴定证明程序就是你编写的,一旦证明这个程序是你的,知名公司就不会再使用拖字诀,到那个时候就只有一条路可供他们选择,找你和解。

这是我通常在程序中留的个人签名,很简单,就是我常用的一个邮箱,哈!当然不会一直都是这个邮箱啦,会变来变去的,但有一个基本原则,很容易证明这个签名信息就是我。

const unsigned char author_msg=['s','j','_','d','a','i','@','h','o','t','m','a','i','l','.','c','o','m');

如果你觉得这个签名还不够安全,看下面的:

name_sum=0;

for(i=0;i

{

name_sum=name_sum+author_msg[i];

}

if(name_sum!=0xXX)

{

while(1)

{

//死循环

}

}


作者介绍: 戴上举,1976年出生于湖南,1998年中国农业大学应用电子技术专业毕业,先后在国有、民营和外资企业从事过研发工作。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2024年4月26日,中国深圳——2024年是OPPO品牌成立20周年。在2024年世界知识产权日,OPPO正式发布首份《OPPO创新与知识产权白皮书》,系统性地展现了OPPO 20载技术创新和知识产权保护成果。

关键字: OPPO 知识产权 AI

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用
关闭
关闭