· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Как можно загрузить ресурсы ?

Посл.отвђт Сообщенiе


Дата: Июн 3, 2004 14:55:56

Здравствуйте

Может кто знает как можно загрузить ресурсы если они просто как набор DB в секции с кодом ?


Дата: Июн 3, 2004 23:35:24

Во-первых, что значит "набор DB в секции с кодом"? Скомпиленый res-файл или что? Поясни.
Во-вторых, как тебе это удалось?
Ну а в-третьих, зачем ты это сделал?


Дата: Июн 3, 2004 23:42:15 · Поправил: bogrus

Какие ресурсы и что значит загрузить ?
LoadResource не будет загружать не из секции ресурсов . Вернее FindResource их не будет искать в другой секции .


Дата: Июн 4, 2004 00:00:09

n0p
Ну а в-третьих, зачем ты это сделал?

Это он наверное пытаеться патчить чужую прогу , свой код впихнул , а теперь ещё ресурсы осталось :)

Если секции не трогать , то тут надо точно знать какого типа ресурс , может его и можна будет загрузить из кода .


Дата: Июн 4, 2004 08:38:51

ничего я пока не патчил :)
пишу учебный криптор для PE и просто хочу выдать диалог для ввода пароля. Набор DB это откомпиленные ресурсы.


Дата: Июн 4, 2004 08:42:44

в принципе если можно грузить по-отдельности, то могу откомпилить ресурсы каждый по-отдельности... главное как ?


Дата: Июн 4, 2004 09:14:13

sep

(Если я правильно понял смысл вопроса)

Допустим, в секции ресурсов есть что-то RT_RCDATA.
Можно вызавать цепочку FindResource->LoadResource->LockResource, чтобы получить указатель на данные из ресурса.

Но если эти данные уже лежат в секции code/data как набор DB, то указатель на них известен на стадии компиляции.
Сами же эти данные будут загружены при запуске программы. Т.е. ничего загружать не надо.


Дата: Июн 4, 2004 10:10:01

Для создания диалога например нужно выделить ему место в глобальной памяти и скопировать его туда (определив размер его перед этим) . После чего его можна вызывать через DialogBoxIndirectParam .


Дата: Июн 4, 2004 10:54:58

LockResource вообще можнол не вызывать, т.к. эта функция выглядит так:
mov eax, [esp+4]
ret 04h


Дата: Июн 4, 2004 11:14:41

Тогда получается, что если каждый ресурс скомпилить отдельно, то потом можно в позиционно независимом коде нехилые окна ваять ?


Дата: Июн 4, 2004 11:47:10

Kvazimoda

Да, верно замечено.
Но смысл тут такой, что и LoadResource не нужен :).


Дата: Июн 4, 2004 15:12:07

Усё , я больше не выдержал такого извращения :)


873606502__resincode.zip


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.047