打印
[开发工具]

我知道Jlink检测盗版的方法了,并有了应对方法

[复制链接]
22374|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 鹤舞九天 于 2013-10-20 10:36 编辑

今天想尝鲜,下载了最新版的MDK

但是悲剧的事情发生了,在用JLink下载程序的时候通知我用的JLink是克隆版本
随后KEIL就被强行关闭了!

这让我心里极度不爽,所以发誓要找出根源。
经过一番查找后,我找到了这个

因为我老版本的MDK并没有卸载,所以我找到了同样的文件夹。
我一次替换一个文件,我最终发现,就是红色方框标注的这个
文件在搞鬼。记住它! JLinkARM.dll
我用老版本的同名文件将之替换

再次下载程序,OK!一切正常!!!

知道了原因所在,我就大胆起来了,我在SEGGER官网下载了最新版本的
JLink驱动

好阴险!我定睛一看,这不是要把那个JLinkARM.dll 加到我新版MDK的Segger文件夹么?
不就是我刚才找的那个文件夹么?顿时我明白了,为啥新版的驱动会使MDK识别出盗版的JLink!是因为它把这个万恶的文件写到这个文件夹中去了!!!
当然,你不把这个选项打勾就行了。但是,我为了验证真理,毅然决然地将其勾上。
然后,起变化了!!!

看到了吧,它把老版的文件变成了  JLinkARM_Backup00.dll
再次用MDK下程序,果然,熟悉的窗口又跳出来了!

我果断把新的 JLinkARM.dll 删除,把JLinkARM_Backup00.dll重命名为JLinkARM.dll
一切回归原貌,程序下载正常!!!
解决了,都解决了!!!
我就无聊地研究了这几个.dll文件 JLinkARM.dll,JL2CM3.dll和JLTAgdi.dll的作用。
验证结果如下:
1、当我删除 JL2CM3.dll的时候

你根本就找不到那个熟悉的 JLink/J-Trace Cortex
2、当我删除 JLinkARM.dll的时候,效果和刚才一样
3、当我删除 JLTAgdi.dll的时候

出现了这样的错误,不能读取这些特殊功能寄存器的状态,这估计和调试有关系吧,但是下载程序任然是成功的哦!
好了,总之如果JLink被检查出了为克隆版本不要慌,把JLinkARM.dll用能通过检测的版本替换掉即可。
如果你以前的JLink可以使用,但是想更新驱动程序,请不要在这个界面打勾!!!

当然,如果已经勾上了,也别担心,可以按我前面讲的方法还原。
经验证,装新版的JLink驱动,下面这些都不能用了

因为,我们换掉的只是MDK里面的文件,新版软件本身的验证机制并未消除。但是这也无伤大雅,因为只要你不用JLink供电,就根本用不到这些。
如果实在介意的话,换回老版本驱动即可。
PS:MDK检测克隆版就是靠这个文件 JLinkARM.dll  而这个文件就是来源于JLink的驱动程序,之所以老版本的MDK不检查克隆版
是因为老版本的MDK在安装的时候自带的JLinkARM.dll  文件来自老版的JLink驱动。而新版的MDK检测克隆版,是因为新版的MDK在安装时自带的
JLinkARM.dll 来自新版的JLink驱动。这就解释了为什么 用老版的MDK装新驱动程序会检测克隆版,用老版的驱动而装新的MDK也会检测克隆版。
基于上面的结论,我们用老版的MDK要装新的JLink驱动时,不要在安装的最后一个界面打勾,防止MDK中的老版JLinkARM.dll被覆盖
我们用老版的JLink驱动,而升级MDK后,需要重新装老版驱动,并安装最后一个界面打勾,以覆盖新版MDK中的新版JLinkARM.dll
为了保险,最好备份一个能通过检测的JLinkARM.dll文件,以便能随时替换不能通过检测的JLinkARM.dll文件。
沙发
hithms| | 2013-10-19 22:50 | 只看该作者
不管怎么样,先赞一个:)

使用特权

评论回复
板凳
jim0810| | 2013-10-19 23:57 | 只看该作者
赞一个

使用特权

评论回复
地板
第九度| | 2013-10-20 10:18 | 只看该作者

使用特权

评论回复
5
戈卫东| | 2013-10-20 10:56 | 只看该作者
放弃更新保留旧版.....似乎不是最好的办法....

使用特权

评论回复
6
戈卫东| | 2013-10-20 10:57 | 只看该作者
某些新器件也许会有问题.

使用特权

评论回复
7
zeluo| | 2013-10-20 17:30 | 只看该作者
有可能是编译器出了问题  也是有可能的  楼主   这一块   了解的不多   话说   感觉应该是设置问题

使用特权

评论回复
8
putron09| | 2015-9-21 14:12 | 只看该作者
顶一个,这个有用

使用特权

评论回复
9
fanxsd| | 2015-9-21 15:21 | 只看该作者
楼主牛X啊!

使用特权

评论回复
10
```| | 2015-9-21 16:57 | 只看该作者
JLinkARM.dll里似乎放的是Flash算法、J-Link Firmware以及其它数据。所以J-Link每次升级,这个文件变动最大。
JLTAgdi.dll:Keil提供了一个外设模拟接口较AGSI(Advanced Generic Simulator Interface),这个AGDI是Advanced Generic Debug Interface?主管Debug?
                  官网描述这是一个Keil沟通Debugger的接口:http://www.keil.com/appnotes/docs/apnt_173.asp
JL2CM3.dll:字面意思是J-Link to Cortex-M3。不知道里面放了啥。IAR不需要这个文件。

楼主的J-Link应该可以用最新版,但可能要改下SN了。

使用特权

评论回复
11
a318399949a| | 2015-9-22 13:14 | 只看该作者
楼主可以深挖一下dll文件,呵呵

使用特权

评论回复
12
wdliming| | 2019-2-23 20:46 | 只看该作者
谢谢楼主

使用特权

评论回复
13
下里夫人| | 2019-7-5 22:22 | 只看该作者
挺不错的,找到问题细节,有助于用好工具

使用特权

评论回复
14
goodluck09876| | 2019-7-6 09:10 | 只看该作者
厉害啊!

使用特权

评论回复
15
wishriver| | 2024-1-2 00:37 | 只看该作者
无所谓,用stlink就好了,让jlink做下一个会声会影

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

11

帖子

0

粉丝