如何使应用程序只能用于自己的设备?

wjialin   2010-6-29 21:51 楼主
情况是这样的:

设备所有的硬件产品是我们公司自己研究开发的,处理器是Arm9的,操作系统是Windows CE5.0的.
应用程序有两种,一种是用C++语言在Evc环境下开发的应用程序,另外一种是C#语言用VS2005开发的应用程序.

问题是:
    如何通过控制应用程序,使我们开发的应用程序只能用在我们的设备上面.当然也可以包括硬件上面的控制. 另外我们的应用程序调用了硬件相关的API.这个硬件库是用C++写成的DLL.

回复评论 (6)

在你的OS中添加某个IOCONTROL,应用程序启动的时候调用这个iocontrol命令,如果系统返回你们预设的数据就执行,否则退出或出些警告之类的。

系统支持这个iocontrol的时候可以单纯的由OS来完成,也就是说所有的OS都使用同样的数据,其它机器只要烧录了这个OS就能使用。
另外一种是系统执行这个iocontrol的时候是从硬件上读取相应信息,这个信息可以写到机器的FLASH固定区域,或者是EEPROM,这样还能使每个机器的识别信息都不同,可以加一些算法加密等等,或者是使用专门的ID芯片。这样的话即使其它机器烧录了你们的OS也无法正常使用。
点赞  2010-6-29 22:10
可以在硬件上加个EEPROM或者单片机,软件启动时读取加密信息即可
点赞  2010-6-29 22:10
引用: 引用 1 楼 veabol 的回复:
在你的OS中添加某个IOCONTROL,应用程序启动的时候调用这个iocontrol命令,如果系统返回你们预设的数据就执行,否则退出或出些警告之类的。

系统支持这个iocontrol的时候可以单纯的由OS来完成,也就是说所有的OS都使用同样的数据,其它机器只要烧录了这个OS就能使用。
另外一种是系统执行这个iocontrol的时候是从硬件上读取相应信息,这个信息可以写到机器的FLASH固定……


不错的方法
点赞  2010-6-30 09:36
都是自己开发的东西,做加密应该不是难事儿,

用心想,自然会找到合适的解决方案
点赞  2010-6-30 09:57
印象中Ateml公司有一款带ID号的eeprom,IIC通信的,可以挂在总线上,接上去运行软件时候自己搞一个小规定就可以实现简单加密了
点赞  2010-6-30 10:19
这种加密只能防止小人。呵呵,专人照样破解,不过逼迫客户付款即可。
点赞  2010-6-30 10:21
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复