PDA

Показать полную графическую версию : увеличение размера shell32


Страниц : [1] 2

borzoy
13-06-2008, 16:58
Собственно вопрос к экспертам форума, как известно shell32.dll поддерживает только увеличение размера до 25 мег, можно ли где-то прописать чтобы shell32 поддерживал размер больше чем 25?

_DRON_
13-06-2008, 17:58
Дело не в Shell32, а в том что прямо за ней в памяти идёт User32 и свободного пространства так как раз ~25 метров. Решить эту проблему без изменения адресов загрузки системных библиотек не получится, а изменять их я бы не советовал, хотя на первый взгляд система с перемещённой User32.dll (перемещал вперёд на 16М с помощью EDITBIN.EXE) работает без проблем.

Admiral
13-06-2008, 18:02
_DRON_, а если подрубить shell32 и переназначить некоторые иконки, можно ли манипулируя с размещением их в памяти высвободить ресурсы? Или строго оговорено их пространство и такая фича не поможет добыть ископаемые ресурсы?

_DRON_
13-06-2008, 20:46
Admiral, а теперь, если можно, всё то же самое но на более понятном языке :o

UPD: Кажется я понял о чём речь... ну надеюсь :) Раскидать shell32 так чтобы она занимала незанятые другими DLL места не получиться, так что есть всего два варианта:
1- уменьшить саму Shell32 путём удаления ненужных иконок и анимаций. Сам я всеми этими "вистапатчами" не пользуюсь, но думаю, что там можно к примеру удалить иконки с низким разрешением или всё равно неподдерживаемые Vista-иконки. Вобщем это хлопотный, но наиболее правильный путь.
2- сдвинуть User32.dll немного вверх, это даст от 40 (проверено), до 53 мегабайт под саму Shell32.dll. Какие тут могут быть проблемы я не вкурсе, но желающие могут потестировать это даже на работающей системе: для начала надо отрубить SFC (по крайней мере для User32.dll) затем скопировать User32.dll в удобное место и переместить с помощью "editbin.exe /REBASE:BASE=0x7f360000 user32.dll", затем надо переименовать оригинальную user32.dll в какую нибудь user32.old и вернуть вместо неё изменённую версию. После этого перегружаем винды и наблюдаем результат.

WindoStroy
13-06-2008, 23:52
ребята, а не проще ли упаковать shell32.dll, например upx'ом и дело в шляпе?

Котяра
13-06-2008, 23:57
ребята, а не проще ли упаковать shell32.dll, например upx'ом и дело в шляпе? »
А будет ли после этого работать Windows?

WindoStroy
14-06-2008, 00:21
Котяра, по идее будет. но могут быть подводные камни.

_DRON_
14-06-2008, 00:47
ребята, а не проще ли упаковать shell32.dll, например upx'ом и дело в шляпе?
После упаковки DLL будет занимать БОЛЬШЕ места в памяти, а не меньше.

mickmack
14-06-2008, 02:41
а если убрать ненужные битмапы от Windows Embedded итд?

greg_b
14-06-2008, 17:56
borzoy, можно еще посмотреть кодировку 1033 или 1049 - 1033 нам не нужны - это аглицкий.

Craager
18-06-2008, 19:24
1- уменьшить саму Shell32 путём удаления ненужных иконок и анимаций. Сам я всеми этими "вистапатчами" не пользуюсь, но думаю, что там можно к примеру удалить иконки с низким разрешением или всё равно неподдерживаемые Vista-иконки. Вобщем это хлопотный, но наиболее правильный путь. »
А можно прямо удалять эти ресурсы ресторатором да и всё? Не менять, а именно удалять?? И ничего страшного не случится разве?
И если можно, то кто знает, скажите какие можно смело удалять, чтобы не навредить сильно внешнему виду оси.

Admiral
18-06-2008, 19:28
Craager, какие визуально неузнаваемые или редко приходилось виде те и можно убирать, только неизвестно корректно после этого он станет работать.

boss911
18-06-2008, 20:09
А зачем такое извращение делать - shell32.dll весом до ~25Mb?

В моей новой версии "Vista Pack" shell32.dll получается не больше 11Mb, так там заменены почти все AVI, BITMAP и все ICO. Я хочу сказать о том, что нефиг туда пихать не сжатые AVI и иконки с фреймами от Висты, а также заменять 4/8 битные BITMAP на 24/32-х битные. Тогда не потребуется этот изврат, который тут обсуждается.

_DRON_
19-06-2008, 04:04
А можно прямо удалять эти ресурсы ресторатором да и всё? Не менять, а именно удалять?? И ничего страшного не случится разве? »
Честно говоря, разговор в этой теме какой-то беспредметный получается. Лично я, пока не видел ни одной "монструозной" Shell32.dll, а без этого как-то сложно говорить, что можно от неё отрезать, а что нет. Может ссылки какие нибудь или выложит кто-то такую DLL?

AppleNTU
20-06-2008, 11:45
В моей новой версии "Vista Pack" shell32.dll получается не больше 11Mb, так там заменены почти все AVI, BITMAP и все ICO. Я хочу сказать о том, что нефиг туда пихать не сжатые AVI и иконки с фреймами от Висты, а также заменять 4/8 битные BITMAP на 24/32-х битные. Тогда не потребуется этот изврат, который тут обсуждается. »
расскажи пожайлуста какие нормы\стандарты должны быть для иконок и видео и чем их можно проработать особенно за авишки!
я долго не мог понять почему ошибки происходят с перемещёнием! а проказюлька неможечко притаил инфу за перемещение длл - мог и дописать что все проблеммы после коректирования длл и её увеличения в размере! а теперь все стало на свои места! может есть ещё что-то в этой длл священного ;))) и как писали "мы будем молиться на на 165 иконку" - это замечание в силе???? или есть
что то ещё чего мы все незнаем?

boss911
20-06-2008, 17:14
расскажи пожайлуста какие нормы\стандарты должны быть для иконок и видео и чем их можно проработать особенно за авишки! »
В иконках (ico) недолжно быть фреймов 255*255 пикселей, а если их там три штуки с разной битностью, то такая иконка может занимать до ~400Kb, когда у стандартных ХР-шных размер не более 24Kb. В "shell32.dll" есть только одна иконка, которая имеет фрейм 128*128 px, это ресурс с индексом 4. Фреймы для иконок я собираю с помощью GIF Movie Gear, графику редактирую - Photoshop.

Что касается видео (avi), то их лучше сжимать кодеком "Microsoft RLE" (MS-RLE). Пробовал сам через VirtualDub сжимать, он что-то ругнулся, я дальше не стал разбираться, возможно, нужны какие-то настройки или тот кодек, который в системе, не подходит.

AppleNTU
23-06-2008, 10:17
Что касается видео (avi), то их лучше сжимать кодеком "Microsoft RLE" (MS-RLE). Пробовал сам через VirtualDub сжимать, он что-то ругнулся, я дальше не стал разбираться, возможно, нужны какие-то настройки или тот кодек, который в системе, не подходит. »
а ругался он на то что в системе только декодер, а кодировать им не сможет....
Может кто подскажет чем или как пережать эти авишки или программу которая это точно может делать!
ещё я заметил если более 30 мБ эта ДЛЛ, то не все инсталяторы типа "EXE" запускаются - просто не реагируют....

borzoy
23-06-2008, 11:27
Да програмка для сжатия авишек RLE формата было бы неплохо

_DRON_
23-06-2008, 15:25
Может кто подскажет чем или как пережать эти авишки или программу которая это точно может делать! »
Вот эта прога (http://www.am-soft.ru/download.html) умеет сжимать в MS-RLE, но лично у меня размер файла при этом только увеличился :o

AppleNTU, на самом деле может, просто это кодек поддерживает только формат "8-и битовый с палитрой" который VirtualDub выдать не в состоянии.

Котяра
23-06-2008, 16:01
если более 30 мБ эта ДЛЛ, то не все инсталяторы типа "EXE" запускаются »
Видимо, они берут из нее, скажем, AVI летящих листиков...




© OSzone.net 2001-2012