Насколько я знаю у программ есть точка входа, ну что-то по типу main функции, загрузчик програм от ОС по ней передает управление и вроде как все просто.
Но недавно через ollydbg, и ida, не смог заставить програму остановиться на точке входа, код будто бы начинал выполняться из другого адреса, и только потом уже управление передавалось неё.
Как потом оказалось ( если я правда не ошибаюсь, так как я просто методом тыка нашел через ollydbg модуль, в котором точка останова работала, если что не ntdll :] ) сначала выполнялись функции из какой-то динамической библиотеки, но ведь как так, если в любом случае программа сначала должна была пройти точку входа, на которой у меня стоил точка останова.
Не очень хорошо разбираюсь в этом всем, мне просто интересно понять как это работает. Заранее извиняюсь если где-то написал глупость, или плохо описал суть...