du studio visuel Dumped:Pourquoi l'assemblage ne me semble pas cohérent?
CheckPointer(pReceivePin,E_POINTER);
017D616D cmp dword ptr [ebp+0Ch],0
017D6171 jne CBasePin::Connect+4Dh (17D617Dh)
017D6173 mov eax,80004003h
017D6178 jmp CBasePin::Connect+1A7h (17D62D7h)
Mais la définition actuelle est:
#define CheckPointer(p,ret) {if((p)==NULL) return (ret);}
Bien que mon montage n'est pas si bon, je ne vois pas de relation entre la source et asm.
Le vrai Ollydbg sait certainement! Un 'jmp' commence à exécuter du code à une adresse spécifiée. Un 'call' fait la même chose, mais d'abord il pousse l'adresse actuelle sur la pile de sorte qu'un' ret' peut continuer à retourner là-bas. –
Non adresse actuelle, mais l'adresse d'instruction suivante pour être exact. – ollydbg
@ollydbg: Je voulais vraiment quelque chose de plus comme "adresse actuellement dans EIP", mais oui, ce sera l'adresse suivant l'instruction actuelle (bien que dans les processeurs vraiment * tôt * x86 ce n'était pas le cas - qui a causé un problème avec gestion des exceptions dans quelques cas bizarres). –