|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 12, 2003 13:36:03 в чем разница между ехе и длл, почему длл нельзя запускать? |
|
|
Дата: Июл 12, 2003 14:46:44 =) Потомучто ехе это программа, а длл - библиотека... она содержит функции, эти функции можно вызывать из программ или из других библиотек.... |
|
|
Дата: Июл 12, 2003 20:55:25 вообще - то можно сделать файл, который будет одновременно и exe и dll |
|
|
Дата: Июл 13, 2003 00:29:20 это как? |
|
|
Дата: Июл 13, 2003 00:30:45 to spaces вообще-то в ехе тоже есть свои функции,я про то как лоадер отличает длл от ехе |
|
|
Дата: Июл 13, 2003 01:02:33 Reaper в чем разница между ехе и длл DLL нельзя запустить, а EXE нельзя прилинковать к другому EXE (всё это теоретически и с точки зрения COFF :-) в ехе тоже есть свои функции Ну так они ж не экспортируются. я про то как лоадер отличает длл от ехе По заголовку PE. Там есть 16-битное поле "Characteristics", в котором бит 1 установлен если это EXE (IMAGE_FILE_EXECUTABLE_IMAGE), а бит 13 -- если DLL (IMAGE_FILE_DLL). ЗЫ: В разделе "Документация - PE/PE32" лежит нужная вам инфа. |
|
|
Дата: Июл 13, 2003 01:12:37 это как? Была когда-то такая тема на реверсинг.нет "Может ли быть exe-файл одновременно и DLL'кой". Действительно может, там описывалось в каком случае это может быть, но я точно не помню поэтому воздержусь от ответа на этот вопрос. |
|
|
Дата: Июл 13, 2003 17:40:57 Может, у Касперски в пятом томе пример приводится, только в каких случаях я тоже не понял |
|
|
Дата: Авг 7, 2003 02:43:27 Reaper Вообще,у .DLL нету точки входа в программу. Эта штука функционирует так: если проге есть вызов .DLL то в памяти,которую эта прога занимает(т.е. в самой проге) этого кода нет,а есть тока вызов.(Это буржуи придумали чтоб память экономить).Вот встречается такой вызов,к проге из ентого файла догружатся код... И в лудшем случае всё пашет. |
|
|
Дата: Авг 7, 2003 12:33:17 · Поправил: masquer PING Это откуда такая достоверная информация о том, как dll работает? И я всегда думал, что DLLMain и есть точка входа в библиотеку... |
|
|
Дата: Авг 7, 2003 12:52:16 Вопрос поставлен непонятно. Три буковки DLL тут только путаницу вводят. Эти буковки могут быть и у картинки с битмапом в расширении. Давайте так: PE файл может импортировать и экспортировать функции. При этом экспортируемые функции могут динамически прилинковываться (мапится) в адресное пространство других процессов. Это одно. Второе - исполнительный файл, может загружаться как библиотека или как испольнительный файл. Вопрос может ли файл загруженый как исполнительный ещё использоваться другими как библиотека? Ещё с другой стороны (прямо как сад камней в дзене - с разных сторон всё смотрим) Могут ли другие процессы вызывать функции исполнительного файла по технологии динамических библиотек? Ответ - да, могут, если в этом исполнительном файле есть экспортируемые функции и соответсвено создана для их вызова создана секция экспорта. Более того такой файл может вызывать (загружать) сам себя и вызывать свои функции как функции сторонней библиотеки. Вот написал простую демонстрашку - обратите внимание на ключи при линковке. Можете написать ещё одну и пока моя программа в памяти (просто не нажимайте на OK в MessageBox) загрузить мою программу как библиотеку и вызвать её функцию. 1538826061__exp.zip |
|
|
Дата: Авг 7, 2003 13:02:50 [ PING: Вообще,у .DLL нету точки входа в программу. ] Если под программой ты подразумеваеш exe, то длл его точка входа действительно не к чему. А если ты имел ввиду, что у самой длл нет точки входа, то это не верно. У любой длл есть точка входа. Она вызывается системой при отображении длл на адресное пространство процесса и при создани в процессе потока, а также в обратных случаях. Ищи в доке DllMain - там все написано. |
|
|
Дата: Авг 9, 2003 01:47:52 Спасибо за советы.Подлатаю дыры - и в бой:). |
|
|
Дата: Авг 23, 2003 16:18:23 что касается < Там есть 16-битное поле "Characteristics" >, то есть подозрения что по-меньшей мере не только по этому полю |
|
|
Дата: Авг 23, 2003 16:23:45 кстати, будет ли грузиться dllmain когда loadlibrary ее? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.047 |