Привет! Только начал изучать ASM. Поэтому не судите строго. Почему будет работать данный код?: Код (Text): .386 .model FLAT .data .code main: ret end main Я в том смысле что ret применяется для выхода из процедур. Т.е. получается как в C/C++ программа состоит минимум из одной процедуры. Тогда если это так зачем выходят через ExitProcess?
_HmcmP_ Ты можешь самостоятельно проследить, какой код выолняется после ret проклацай в OllyDbg F7 рет из мейна приводит к ExitThread т.е. завершается текущий поток. НО НЕ ПРОЦЕСС! Если поток единственный - тогда процесс завершиться Но если какой-либо перехватчик, легальный или не очень, подгрузил в каждый процесс свой код и создал еще один поток, процесс не завершиться, освобождение занятых ресурсов не произойдет. Чтобы наверняка грохнуть процесс - используется ExitProcess();
При трассировки после ret'а. Вызывается ExitThread - выход из потока единственного, а значит ии из процесса.