许多公司程序的一开始总会有这样一段源代码:
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)
瞬态抑制二极管与其它过压保护技术的对比
挑战芯片尖端工艺,应用材料公司三款利器齐把舵
丰田汽车收购澳洲锂矿商_丰田加大碳酸锂矿年产能
华为mate9最新消息:华为mate9的正确的打开方式,高逼格应用才是商务男士的首选
新产品上市:GAM-100低功耗蓝牙仪表数据搜集器
程序保护_源代码里的秘密
小米将与爱立信和解,MTK版小米手机重返印度
以光速洞察世界
为什么测试之前需要对仪器和测试系统进行校准?
6G亟待解决的数据技术难题
小爱同学AI助手已通过大模型备案
日本百年光学巨头尼康耐不住寂寞,入局激光雷达市场
北斗全球系统建设推进 自动驾驶定位精度提升可期
智能洗车公司“驿公里”宣布获得阿里巴巴投资
恒流源电路原理详解及其使用注意事项
紫外光电探测器在锅炉加热火焰熄灭检测中的应用
什么是微电脑自动数粒仪,它的产品特性的详细介绍
百度网盘公告1年内未登录将下调免费空间
iPhone7 也望尘莫及,vivoX9、OPPOr9s 这项功能展现国产本事
全加器