-
-
[旧帖] [求助]VC 6.0字符串寻找的困惑 0.00雪花
-
发表于: 2013-6-11 12:32 1286
-
虽然我用的是VC6,但是在查找字符串的时候,用的是内联的汇编,具体代码如下:
循环的主要功能:从00405000开始查找“0123456”字符串。
这样做的原因是因为我不知道它的具体位置,但我明确它是在00405000位置之后,但是编译成程序之后,我用Ollydbg单步执行的时候是可行的,但是如果在第一次循环的jnz下面下F2断点,它就跑飞了,断不下来。
我想知道这是什么原因?有什么可以解决的办法。不知道我的描述可有模糊的地方,希望有人能帮我下,新人求助,先谢谢。
__asm
{
pushad
mov eax,0x00405000 //起始被查找的位置
mov ecx,lpSign //我自己定义的字符串"0123456"
mov dl,byte ptr ds:[ecx]
NEXTBYTE:
add al,01
cmp dl,byte ptr ds:[eax]
jnz NEXTBYTE
add al,01
mov dl,byte ptr ds:[ecx+0x1]
cmp dl,byte ptr ds:[eax]
jnz NEXTBYTE
add al,01
mov dl,byte ptr ds:[ecx+0x2]
cmp dl,byte ptr ds:[eax]
jnz NEXTBYTE
popad
循环的主要功能:从00405000开始查找“0123456”字符串。
这样做的原因是因为我不知道它的具体位置,但我明确它是在00405000位置之后,但是编译成程序之后,我用Ollydbg单步执行的时候是可行的,但是如果在第一次循环的jnz下面下F2断点,它就跑飞了,断不下来。
我想知道这是什么原因?有什么可以解决的办法。不知道我的描述可有模糊的地方,希望有人能帮我下,新人求助,先谢谢。
[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
赞赏
雪币:
留言: