Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » EXE, DLL, OCX, PE-распаковка|упаковка|pack|unpack|decrypt

Модерирует : gyra, Maz

Widok (28-04-2005 19:47): Перемещено в форум "Андеграунд"  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5

   

leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

  • Выбор программы сжатия исполняемых файлов
  • Последние события на рынке и новинки
  • В каких случаях имеет смысл сжимать программы и чем это черевато?
  • Что делать, если необходимо изменить программу, а она запакована

Этим и многим другим смежным вопросам сжатия исполняемых файлов посвященая эта тема.


Ссылки

Aaron's page@ EXETools.com
Распаковщики на WASM.ru
UnASPack by Y0da
UnPAKiNG G0ds

 
Определители упаковщиков

PEiD & Plugins

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 19:14 14-12-2002 | Исправлено: TCPIP, 19:27 28-04-2005
Felix



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
сегодня надеюсь руки дойдут до подсчётов, и я выложу данные по вермени запуска, загрузке цпу и пожиранию памяти (для сжатых и несжатых VCL программ на Delphi) но результаты будут только в пятницу....  
ymy интересный вопрос заключается в том, для каких пакеров справедлива цитата?!?, алгоритмы-то у всех разные....., да зачастую и концепции...
 
vito333 кучу док (правда на английском) можо найти отталкиваясь от UPX, NRV, LZO и т.п.
 
 
Добавлено
кстати:
 

Цитата:
UPX, как и любой другой паковщик, при запуске программы должен распаковать ее в память и затем передать ей управление.  


Всего записей: 965 | Зарегистр. 20-01-2002 | Отправлено: 13:22 18-12-2002
leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
по-моему, всё уже понятно...
но всё равно интересно

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 13:32 18-12-2002
QuickeneR

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
На самом деле неупакованный файл виндузня не считывает весь сразу в память, а только необходимые части, и потом зачитывает по мере необходимости (файл становится как-бы частью свопа, используется так называемая проэкция файла в виртуальную память)

Вызывает сомнения. Есть такая вещь DelMod от EliCZ которая позволяет удалять exe и dll, когда процесс активен. Спрашивается, как бы она работала, если бы винда действительно подгружала файлы не из свапа, а из образа на диске?

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 14:49 18-12-2002
leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
QuickeneR
действительно...
хотя может эти проги получат какие-нить эксклюзивные права...

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 15:30 18-12-2002
ymy



YourMyYour
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333

Цитата:
но чего-то не убедили меня

Да чегу тут убеждать, это не мои личные предположения, это принципы работы виндузни, вполне логичные и правильные.
 
Felix

Цитата:
интересный вопрос заключается в том, для каких пакеров справедлива цитата?!?

Цитата справедлива для всех пакеров расжимающих в память, коих сейчас подавляющее большинство.
 
QuickeneR

Цитата:
Вызывает сомнения. Есть такая вещь DelMod от EliCZ которая позволяет удалять exe и dll

Конечно можно поменять уровень защиты страниц памяти заставив тем самым систему отключить файл от свопа и целиком передать его в своп, а потом делай с этим файлом чего хочешь, хошь удаляй,
так что это ничему не противоречит.

Всего записей: 1339 | Зарегистр. 22-04-2002 | Отправлено: 21:10 18-12-2002 | Исправлено: ymy, 21:10 18-12-2002
QuickeneR

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymy
А это можно как-то проверить?
Вот например, если затереть содержимое экзешника в процессе выполнения, обойдя его блокировку окошками, по твоей теории он должен вывалиться с ошибкой. Надо будет как-нибудь попробовать.

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 21:33 18-12-2002
ymy



YourMyYour
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
QuickeneR Я не совсем понял как ты хочешь это проверить, я же говорил что после смены уровня/режима защиты с RO на RW, система отключит эту страничку от свопа и загонит в своп, после этого удаляй, обнуляй всё пофиг, файл уже в свопе. Если конечно написать драйвер или фильтр чтобы на низком уровне патчить чего-то в алгоритме свопа и подкачки страниц, ну если кто собирётся флаг ему в руки Постоянный BlueScreen ему гарантирован. А пока ты не поменял аттрибут зашиты часть диска соответсвующая этой RO секции является частью свопа и писать туда тебе не дадут.
 
В NT/2k/XP даже RW секции в PE файле не сразу качаются в своп, а являются частью виртуальной памяти (частью свопа) до той поры, пока не будет первой попытки записи. (аттрибут защиты PAGE_WRITECOPY)

Всего записей: 1339 | Зарегистр. 22-04-2002 | Отправлено: 21:43 18-12-2002 | Исправлено: ymy, 22:12 18-12-2002
QuickeneR

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymy
Проверить просто - сделать драйвер, который будет писать на диск невзирая на атрибуты. После чего скопировать туда-сюда метров 500.
Или еще идея: посмотреть filemon'ом обращения к exe после загрузки.

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 23:22 18-12-2002
ymy



YourMyYour
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
QuickeneR
Нет ты так и не понял
На EXE проэцируется виртуальная память, поэтому обрашение к нему идёт через механизм подкачки страниц, а не через какие-нибудь APIшные функции, пускай даже низкоуровненные, поэтому никакой filemon не поможет. Драйверу используя APIшные функции писать тоже не дадут, разве что напрямую с диском работать.
 
Проверить можно так, создать EXE c большущей RData-ой, какой-нибудь константынй массив метров на 10, главное чтобы прога ничего не делала, никакие dll не импортировала и сама память никакую не выделяла. Сделанный таким макаром EXE запустить и посмотреть что изменилось в соотношении памяти.

Всего записей: 1339 | Зарегистр. 22-04-2002 | Отправлено: 00:29 19-12-2002 | Исправлено: ymy, 00:43 19-12-2002
QuickeneR

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если ты хочешь сказать, что блокировка намапленных (или открытых иным способом) файлов осуществляется на одном уровне с доступом к винту по секторам, то я не верю.
А лучше скажи, где прочитал или как определил, что на EXE проэцируется виртуальная память, и не будем спорить.

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 00:38 19-12-2002
ymy



YourMyYour
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну например  
Хелен Кастер Основы NT и NTFS
Jeffrey Richter  Programming Applications for MSWindows
David A. Solomon Mark E. Russinovich Inside for Windows 2000
 

Цитата:
блокировка намапленных (или открытых иным способом) файлов осуществляется на одном уровне с доступом к винту по секторам

Она осуществояется на том же уровне что и блокировка pagefile.sys
Конечно это относится только к запускаемым PEфайлам, а не ко всем открытым, но есть возможность даже обычнычные файлы проецировать на регион адресного пространства. Соответственно ещё один способ проверки замапить какой-нибудь большой файл и посмотреть на изменения баланса.
 
Вообщем не знаю чему тут можно не верить, по-моему это самый правильный и оптимальный вариант работы системы.

Всего записей: 1339 | Зарегистр. 22-04-2002 | Отправлено: 00:48 19-12-2002 | Исправлено: ymy, 01:03 19-12-2002
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в общем основня проблема при использовании выходит  - большее потребление памяти - так они (паковщики) чего - не освобождают ненужные куски памяти после распаковки?
 
а по поводу ускорения запуска - у меня он наблюдается, так что мне пофигу как виндузня считывает ехе-шники - сразу или по частям - у меня этот эффект возможно из-за более медленного винта на ноуте, но это неважно, раз эффект есть, то он есть.
 
Добавлено
загрузку цпу - тоже отбрасываем - т.к. она получается возможна только очень короткое время - при распаковке ...
 
Добавлено
осталось померять память и сделать выводы (может и придется наплевать на принципы работы винды ...

Всего записей: 3324 | Зарегистр. 13-05-2002 | Отправлено: 08:37 19-12-2002
ymy



YourMyYour
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333 Паковшики выделяют место в свопе для всей проги, а если не упаковано то ничего не выделяется.
 
А скорость запуска может падать и из-за всяких realtime антивирей, при работе некоторых вся оптимизация идёт коту под хвост.

Всего записей: 1339 | Зарегистр. 22-04-2002 | Отправлено: 10:59 19-12-2002 | Исправлено: ymy, 10:59 19-12-2002
leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я замерял без антивирей, вообще голая винда, без каких либо резидентов.

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 15:07 19-12-2002
Farch



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymy
ёпт пакования хотят пусть сами UPX ом жмут твои какие трблы?

Всего записей: 3211 | Зарегистр. 25-12-2001 | Отправлено: 15:27 19-12-2002
leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну вердикт кто-нить огласит?
хотя всё равно будет оговорка типа "с одной стороны..., а с другой..."

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 16:33 19-12-2002
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Because of the way UPX (and other packers for this format) works, you
can see increased memory usage of your compressed files. If you start
several instances of huge compressed programs you're wasting memory
because the common segements of the program won't get shared across the instances. On the other hand if you're compressing only smaller programs, or running only one instance of larger programs, then this penalty is smaller, but it's still there.
 
это из доки UPX ...

Всего записей: 3324 | Зарегистр. 13-05-2002 | Отправлено: 16:41 19-12-2002
leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
you're wasting memory

этим всё сказано

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 17:11 19-12-2002
QuickeneR

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymy
До меня долго не могло дойти, о чем речь. Признаю твою правоту.
P.S. Но если вытащить диск, на котором находится 70 метровый несжатый экзешник, ошибок так и появляется.

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 21:46 19-12-2002
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
буду сжимать дальше все и вся - но теперь внимательно проверять результат сжатия - спасибо всем за вопросы и ответы!
 
например Рехетка от YMY сжатая пашет ничуть не хуже и ресурсов не хавает дополнительно ...

Всего записей: 3324 | Зарегистр. 13-05-2002 | Отправлено: 06:25 20-12-2002
   

Страницы: 1 2 3 4 5

Компьютерный форум Ru.Board » Компьютеры » Программы » EXE, DLL, OCX, PE-распаковка|упаковка|pack|unpack|decrypt
Widok (28-04-2005 19:47): Перемещено в форум "Андеграунд"


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru