PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   PRX/ELF Scanner & File Injector (https://www.pspx.ru/forum/showthread.php?t=88139)

Yoti 30.07.2010 04:05

PRX/ELF Scanner+Checker & File Injector
 
Вложений: 6
Хочу представить на суд общественный две маленьких программки для работы с ресурсами консоли.
Данные утилиты не прошьют PSP-3000 TA-093 6.31 или не сделают за вас всё!
Они предназначены лишь для облегчения выполнения некоторых задач.

Итак, под номером один у нас выступает PRX/ELF Scanner (scanner.exe)
Описание:
В великолепном мануале от ErikPshat'а расписано, что из себя представляет сжатый prx модуль. Допустим, вышло небольшое обновление прошивки и вам стало интересно, что в ней изменилось. Или вышло очередное "творение" от фэйкеров 0x44 0x54 и вы поставили себе задачу найти все замены в файлах и вывести их на чистую воду. Загружаем нужный файл, и...
Что делать с унылым EBOOT.PBP? Конечно, разбирать файл любимым hex-редактором, искать заголовки, считать размеры, копировать-вставлять-сохранять содержимое... Стандартная рутина. Нудно и долго.
Выход прост!

Использование:
0. Загружаем мою программку. Распаковываем архив, запускаем.
1. Перед вами появляется окно выбора файла. Выберите в нём EBOOT.PBP двойным щелчком (или одинарным с последующим нажатием
ОК).
2. Ждите. Правда, ждите =) Мне было лениво обновить программу и работает она приличное время. Конечно, не часы, но на скромном нетбуке может уйти и до 10 минут.
3. По окончанию будет отображено сообщение с количеством найденых файлов. после нажатия "ОК" программа завершит работу.
4. Все найденные файлы будут лежать рядом с файлом, в котором производился поиск.

Настройка:
Для настройки используйте файл settings.ini (открывается текстовым редактором).
Раздел settings:
SkipPrx - искать ли сжатые prx модули? (0=да, 1=нет)
SkipElf - искать ли несжатые elf модули? (0=да, 1=нет)
Skip1st - пропускать ли первый байт файла? (0=нет, 1=да)
ShowAll - отоборажать ли все сообщения? (0=нет, 1=да)
ElfSize - размер elf файла для извлечения (в байтах)
Первые две настройки понятны. Пропуск первого байта советую использовать. Отображение всех сообщений потребует много раз нажимать на "ОК", зато будет отличная видимость работы. Лучше не включать. Последняя строка необходима потому, что elf не имеет явного указания размера в заголовке.
Раздел filename:
Offset - указывать ли в имени файла его позицию в исходном файле? (0=нет, 1=да)
Module - указывать ли в имени файла его название? (0=нет, 1=да) (Настройку изменить невозможно, тут строго 1!)
Length - указывать ли в имени файла его размер? (0=нет, 1=да)
Шаблон имени: позиция_название_(размер).формат.prx
Пример имени: 12345_ModuleName_(54321).psp.prx
При отсутствии файла или строки в файле настроек будут использованы: 0,1,1,0,256*1024 и 1,1,0.

Вторым по счёту идёт File Injector (injector.exe)
Описание:
Русифицировали мы модуль программы, а как вставить назад? Обратный порядок выделить-копировать-найти-удалить-вставить-сохранить? Опять рутина? Ну уж нет, не таковские мы люди =)

Использование:
0. Загружаем софтинку =)
1. Распаковываем и запускаем.
2. Совершаем двойной щелчок по строке "{исходный файл}" и выбираем большой исходный файл. Тот, куда вы будете что-либо вставлять. Создайте копию файла и работайте с ней!
3. Аналогично выбираем файл для внедрения. например, это может быть шрифт.
4. Вводим в поле "{стартовый адрес}" позицию файла, начиная с которой будет произведена запись внедряемого файла в исходный.
5. Запускаем процесс нажатием на "приступить".
6. Ждём сообщения "Готово!"

Настройка:
Программа была неплохо проработана "изнутри" и вы можете увидеть различные окна. В них явно написано в чём проблема или просто важная информация.
Две же существующие настройки отключены, т.к. не реализованы до конца или вообще. При наличии определённых знаний можно включить "завершить 00", но никаких проверок совершено не будет, функция просто отработает положенное.
  • 07.08.2010 - Injector v1.01 (включена функция завершения 00)
  • 29.08.2010 - Scanner v4.00 (добавлен простейший чекер ~psp)
  • 28.12.2010 - Injector v1.02 (обновлены функции ноль-байт)
  • 28.12.2010 - Scanner v4.01 (обновлён чекер, новые функции)


Напоследок напишу лишь одно: фэйки - причина непубликации или поздней публикации массы полезных программ.
Поэтому, встретив фэйкера, дайте ему в глаз. А лучше - в оба =)


Написано с ненавистью к 0x44 0x54 и подобным личностям человеком под псевдонимом Yoti.
Статья оригинально опубликована на форуме pspx.ru.
Перепечатка в любом виде запрещена без явного разрешения автора (Yoti).
Связаться со мной можно посредством системы личных сообщений на этом форуме.

P.S. Возможно, программа содержит различные ошибки и извлекает ~psp с неверным размером. Ждите новую программу - "швейцарский нож".

Yoti 30.07.2010 04:24

Вложений: 1
Файл настроек из архива ниже должен лежать в одной папке с файлом scanner.exe.
Если кто-либо не знает синтаксиса ини-файлов, но желает настроить программу - милости просим в аттачи.
Изначально файл не приложен, ибо программа настроена максимально идеально.

Mercyful 30.07.2010 15:00

Yoti
Понимаю, что не для ISO-образов игр утилитка создана, но всё же...
Проверил на первом попавшемся образе ELF/PRX Scanner.
OPENSSMP.BIN, объёмом 752kb, извлекся правильно.
Загрузчики игры и обновления EBOOT.BIN извлеклись неверно.

Yoti 30.07.2010 19:47

Mercyful,
поиск происходит по заголовку ".ELF" или "~PSP". Размер эльфа нужно угадывать =)
И да, не для ИСО, т.к. алгоритм простейший - работает по-черепашьи =)
Я, просто, ленивый - поэтому пишу программы, которые делают что-либо за меня)))

Yoti добавил 30-07-2010 в 19:47
Ах да, по идее оно должно извлекать prx из файла с sce-заголовком. Это чтобы руками не хексить.


Текущее время: 12:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.