天天看點

[jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue

解決jlink-ob仿真自動退出

  • jlink-ob 各個版本都适用--jianqiang.xue
    • 一、準備工具:
    • 二、OD查找關鍵資訊
    • 三、修改JLinkARM.dll檔案,解決問題
    • 四、速成版本,直接替換JLinkARM.dll

jlink-ob 各個版本都适用–jianqiang.xue

一、準備工具:

  1. FishcOD (百度雲,提取碼:4131) CSDN (城域網盤,通路密碼: 4634)
  2. UltraEdit (百度雲,提取碼:l9xz) CSDN (城域網盤,通路密碼: 4634)

二、OD查找關鍵資訊

  1. 打開OD,載入JFlash.exe. (x\JLink_Vxxx\JFlash.exe)
  2. 點選運作,此時,J-Flash會被打開。
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
  3. 随便建立一個項目,然後連接配接目标裝置。
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
  4. 等等30s,直到J-Link彈窗警告。
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
  5. 然後傳回OD界面,檢視–可執行子產品–JLinkARM.dll(輕按兩下打開)
  6. OD彙編視窗,右鍵–中文搜尋引擎–智能搜尋
  7. Ctrl+f,打開搜尋框,并輸入"The connected J-Link is",找到後,輕按兩下進入。
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
  8. 找到“提示框”位置。彙編講解如下:
042392D5    85C0            test eax,eax
042392D7    75 59           jnz short JLinkARM.04239332
042392D9    6A 01           push 0x1
042392DB    E8 C0100800     call JLinkARM.042BA3A0
042392E0    46              inc esi
042392E1    83C4 04         add esp,0x4
042392E4    81FE 88130000   cmp esi,0x1388
           

可以看到有個循環0x1388的地方(0x1388換算10進制為5000,實際上這裡的含義是軟體開啟5000ms,即5s後彈出這個提示警告框),這個地方就是最初彈出的提示我們警告框的地方,我們将1388上面的這個JNZ修改為JMP指令,将它改為強制執行,對應的16進制就是75改為EB,這樣警告框就不會再次彈出了。

記錄目前16進制資料:85 C0 75 59 6A 01
[jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
  1. 找到仿真自動斷開位置(隐藏暗樁)
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
    [jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue
04ED9368    85C0            test eax,eax
04ED936A    75 1A           jnz short JLinkARM.04ED9386
04ED936C    6A 01           push 0x1
04ED936E    E8 2D100800     call JLinkARM.04F5A3A0
04ED9373    46              inc esi
04ED9374    83C4 04         add esp,0x4
04ED9377    81FE 30750000   cmp esi,0x7530
           

0x7530換算10進制為30000,實際上這裡的含義是軟體開啟30000ms,即30s後斷開仿真),也是将JNZ修改為JMP,對應的16進制就是75改為EB,這樣仿真再也不會自動退出了。

記錄目前16進制資料:85 C0 75 1A 6A 01

三、修改JLinkARM.dll檔案,解決問題

  1. UltraEdit打開JLinkARM.dll檔案
  2. 搜尋關鍵資訊1:85 C0 75 59 6A 01,修改為 85 C0 EB 59 6A 01.
  3. 搜尋關鍵資訊2:85 C0 75 1A 6A 01,修改為 85 C0 EB 1A 6A 01.
  4. ctrl+s,保持檔案
[jlink-ob] 解決The connected J-Link is defective提示框和仿真的問題jlink-ob 各個版本都适用–jianqiang.xue

注:上述16進制資料,每個版本都不一緻。

四、速成版本,直接替換JLinkARM.dll

僅對JLink_V682,生效,其他不一定能用。

更新檔:CSDN下載下傳

更新檔:城域網盤下載下傳,JLinkARM_V682更新檔.zip: (通路密碼: 4634)

JLink_V682下載下傳

繼續閱讀