Nokia клуб - Все о телефонах Nokia
Фан-клуб Nokia: Регистрация

Забыли пароль?
Nokia клуб:java игры |темы |мелодии |программы  
 

  
Nokia клуб / Центр знаний Nokia 9 Февраля 2010г.

Распаковка и запаковка исполняемых файлов и библиотек (E32Image)


Программы для ПК.
Программы для работы на ПК, касающиеся: Графики, Видео, Аудио, Синхронизации

Железо
Ремонт, прошивка телефонов, восстановление данных, снятие паролей, патчинг; совместимости аксессуаров, решение проблем и т.д.: Аксессуары, Программаторы

Смартфоны S60 и все о них
Востановление ОС, сертификация, решение проблем и многое другое: Symbian 7-8.1, Symbian 9.x

Разное
Статьи, не вошедшие ни в один из разделов

Телефоны S40 и все о них
Секреты, решение проблем и многое другое: 2nd, 3rd, 5th Editions

Программирование
Программирование под операционные системы Symbian и Java, а также русификация и модификация приложений. Symbian 7-8.1, Symbian 9.x, Java, Python

Передача данных
Настройка и решение проблем с Internet, настройки операторов, работа с Bluetooth, Wi-Fi, Ик-порт и т.д.

По тексту
 
Расширенный поиск
Какая платформа у моего телефона?
Ничего не нашел, где можно заказать статью?


Рейтинг статьи: +3

Тема: Распаковка и запаковка исполняемых файлов и библиотек (E32Image)
Категория: Программирование
Совместимость: Symbian 9.1, 9.2, 9.3, 9.4
Автор: Червоная Ольга


Данная статья будет полезна пользователям, которые занимаются исследованием и редактированием исполняемых файлов и библиотек приложений Symbian OS. Например, для тех, кто изучает файлы для создание патчей, для пользователей, кто занимается русификацией программ Symbian, где часть перевода приходится выполнять в ехе и dll файлах. С помощью данного описания Вы научитесь распаковывать и запаковыть исполняемые файлы. Все описанные в статье действия выполняются с помощью приложений для ПК.
При создании приложения, при его компиляции, компоновщик GNU связывает объектные файлы в промежуточном исполняемом файле. Формат данного исполняемого файла называется PE-COFF (что является сокращением от Portable Executable-Common Object File Format).
Инструмент Symbian OS petran.exe (из комплекта SDK) преобразовывает исполняемый файл, созданный компоновщиком GNU, в E32 исполняемый файл, и в результате на выходе получается exe файл, который мы уже можем запускать на наших смартфонах.
Редактировать и исследовать файлы в формате E32Image не представляется возможным, поэтому необходимо выполнить обратную декомпрессию файла. И используя инструмент petran.exe с заданными опциями в командной строке, мы можем привести исполняемые файлы из E32 формата в РЕ формат. И в случае необходимости, затем, вернуть обратно в формат Е32.

Распаковка и запаковка исполняемых файлов и библиотек (E32Image).

Скачайте приложенный архив petranOS9x.zip на ПК и распакуйте его в отдельную папку. В распакованном архиве Вы найдете три файла:
  • petran.exe - приложение для распаковки/запаковки исполняемых файлов (exe) и библиотек (dll) (E32Image)
  • pack.bat - запускает приложение petran.exe с командной строкой для запаковки исполняемых файлов и библиотек
  • unpack.bat - запускает приложение petran.exe с командной строкой для распаковки исполняемых файлов и библиотек




Рассмотрим подробней файлы bat, которые запускают из командной строки исполняемый файл petran.exe.
Просмотреть содержимое файла bat можно в стандартном приложении Windows Блокнот. Как видно из приведенного скриншота, файл unpack.bat запускает исполняемый файл с командой petran.exe -nocompress file_name.exe,
где file_name.exe - есть имя файла, который необходимо распаковать.
Данная команда выполнит распаковку исполняемого файла.



Файл pack.bat запускает исполняемый файл с командой petran.exe -compress file_name.exe,
где file_name.exe - есть имя файла, который необходимо запаковать.
Данная команда выполнит запаковку исполняемого файла.



Теперь давайте рассмотрим на конкретном примере: как же следует работать с данными файлами.
Мной для примера выбран исполняемый файл приложения UCWEB. Скопируем ехе файл приложения в ту же папку, в которой у Вас расположены файлы программы petran.exe. Обратите внимание на размер исполняемого файла. В данный момент, скопированный файл находится в запакованном виде и его размер составляет 420 КБ.



Нам необходимо выполнить распаковку файла. Для этого, в первую очередь, Вам необходимо заменить (вписать) оригинальное имя исполняемого файла в файле unpack.bat.
Скопируем предварительно имя ехе файла в буфер обмена. Откроем файл unpack.bat в Блокноте, а заменим file_name.exe на UCWEB6-EN.exe (вставив через буфер обмена). Затем жмем Файл - Сохранить, тем самым сохранив изменения в редактируемом файле.
На этом этапе файл unpack.bat готов для выполнения команды распаковки исполняемого файла UCWEB6-EN.exe.



Двойным щелчком запускаем файл unpack.bat для выполнения распаковки.
Как Вы, наверное, заметили, у меня второй строкой в bat файле стоит pause. Это сделано для того, чтобы окно не закрывалось по окончании выполнения команды. Тем самым, например, в случае ошибки, Вы всегда сможете увидеть лог ошибки.
В моем случае ошибок нет, в окне мы видим исполняемую команду для файла UCWEB6-EN.exe и предложение нажать любую клавишу для закрытия программы. Нажимаем любую клавишу на клавиатуре. Окно будет закрыто.



Выделяем наш файл, который было необходимо распаковать, в нашем случае это файл UCWEB6-EN.exe. Обращаем внимание на его размер. Размер увеличился, наш файл распакован. Т.е. запакованный файл, после выполнения команды был перезаписан распакованным файлом.



Далее вы работаете с файлом UCWEB6-EN.exe на свое усмотрение. В случае, если Вам необходимо выполнить обратное действие, т.е. запаковать, например, отредактированный файл, то необходимо обратиться теперь в файлу pack.bat. Вам, в первую очередь, необходимо заменить (вписать) оригинальное имя исполняемого файла в файле pack.bat.
Скопируем предварительно имя ехе файла в буфер обмена. Откроем файл pack.bat в Блокноте, а заменим file_name.exe на UCWEB6-EN.exe (вставив через буфер обмена). Затем жмем Файл - Сохранить, тем самым сохранив изменения в редактируемом файле.
На этом этапе файл pack.bat готов для выполнения команды запаковки исполняемого файла UCWEB6-EN.exe.



Двойным щелчком запускаем файл pack.bat для выполнения запаковки.
Как видно из приведенного ниже скриншота: в моем случае ошибок нет, в окне мы видим исполняемую команду для файла UCWEB6-EN.exe и предложение нажать любую клавишу для закрытия программы. Нажимаем любую клавишу на клавиатуре. Окно будет закрыто.



Выделяем наш файл, который было необходимо запаковать, в нашем случае это файл UCWEB6-EN.exe. Обращаем внимание на его размер. Размер уменьшился (и стал равен размеру файла оригинала), наш файл запакован. Т.е. распакованный файл, после выполнения команды был перезаписан запакованным файлом.



Для тех, кому необходимо лишь исследовать исполняемые файлы, а паковать назад их приходится реже, хочу порекомендовать способ, что будет для Вас более удобен. Распаковка файла пройдет автоматически, но вот в случае, если встанет необходимость запаковать исполняемый файл, то Вам придется уже действовать вручную, как описано мной выше.

Поможет нам в этом приложение SISContents, скачать которое Вы можете с официального сайта программы (приложение бесплатное, не требует установки).
Если Вы ранее еще ни разу не запускали программу, то Вам необходимо это сделать. Это требуется для того, чтобы программа создала файл extsis.ini в своей директории. Данный файл создается при первом запуске программы.



Проверяем, что файл extsis.ini создан в папке программы. И в этой же папке создаем новую папку. И называем ее Plugins.



В созданную папку Plugins помещаем файл petran.exe из скачанного архива.



Теперь нам необходимо внести незначительные изменения в файл extsis.ini. Откройте данный файл в стандартном приложении Windows Блокнот.



По умолчанию, в разделе Settings значению строки UncompressExecutables присвоено значение 0, т.е., по умолчанию, программа не распаковывает исполняемые файлы и библиотеки.



Изменим значение для UncompressExecutables, заменив 0 на 1. Тем самым, мы указываем программе , что необходимо все исполняемые файлы и библиотеки распаковать.
Важно: данное изменение будет иметь силу только в том случае, если Вами создана папка Plugins и в нее помещен файл petran.exe. Без данного файла, приложение SISContents не сможет выполнить распаковку.
Жмем Файл - Сохранить. Тем самым сохраняем изменения в файле extsis.ini.



Теперь запустите приложение SISContents, откройте в нем интересующий Вас sis пакет.
В случае, если для исследования Вам необходима полная распаковка установочного пакета, то используя иконку Извлечь, распаковываем sis пакет полностью.



Автоматически, после окончания извлечения файлов из sis пакета, откроется окно с папкой, куда было распаковано Ваше приложение. Исполняемые файлы, как правило, расположены в папке sys. Переходим в нее.



Находим в папке sys интересующий нас исполняемый файл или библиотеку. А нашем случае, это файл UCWEB6-EN.exe. Выделяем файл и смотрим его размер. Как видим, файл находится в данной папке уже в распакованном виде, о чем свидетельствует его размер. Далее можно приступать к исследованию и редактированию файла, в случае необходимости.



Если же Вам не требуется полная распаковка sis пакета, то приложение SISContents поддерживает функцию drag-and-drop. Т.е., Вы можете выделить в списке файлов необходимый Вам исполняемый файл или библиотеку и перетянуть его в любое место, например, в моем случае на рабочий стол.
Как видим из приведенного ниже скриншота (обращаем внимание на размер файла), мы имеем исполняемый файл, который извлечен из программы уже в распакованном виде. Далее можно приступать к исследованию и редактированию файла, в случае необходимости.



К сожалению, программа SISContents не запаковывает исполняемые файлы и библиотеки назад (возможно, я ошибаюсь, но я не знаю команды, необходимой программе для этого действия). Поэтому, в случае, если Вам будет необходимо выполнить обратное действие, т.е. запаковать отредактированный файл, то Вам в любом случае придется работать со способом, описанным мной выше. Т.е. запаковать вручную, используя файлы pack.bat и petran.exe из архива.

Помогла ли Вам эта статья? Да Нет
Обсудить статью "Распаковка и запаковка исполняемых файлов и библиотек (E32Image)" на форуме.

Рейтинг статьи: +3

^ вверх ^




Сотовые Nokia бесплатно!


  
 
главная | мелодии | картинки | java игры | программы |
allnokia.ru - Все для телефонов Nokia © 2004-2010
Использование материалов сайта возможно только с разрешения администрации.
Связаться с администрацией можно здесь.
Rambler's Top100
0.0011 сек.