[ Dragi Tata @ 30.04.2002. 21:28 ] @
Evo link na jedan jako dobar članak o tome kako Visual C++ radi sa "izuzecima" ispod haube.

Članak nije za početnike.

http://www.codeproject.com/cpp/Exceptionhandler.asp
[ leka @ 30.04.2002. 23:17 ] @
Interesantan tekst mister Nemanja! :) Ovo donekle objašnjava zašto se neke zavrzlame sa izuzecima ponašaju na jednoj strani ovako, a na drugoj onako (kompajlirano različitim kompajlerima)...
[ SEH @ 01.05.2002. 11:33 ] @
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.
[ leka @ 01.05.2002. 21:32 ] @
Ma sve je to kul, ali kome trebaju anti-debuging metode? Obično mi treba nešto što će mi pomoći da PRONAĐEM greške, a ne da mi odmogne u tome... Ne verujem da postoji neki veliki broj slučajeva gde tako nešto nekom treba...
Ili sam te pogrešno razumeo?
[ SEH @ 02.05.2002. 00:42 ] @
Citat:
leka:
Ma sve je to kul, ali kome trebaju anti-debuging metode?


Ti ne pravis shareware programe? Don't worry, mnogi jesu :))

Citat:
[
Obično mi treba nešto što će mi pomoći da PRONAĐEM greške, a ne da mi odmogne u tome... Ne verujem da postoji neki veliki broj slučajeva gde tako nešto nekom treba...
Ili sam te pogrešno razumeo?


Ovo je da lamest anti-debuging trik. Obilno se rabi u win32 virusima, EXE protectorima/crypterima i slicno. I ako znas princip rada SEH-a, tada si faca :)