-
-
[原创]修正SeVen版本OD的一个内存访问Bug!
-
发表于:
2011-9-17 07:09
7918
-
[原创]修正SeVen版本OD的一个内存访问Bug!
症状:当我们用此版本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
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!