Ребята, объясните разницу в крипте обычного (ну Вы поняли) файла и оверлея и dll. Полезным линкам буду рад.
У вас путаница в голове, нужно больше документации почитать, оверлей это та часть модуля не важно екзе или длл что не загружается в память и ее нужно подчитывать с диска отдельно.
Оверлей - это не файл. Это область в файле. DLL и EXE - это PE файлы, только DLL по другому грузится, и выгружается, можно указать, что делать в процессе выгрузки и загрузки. EXE перед попаданием в PE выполняет код из TLS. У DLL есть секции IMPORT EXPORT. OVERLAY - это типа мета данных, но туда можно что-нибудь запихать. Ещё есть RELOCI(RELOCATION).
yashechka > EXE перед попаданием в PE выполняет код из TLS EXE попадает в PE? TLS-калбеки выполняет системный загрузчик при инициализации. > У DLL есть секции IMPORT EXPORT не секции, а директории. и не у DLL. импорт может быть у любого модуля, экспорт (формально) тоже.
> EXE перед попаданием в PE выполняет код из TLS EXE перед попаданием в ENTRY POINT выполняет TLS)) Ну да, не EXE, а загрузчик EXE, полностью согласен. > У DLL есть секции IMPORT EXPORT Ну я их называю секции, про то, что может у любого - решил опустить.
- PE-секция -- это определенная область, смапленная в пределах образа модуля и выровненная на размер страницы; - директория -- структура данных, которая адресуется исключительно соответствующим полем из PE-заголовка и логически никак не привязана к определенной секции; то, что вы чаще всего видите релоки в ".reloc", ресурсы в ".rsrc" и т.д. -- это не задается жестко в описании формата.
sniper, Оверлей это понятие из доса. Для PE это ресурс, который не отображён в память. Он читается с диска, зачем - не понятно. Может ечо крипторы под дос начнёте писать. Хотя ясно всё, источник инфы не корректный - фуд, оверлей и прочий бред.