Eto, sad i vi znate sto moj nick znaci. SEH = Structured Exception Handling. U asmu se inace rabi samo jednostavnija verzija SEH-a, obicno preko makroa. Ako niste znali, SEH je jedna od jednostavnijih anti-debugging metoda. Npr, instalirajte svoj exception handler, nakon toga napravite neke instrukcije koje generiraju exception, npr:
xor eax, eax
div eax
sto je dijeljenje sa nulom, ili
xor edi, edi
stosd
sto je pisanje na nedozvoljenu memorijsku lokaciju. Nakon exceptiona, tok programa ce se preusmjeriti na vas exception handler (koji je top-level, ako ste ga instalirali rucno, a ne preko try...catch). Ako u nekom debuggeru budete traceali takav kod, on ce uredno prijaviti poruku o "unhandled exception" (sto radi recimo w32dasm), ili ce jednostvno prekinuti tracing (TRW2000 npr.) Ovo se moze izbjeci postavljanjem breakpointa na exception handler i pustiti program da sam ide bez da ga mi traceamo.