|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 1, 2003 23:12:06 stres msvcrt.dll используется самой FMOD.DLL. |
|
|
Дата: Сен 2, 2003 06:59:04 stres 1) Со статическими и не статическим разобрался, но как мне прикрепить этот fmod чтобы размер остался не большим (когда я сделал EXE файл из того, что Вы мне прислали у меня получилось 560 кб) Этот размер примерно равен размеру FMOD.DLL + муз. файл + сама программа. Радикального решения данной проблемы нет. Могу посоветовать только три частичных варианта:
Где я могу взять описание (где применяются) всех *.lib? Нету такого. Обычно программеры находят описание некоторой функции в MSDN или справочнике от Borland C++, смотрят к какой DLL принадлежит эта функция и подбирают LIB с похожим именем. |
|
|
Дата: Сен 2, 2003 23:00:37 · Поправил: stres Ответ Quantum fmod_test.exe – 559,6 кб fmod.lib - 623,8 кб msvcrt.lib – 189,6 кб muzika.xm – 37,5 кб код самой проги - 2-4 кб ------- сумма = 852 кб сумма (без msvcrt.lib) = 663 кб Похоже, что всё-таки далеко не всё берётся из lib! Применил PE TOOLS (Rebuilder PE) - 321 кб (с таким типом программ впервые столкнулся, ещё раз спасибо) Применил upx – 132 кб уже радует (спасибо за совет с пакером) Упаковывать после Rebuilder PE не имеет смысла, получается байт в байт, как если бы просто применить пакер. Возвращаясь к теме маленьких размеров различных crack-ов я прихожу к выводу: Использованы нестатические переходники, где реализованы простейшие функции воспроизведения только для одного формата аудио данных (например: xm). Нашёл на www.fmod.org файл minifmod там был minifmod.lib, но с ним не работает пример. похоже, надо и minifmod.inc сменить. Найти его в инете не могу. Вы этим minifmod занимались? Asterix писал: “miniFMOD не умеет проигрывать ресурсы прямо из памяти!!!” Это есть истина или нет? |
|
|
Дата: Сен 2, 2003 23:15:47 stres А я считаю так: fmod.dll (после снятия UPX) - 281Кб muzikz.xm - 37Кб Код проги - 4Кб --------------- Итого: 322КбЧто там у вас получилось после Rebuild PE? ;-) Кстати, вы правильно исключили msvcrt.lib, т.к. это только переходник. Использованы нестатические переходники, где реализованы простейшие функции воспроизведения только для одного формата аудио данных (например: xm). Совершенно верно. Если б они ещё поделились с нами своим либом... |
|
|
Дата: Сен 3, 2003 00:55:08 stres Эх, Quantum, ты всех запутал со своим статическим переходником :-) Я бы объяснял на пальцах так, что есть lib'ы из которых код будет прилинкован к проге в процессе компиляции, такие как masm32.lib, fmod.lib(которая получена с помощью DLL2LiB), но есть другие lib'ы, такие как msvcrt.lib, kernel32.lib и др., которые содержат необходимые для компиляции данные и только, никакого кода в них нет, потому что динамические библиотеки kernel32.dll, msvcrt.dll имеются в каждой системе Windows и они будут загружены системой в процессе запуска проги. Кстати, что касается большого размера полученного exe'шника, то это потому что в код проги при компиляции попадает весь код fmod.lib :( [ stres: Asterix писал: “miniFMOD не умеет проигрывать ресурсы прямо из памяти!!!” Это есть истина или нет?] По крайней мере там нет API функции, которая проигрывает ресурсы прямо из памяти в нашем с Quantum'ом примере. А что до keygen'ов, то в одном(известной всем команды) я наблюдал следующее, файл с мелодией хранится в ресурсах, для проигрывания копируется из ресурсов на диск в системную директорию, и потом проигрывается с диска, причём после проигрывания так и остаётся на диске, т.е. автор keygen'а не считает нужным почистить за своей прогой. |
|
|
Дата: Сен 3, 2003 01:50:03 Asterix Эх, Quantum, ты всех запутал со своим статическим переходником :-) Я предупредил, что это моя терминология :-) Зато человек понял! :-) А что до keygen'ов, то в одном (известной всем команды) я наблюдал следующее [...] А я тоже так делал (не в WINDOWS\SYTEM а в WINDOWS\TMP), когда winmm юзал. |
|
|
Дата: Сен 4, 2003 20:41:07 Ответ Asterix ***fmod.lib(которая получена с помощью DLL2LiB)*** То есть с помощью программы DLL2LiB я могу получить из любого dll файл lib? А как мне получить inc файл к этому dll. *** По крайней мере там нет API функции, которая проигрывает ресурсы прямо из памяти в нашем с Quantum'ом примере.*** Где там? В документации? У вас есть inc файл к minifmod? Если есть пришлите его, пожалуйста, на мою почту (+ всё что мне по этому вопросу может мне пригодится, что бы я не донимал вас больше со своими вопросами). |
|
|
Дата: Сен 5, 2003 04:36:40 [ stres: То есть с помощью программы DLL2LiB я могу получить из любого dll файл lib? А как мне получить inc файл к этому dll.] Скорее всего да, но может и не из любой, это зависит насколько безглючно написана программа DLL2LiB. Получить inc'луд можно с помощью утилиты lib2inc из пакета masm32, и не только, но для lib'ы полученной при помощи незарегистрированной версии DLL2LiB inc'луд придётся делать вручную, иначе не избежать MessageBox при вызове функций из этой библиотеки, эту работу проделал Quantum, а также он написал небольшой тутор, который лежит внутри пакета с DLL2LiB, который лежит на этом сайте в разделе "Инструменты". [ stres: Где там? В документации?] В minifmod.lib [ stres: У вас есть inc файл к minifmod? Если есть пришлите его, пожалуйста, на мою почту (+ всё что мне по этому вопросу может мне пригодится, что бы я не донимал вас больше со своими вопросами).] У меня нет. Я minifmod.lib не занимался, но о том как использовать эту библиотеку под C написано в "The Codebreakers Magazine-Issue #1/2003", который можно найти на этом сайте в разделе "Документация", на английском языке. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.082 |