|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 6, 2003 14:06:38 · Поправил: Asterix Кто-нибудь знает как пользоваться этой прогой применительно к masm'у? Или может где-то есть статья на эту тему? Что-то у меня ничего не получается при конвертации fmod.dll :( |
|
|
Дата: Июл 6, 2003 20:58:55 Ты знаешь, я и не думал, что это возможно. Надо будет потом поиграться. Когда-нибудь... |
|
|
Дата: Июл 7, 2003 00:18:01 · Поправил: Asterix Сообщи потом результаты :-) А вообще я встречал статью на эту тему, но под C, но у меня ничего путного по ней не получилось :-( |
|
|
Дата: Июл 7, 2003 01:34:14 · Поправил: volodya Я тут еще немного подумал. Ты знаешь, ничего особенного здесь нет. Возьми длл, возьми ее директорию экспорта, присовокупи к этому знание lib-формата, вытащи немного добавочной информации из файла (ресурсы и т.п.). Запихни это все в результируемый файл и всего делов. Меня смущало то, откуда прога берет прототипы, т.е. данные о ТИПАХ передаваемых параметров, но и тут все ясно. Это ее не волнует! И даже если ты сделаешь lib-файл из dll, то и что с того? Всю остальную инфу тебе придется смотреть ручками и выковыривать из файла путем дизассемблирования, отладки, и т.д., и т.п. Словом, вот чего я надумал. |
|
|
Дата: Июл 7, 2003 02:05:52 Убрать "-defaultlib:LIBC -defaultlib:OLDNAMES" из Link Options. Создать пустой либ для импорта (как в той статье по инвокабельным библиотекам) и добавить его в Import Lib Files for the DLL. При всём этом ошибок становится меньше :) Разбираю дальше... |
|
|
Дата: Июл 7, 2003 02:30:24 volodya Что-то больно мудрёно написал :-), требует длительного осмысления :-) Прога должна автоматом генерить статическую lib'у, я так понимаю вида masm32.lib. Lib'у то она генерит, но ещё генерит и C-шный хидерник, вот я и не пойму, а нафига он мне в masm'е, само-собой к проге есть help и примеры, но я их что-то не догоняю, т.к. оно на английском :-( |
|
|
Дата: Июл 7, 2003 03:03:16 · Поправил: volodya Что-то больно мудрёно написал :-), требует длительного осмысления :-) Звыняй, хлопцю! :) Теперь, что до хидера. Тебе он, еснно, ни на фиг не нужен! Опять таки, тут все просто. Они могут выстрипать из длл все экспортные функции, да, это так! Переконвертить их в либ, да, и это так. Но скажи мне: КАК ОНИ МОГУТ УЗНАТЬ ИНФОРМАЦИЮ О ПАРАМЕТРАХ ФУНКЦИЙ????? Ответ: НИКАК!!!! Элементарно по характеру замангления имени выяснить, сколько параметров принимает функция, но вот ТИПЫ параметров - никогда и ни за что! Поэтому могу лишь повторить - копать информацию о типах параметров тебе придется самому. Quantum Шаманишь помаленьку? Там опцию уберу, там оставлю :) |
|
|
Дата: Июл 7, 2003 03:07:12 Посему, исходя из того, что написано выше, хидерник смело выбрасываешь, от него толку чуть. Вводишь в установки линкера добавить эту библиотеку, а потом, скрипнув зубами, начинай копать информацию о типах... Это будет долго, очень долго, очень-очень долго :((((( |
|
|
Дата: Июл 7, 2003 03:29:40 Шаманишь помаленьку? Шаманю :-) Заработало!!! Сконвертировал спёртый DLL в lib и потихоньку слинковал (долой копирайт), чуток подправив IAT :-) Короче, Dll2Lib рулит! |
|
|
Дата: Июл 7, 2003 04:09:17 · Поправил: Asterix volodya По твоему получается лучше вообще на этот метод забить, и если мне нужны из dll'ки 3-и функции то вырипать код вообще руками?, геморно это будет! Есть такая статья на эту тему! Quantum Если у тебя получилось тогда может статью на тему сабжа напишешь ;-) Попробуй сконвертить fmod.dll и слинковать с программой что в конце этого топика :-) Fmod.dll могу прислать. |
|
|
Дата: Июл 7, 2003 05:47:59 |
|
|
Дата: Июл 7, 2003 06:03:17 Юзайте фасм... |
|
|
Дата: Июл 7, 2003 06:52:33 · Поправил: Quantum Asterix Я уже скачал FMOD, сконвертил в статик и прицепил к твоей программе :-) 1. Распаковал FMOD (UPX) 2. Убрал "-defaultlib:LIBC - defaultlib:OLDNAMES" 3. Получил готовый lib 4. Добавил advapi32.lib, ole32.lib, winmm.lib, msacm32.lib и msvcrt.lib (!) в инклуды. 5. Переопределил ф-ции FMOD: FSOUND_Init -> _FSOUND_Init FMUSIC_LoadSongMemory -> _FMUSIC_LoadSongMemory FMUSIC_PlaySong -> _FMUSIC_PlaySong 6. Поубирал мусор с помощью PE Tools ... слушаю s3m! Оставь мыло ЗЫ: Там ещё NAG-лое сообщение убрать надо. ЗЗЫ: DllMain в данном случае не нужно вызывать. ЗЗЗЫ: На статью, вроде, не тянет... |
|
|
Дата: Июл 7, 2003 18:24:28 По твоему получается лучше вообще на этот метод забить, и если мне нужны из dll'ки 3-и функции то вырипать код вообще руками?, геморно это будет! Есть такая статья на эту тему А ты ее просмотри повнимательнее! Обрати внимание на фразу: "From JpegLib.dll's source code, we know the pascal API for LoadJPEG is" Т.е. я ничего не имею против dll2lib - это прикольная и явно полезная штука, но невозможного она тебе не сделает! |
|
|
Дата: Июл 7, 2003 18:27:06 То что мне нужно, по крайней мере, у Quantum'а оно делает :-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.112 |