我用的是JLINK OB, 今天安装了JLINK6.30g版本, 但仿真时 The connected J-Link is defective. Proper operation cannot be guaranteed...,提示我的JLINK是有缺陷的,我点确定后仍然能正常运行。但总不能每次仿真都提示一下吧,决定偿试一下能不能解决。
首先用OD载入JLINK.exe, 运行,一会儿出现The connected J-Link is defective对话框
点OK后程序可以正常运行。我们知道JLink的驱动在JlinkARM.dll文件中,因此切换到模块JLinkRAM. 在OD中右键-查看-模块JLINKARM。
右键-分析-分析代码
右键-查找-所有参考文本字串
在弹出的框中查找文本 The connected J-Link is
找到提示的语句, 在该行上,右键-反汇编窗口中跟随
在汇编窗口中的该行上双击HEX数据列下断点,按CTRL+F2,使程序重新运行,大约5秒后停在该行上
根据堆栈空间,和汇编代码,函数的入口点应该在PUSH Warning之前,
因此在之前的PUSH ESI上下断点,按CTRL+F2,使程序重新运行,然后乖乖停在该行上
按F8单步运行,发现有一个循环次数0x1388 的判断过程,循环结束后将弹出The connected J-Link is defective对话框,如果在循环中条件成立则跳转到JLinkARM.6FC0B4D6
尝试使程序强制跳转到JLinkARM.6FC0B4D6。双击该行,修改汇编JNZ 为 JMP,然后继续按F8单步运行,程序跳转到JLinkARM.6FC0B4D6处
然后使程序全速运行,发现不再提示The connected J-Link is defective对话框。
用UltraEdit打开JLinkARM.dll,查找85 C0 75 77 6A 01 E8, 发现只搜到一处,将75改成EB后保存,直接运行JLINK.EXE, 不再出现The connected J-Link is defective对话框, 问题解决
下面是修改过的JLinkARM.dll
JlinkARM破解
猜你喜欢
转载自my.oschina.net/u/730693/blog/1788697
今日推荐
周排行