Aşağıdaki montaj kodu neden bir hata ayıklama aracıdır?Bu kod neden bir hata ayıklayıcısını algılamamı sağlıyor?
l1:
call l3
l2:
;some code
l3:
mov al, 0c3h
mov edi, offset l3
or ecx, -1
rep stosb
Ben C3hRETN
olduğunu biliyorum ve stobs
edi
kaymış ve bunun nedeni rep
ait ecx
kez yapılır göre işlem kodu olarak al
değeri yazar olduğunu biliyoruz.
Ayrıca, stobs
ve stosw
, özgün mimarisi olarak intel mimarisinde önceden getirildiyse, çalışacaklarının da farkındayım.
Hata ayıklama modunda programı çalıştırırsak, ön getirme geçersiz olur ve l2 etiketi çalışır (tek adım olduğu için) aksi halde hata ayıklayıcı yoksa l1 ile l3 arasında ping-pong olur. sağ?
Tek adım olarak ayarlanıp ayarlanmadığına bağlı değil mi? Çünkü dürüstçe, hata ayıklayıcının neden bunun üzerinde yanıldığını göremiyorum. Kurallar tek adımda biraz farklı. bağlantıdan – 0xC0000022L
http://stackoverflow.com/questions/12633599/anti-debug-using-prefetch-queue-doesnt-work-with-my-cpu – 0x90