|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 28, 2004 15:18:48 Ктонибуть может помоч со структурой рограмм а именно с DelayImportTable а главное размеры полей описфнных в DelayImportTable вот, напремер, второй элемент имя (LPSTR: чтобы узнать размер надо найти ноль в строке) а об остольных элементах в MSDN-е только краткое описание КАК БЫТЬ? ГДЕ УЗНАТЬ РАЗМЕРЫ? |
|
|
Дата: Июл 29, 2004 04:40:54 antoskail Что-то ни гугл, ни яндекс ни msdn не знают слова DelayImportTable, где ты его нашел? |
|
|
Дата: Июл 29, 2004 07:08:57 q_q Я нашел нечто похожее =) В индексе MSDN - delayimp.h. Если это то, что имел ввиду antoskail, тогда вот парочка структур:
typedef struct DelayLoadProc {
BOOL fImportByName;
union {
LPCSTR szProcName;
DWORD dwOrdinal;
};
} DelayLoadProc;
typedef struct DelayLoadInfo {
DWORD cb; // size of structure
PCImgDelayDescr pidd; // raw form of data (everything is there)
FARPROC * ppfn; // points to address of function to load
LPCSTR szDll; // name of dll
DelayLoadProc dlp; // name or ordinal of procedure
HMODULE hmodCur; // the hInstance of the library we have loaded
FARPROC pfnCur; // the actual function that will be called
DWORD dwLastError;// error received (if an error notification)
} DelayLoadInfo, * PDelayLoadInfo;
|
|
|
Дата: Июл 29, 2004 07:57:51 jekyll Если это ТО, то какие могут быть вопросы? Автор не знает sizeof? Жду автора ветки. |
|
|
Дата: Июл 29, 2004 11:32:33 Вот эта структура (а интересуют меня - всё кроме первых двух полей и последнего поля): offset size name description 0 4 Attributes Must be zero. 4 4 Name Relative virtual address of the name of the DLL to be loaded. The name resides in the read-only data section of the image. 8 4 Module Handle Relative virtual address of the module handle (in the data section of the image) of the DLL to be delay-loaded. Used for storage by the routine supplied to manage delay- loading. 12 4 Delay Import Address Table Relative virtual address of the delay-load import address table. See below for further details. 16 4 Delay Import Name Table Relative virtual address of the delay-load name table, which contains the names of the imports that may need to be loaded. Matches the layout of the Import Name Table, Section 6.4.3. Hint/Name Table. 20 4 Bound Delay Import Table Relative virtual address of the bound delay-load address table, if it exists. 24 4 Unload Delay Import Table Relative virtual address of the unload delay-load address table, if it exists. This is an exact copy of the Delay Import Address Table. In the event that the caller unloads the DLL, this table should be copied back over the Delay IAT such that subsequent calls to the DLL continue to use the thunking mechanism correctly. 28 4 Time Stamp Time stamp of DLL to which this image has been bound. |
|
|
Дата: Июл 29, 2004 11:38:38 (нда все таб-ы полетели к чертям) Вот эта структура (а интересуют меня - всё кроме первых двух полей и последнего поля): offset size name description 0 4 Attributes Must be zero. 4 4 Name Relative virtual address of the name of the DLL to be loaded. The name resides in the read-only data section of the image. 8 4 Module Handle Relative virtual address of the module handle (in the data section of the image) of the DLL to be delay-loaded. Used for storage by the routine supplied to manage delay- loading. 12 4 Delay Import Address Table Relative virtual address of the delay-load import address table. See below for further details. 16 4 Delay Import Name Table Relative virtual address of the delay-load name table, which contains the names of the imports that may need to be loaded. Matches the layout of the Import Name Table, Section 6.4.3. Hint/Name Table. 20 4 Bound Delay Import Table Relative virtual address of the bound delay-load address table, if it exists. 24 4 Unload Delay Import Table Relative virtual address of the unload delay-load address table, if it exists. This is an exact copy of the Delay Import Address Table. In the event that the caller unloads the DLL, this table should be copied back over the Delay IAT such that subsequent calls to the DLL continue to use the thunking mechanism correctly. 28 4 Time Stamp Time stamp of DLL to which this image has been bound. |
|
|
Дата: Июл 29, 2004 14:01:00 antoskail Imho размеры указаны в твоем же сообщении у каждого поля 4 байта - dword, Чтобы получить представление о назначении каждого поля надо читать Microsoft Portable Executable and Common Object File Format Specification c самого начала. PS в сети полно pecoff.pdf (294'879 байт) |
|
|
Дата: Авг 5, 2004 10:13:19 Чтобы получить представление о назначении каждого поля надо читать Microsoft Portable Executable and Common Object File Format Specification c самого начала Если имеется в виду следующая строка: The layout of the tables matches that of the traditional import tables (see Section “6.4. The .idata Section“ for details), so only a few details will be discussed here. То структуры имеющиеся в разделе "6.4 не подходят под реальные данные находящиеся под сылками DelayImportTable |
|
|
Дата: Авг 5, 2004 11:22:35 antoskail Я имел ввиду, что читать надо с начала документа. структуры ... не подходят под реальные данные Сначала ты оперируешь новым словом DelayImportTable, теперь ты ссылаешься на некие данные, я не телепат. |
|
|
Дата: Авг 5, 2004 11:58:16 если посмотреть на Дамп ЕХЕ/DLL файла (имеющего структуру: Delay-Load Import Tables) то данные в дампе не сходятся со структурами в разделе "6.4 (или по кайней мере не все) ! по ссылкам описанным в структуре "Delay-Load Import Tables" "ходил" с учётом что программа загружена в RAM а значит Секции могут иметь адреса отличающиеся от адресов в Дампе ЕХЕ/DLL файла. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.119 |