症状:当我们用此版本OD查看数据框口的时候,用鼠标双击最后一个位置的的时候,会一直弹出错误对话框,并且鼠标一指向数据区域就会出现错误对话框。
引发条件:使用了TEST指令来判断是否等于2,JNZ 就跳,当TEST指令的第一个操作数为5的时候,ZF标志位发生变化,条件为假,也就是不跳,向下执行,具体看代码:

代码:
004615D5  |.  F645 14 02    TEST BYTE PTR SS:[EBP+14],2              ;  当这里的是5的时候,ZF标志位位1,表示条件为假,这里应该改为CMP
004615D9  |.  75 12         JNZ SHORT 004615ED
004615DB  |.  03FE          ADD EDI,ESI                              ;  此处谈错误对话框
004615DD  |.  4F            DEC EDI
004615DE  |.  57            PUSH EDI                                 ; /Arg3
004615DF  |.  56            PUSH ESI                                 ; |Arg2
004615E0  |.  68 49C44B00   PUSH 004BC449                            ; |Arg1 = 004BC449
004615E5  |.  E8 322AFFFF   CALL _Error                              ; \_Error
修改后的代码
代码:
004615D5      807D 14 02    CMP BYTE PTR SS:[EBP+14],2               ;  当这里的是5的时候,ZF标志位位1表示条件为假,这里应该改为CMP
004615D9  |.  75 12         JNZ SHORT 004615ED
004615DB  |.  03FE          ADD EDI,ESI                              ;  此处谈错误对话框
004615DD  |.  4F            DEC EDI
004615DE  |.  57            PUSH EDI                                 ; /Arg3
004615DF  |.  56            PUSH ESI                                 ; |Arg2
004615E0  |.  68 49C44B00   PUSH 004BC449                            ; |Arg1 = 004BC449
004615E5  |.  E8 322AFFFF   CALL _Error                              ; \_Error
修改版和原版地址下载:
测试方法:
Ollydbg源版.exe   表示原来没修改过的OD,命名为:Ollydbg.EXE,然后放在OllyDbg目录下测试
Ollydbg修改版.exe  表示修改过的OD,命名为:Ollydbg.EXE,放在Ollydbg目录下测试
方法:随便打开一个文件,双击数据窗口的最后一个位置,就会弹出错误对话框,然后鼠标指向数据窗口,还是会弹出此窗口,
由于附件大小问题,脚本和UDD文件夹我删除了
请看图片:



上传的附件 B(文件相关).rar
A(文件夹相关).rar