[ 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 |
[ Dragi Tata @ 30.04.2002. 21:28 ] @
[ 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 :) Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|