Por que esse código me permite detectar um depurador?

Por que o seguinte código assembly é uma ferramenta anti-depuração?

<code>l1:
call l3
l2:
;some code
l3:
mov al, 0c3h
mov edi, offset l3
or ecx, -1
rep stosb
</code>

Eu sei dissoC3h éRETN e eu sei dissostobs escreve o valor emal como opcode de acordo com o deslocamento emedi e isso é feito paraecx vezes por causa derep.

Eu também estou ciente do fato de questobs estosw será executado se eles foram pré-buscados na arquitetura intel como seu formato original.

Se executarmos o programa no modo de depuração, a pré-busca é irrelevante e o rótulo l2 será executado (porque é de etapa única), caso contrário, se não houver depurador, será pingue-pongue entre l1 e l3, certo?

questionAnswers(2)

yourAnswerToTheQuestion