Board logo

标题: 紧急求助斑竹,难题码? [打印本页]

作者: aguang1024    时间: 2005-3-31 10:16     标题: 紧急求助斑竹,难题码?

斑竹,你好!
兄弟想请教如何在Flash中设置密码。用来控制我的主程序的运行。如果某人没有我的密码文件,即使有了我的程序也没有办法使用。就像正规软件中都有license 文件一样。另外,还有一种方式,即如何可以设定,我的程序只能够使用有限的次数。这样我可以把我的程序打一个包,送给一位网上认识的朋友。
作者: strongchen    时间: 2005-3-31 10:22

Freescale的MCU与现在的大多数MCU采用基本相同的加密方法,即如果没有密码,就无法读出芯片中的程序和数据。
至于你说的那种加密,应该是应用软件层次方面的问题,与芯片本身的加密方法无关。
作者: aguang1024    时间: 2005-3-31 10:39

strongchen,你好,感谢你的发言。其实,我的意思是如何在flash中的某一地址写一个或者几个字节的数字。然后在程序中。去读这个地址的内容。如果不是我所设定的内容,就不能继续运行程序。在使用次数的限制上,我可以在某一地址写一数字,每次启动程序,这一数字进行加1,或者减一,就可以了。可是关键是怎么控制,flash的擦写呢。而且比如我的密码是长留flash的,一旦写入,以后对于软件的更改,就不再更换密码了。
作者: aguang1024    时间: 2005-3-31 10:39

strongchen,你好,感谢你的发言。其实,我的意思是如何在flash中的某一地址写一个或者几个字节的数字。然后在程序中。去读这个地址的内容。如果不是我所设定的内容,就不能继续运行程序。在使用次数的限制上,我可以在某一地址写一数字,每次启动程序,这一数字进行加1,或者减一,就可以了。可是关键是怎么控制,flash的擦写呢。而且比如我的密码是长留flash的,一旦写入,以后对于软件的更改,就不再更换密码了。
作者: aguang1024    时间: 2005-3-31 10:44

自己顶一下
作者: strongchen    时间: 2005-3-31 10:52

应用程序对FLASH进行读或擦、写的操作是完全可以实现的,也很方便。对大多数Freescale的MCU,你可以直接调用它的Monitor ROM中的子程序对FLASH进行操作,当然也可以自己编程对FLASH进行操作。具体的资料请参加各个不同的MCU的数据手册中关于FLASH Memory和Monitor ROM的内容。
但我认为你如果不在应用程序中采用特殊的加密方法,那么别人一旦得到了你的程序,自然也就可以想办法破解了。
作者: nishui_2000    时间: 2005-3-31 11:27

有个最简单的办法,把里面的关键部分做成库的形式,然后这样光得到你的源程序,而不把库的代码发给他,很多关键函数也打不开的
作者: aguang1024    时间: 2005-3-31 16:41

nishui_2000,你好,可是怎么做成库呢?
作者: aguang1024    时间: 2005-3-31 17:05

顶一下
作者: aguang1024    时间: 2005-3-31 17:06

再顶
作者: maingao    时间: 2005-3-31 19:49

其实任何的加密只是一种形式吧,我个人认为的。因为无论是软件或者是硬件加密,只是一种对一般人的防范吧,有矛就有盾,只是一种值得跟不值得去解密的因素吧!你的第一个问题可以这样做吧,我这种方法本意也不是为了加密的,只是为了在线下载比较方便而写的。你可以把你的程序分成两部分。然后在Flash中分块吧!先写入一块程序,该段程序只负责管理你的Flash还有可以保存你的密码吧!然后在硬件中IO口上设置一下,如果出现你想要的情况,可以将程序跳到你的第一段程序地址中执行,也就是管理Flash的那段程序吧,这段程序可以下载你的原程序并把你的原程序写到你设置的区域吧,然后解除硬件设置,正常执行时就会在你的原程序中运行,并在你的原程序中校验一下你的密码吧,可以用一个关联密码,不要在原程序中出现具体的密码,如果能跟你密码的地址关联起来那更好不过了。这些只是有一定的作用,如果遇到真正的高手,也没有用,因为即使芯片加密,只要肯花气力也是可能的。所以这些加密方法都不是绝对万能的!
        至于你的第二个问题,应该可以解决,就像strongchen讲的那样是属于软件范畴的。你可以到那个论坛中去讨论。
作者: aguang1024    时间: 2005-4-4 13:43

顶一下
作者: aguang1024    时间: 2005-4-4 13:44

怎么没有人回应呢
作者: seuafu2005    时间: 2005-4-4 14:10

好象你的问题都回答过了,有没回答的吗?
作者: nishui_2000    时间: 2005-4-4 15:11

是问怎么做库的方面么?有个最简单的方法,你在这个论坛里面搜索一下,有介绍的,我也是跟那个大侠学的。很容易,我现在就在用库
作者: aguang1024    时间: 2005-4-5 16:46

可是我做的库,连接时,很多错误。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0