遇到一个问题调试了半天才发现原来是ReadProcessMemory函数会改变ecx寄存器的值,放在这里,大家以后调用这个函数的时候记得保护好现场:)
AoGo补充:一般而言,GDI函数不会破坏ebx/esi/edi三个寄存器,字符串或内存操作函数一般会改写esi/edi/ecx,甚至全部,所以,好的方法是在不敢确定函数是否会破坏某个寄存器时,在这个函数调用前设置某个寄存器的值,调用完后把这个寄存器的值显示出来,看是否和调用前一样就可以确认了。当然如果函数修改了这个寄存器刚才与你设置的值一样,嘿嘿,算你晦气。