Du kannst auch im Code vor strcpy über inline ASM einen INT3 einfügen (oder Opcode 0CCh). Irgendwas mit
Code:
_asm{INT3} bzw _asm{db 0xCC} (Syntax kommt auf den Compiler an)
oder auch über OllyDbg vor strcpy einen CC einfügen (Zeile markieren, STRG+E für Editmodus, vor dem Überschreiben aber den Byte merken und nacher wieder reinschreiben), Rechtsklick ->Copy to executable->all modification -> es öffnet sich ein Fenster -> Rechtsklick->save file.
Anschließend:
Gehst Du noch zu Olly Optionen ->Just in time Debugging-> "make olly JIT" und "attach without confirmation".
Das bewirkt nun, dass Du mit INT3 einen Breakpoint platzierst - wenn das Programm an INT3 angelangt ist, wird der Standarddebugger aufgerufen (bzw. es erscheint der Windows Dialog, ob man Problembericht senden möchte - in der linken Ecke ist aber der Debugbutton versteckt).
Nun kann man in Olly den Int3 ausnoppen/korrigieren und normal debuggen.
Weitere Alternative: vor strcpy eine Benutzereingabe einlesen (getchar, getc, scanf usw) - da pausiert das Programm ja auch, so dass man es attachen kann.