PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Русификация игр и софта для PSP (https://www.pspx.ru/forum/forumdisplay.php?f=190)
-   -   Системный шрифт PSP (https://www.pspx.ru/forum/showthread.php?t=102816)

lupus 02.01.2013 10:20

Пробовал просто декриптовать и вставлять без изменений?

lis5131 02.01.2013 10:52

Цитата:

Сообщение от lupus (Сообщение 1060449)
Пробовал просто декриптовать и вставлять без изменений?

Там просто ELF файл будет, врят-ли он будет работать без подписи сонни.

ErikPshat 02.01.2013 12:02

Цитата:

Сообщение от lis5131 (Сообщение 1060448)
Цитата:

Сообщение от lupus (Сообщение 1060447)
Криптовать не обязательно.

Тогда не работает.thank youЯ уже третий день сижу собираю разбираю вставляю и не пашет.

Ну так правильно, если ты это пытаешься запустить на официальной прошивке, то без подписи и сама игра не запустится.
А на кастоме криптовать не обязательно.

lupus, только я один заметил, что файлы во вложениях подписаны Соней? :xDD:

lupus 02.01.2013 12:46

Цитата:

Сообщение от lis5131 (Сообщение 1060450)
Там просто ELF файл будет, врят-ли он будет работать без подписи сонни.

Вообще не вижу проблемы. Хомки неподписанные и декриптованные ибуты запускаются, так почему бы этому не запускаться.

Эрик, я даже не смотрел, чем подписаны, если честно. Для меня логично, что соневские модули подписаны соней, а те, в которых копались, будут запускаться на кастомах. Как-то так :)

lis5131 02.01.2013 12:53

Цитата:

Сообщение от lupus (Сообщение 1060458)
Вообще не вижу проблемы. Хомки неподписанные и декриптованные ибуты запускаются, так почему бы этому не запускаться.

Эрик, я даже не смотрел, чем подписаны, если честно. Для меня логично, что соневские модули подписаны соней, а те, в которых копались, будут запускаться на кастомах. Как-то так :)

А не, вру, пошла...

А на витке пойдет?

lupus 02.01.2013 13:52

Через CEF - да

ErikPshat 05.01.2013 13:47

Кстати, по этому поводу я тут вспомнил одну вещь...
Цитата:

Сообщение от ErikPshat (Сообщение 1059953)
Нужно сделать однобайтовый шрифт PGF, чтобы можно было прямо в хексе или в текстовике писать русским шрифтом, без всяких закорючек и Юникодов, чтобы в шрифте не попадались служебные символы, т.е. шрифт должен быть в диапазоне C0-FF.

Вот в этой теме я уже оказывается всё это делал и выкладывал, лежит там во вложении. Так что можно ваще писать однобайтной кириллицей, а не Юникодом. Вот текст сообщения из шапки той темы:

Цитата:

Сообщение от ErikPshat (Сообщение 866363)
В архиве, для примера лежит шрифт TimesNewRoman.ttf, который я немного кастомизировал, удалив лишние языки, которые шли после русского алфавита. Английский вначале естесственно остался.

Так-же я в нём продублировал русский алфавит в области C0-FF (192-256). Поэтому его можно использовать в программах и плагинах, используя 8-битную (1-байтную) кодировку, вместо UTF-8.
Как он выглядит, можете посмотреть на скриншоте выше.


lis5131 05.01.2013 14:09

ErikPshat, шрифт у меня уже есть готовый начинается с C0=А. С этим нет проблем. хочешь напрямую пиши хочешь как юникод (C0 00 C0 00 C0 00)

lupus 05.01.2013 14:39

0xc0000 - это не юникод.

lis5131 05.01.2013 16:43

Цитата:

Сообщение от lupus (Сообщение 1060821)
0xc0000 - это не юникод.

Опечатался.:blush:Утф 8 - ты правда 00 много поставил.

ErikPshat 05.01.2013 16:45

lis5131, ну ты можешь ваще без нулей писать 0xC0C1C2C3C4 (АБВГ)

По поводу подписи модулей попозжа напишу, когда башка от нового года отойдёт )))

lis5131 05.01.2013 17:50

ErikPshat, не вопрос подождем.

lupus 05.01.2013 18:30

Цитата:

Сообщение от ErikPshat (Сообщение 1060839)
lis5131, ну ты можешь ваще без нулей писать 0xC0C1C2C3C4 (АБВГ)

По поводу подписи модулей попозжа напишу, когда башка от нового года отойдёт )))

Подписать-то их можно, вот только какой в этом смысл? :)

ErikPshat 06.01.2013 04:35

Цитата:

Сообщение от lupus (Сообщение 1060849)
Подписать-то их можно, вот только какой в этом смысл? :)

Ну так чтобы всё выглядело оригинально, чтобы нубы не поняли где и как ковыряли, и чтобы игра запускалась на официальной прошивке

lis5131 06.01.2013 07:26

Цитата:

Сообщение от ErikPshat (Сообщение 1060890)
Ну так чтобы всё выглядело оригинально, чтобы нубы не поняли где и как ковыряли, и чтобы игра запускалась на официальной прошивке

В точку. И еще одно иногда игры используют ЛБА вместо названия файлов. Тук конечно понятно что оригинальный (разжатый ELF) не впихнешь туда.

lupus 06.01.2013 12:17

Цитата:

Сообщение от ErikPshat (Сообщение 1060890)
Ну так чтобы всё выглядело оригинально

эстет ))
Цитата:

Сообщение от ErikPshat (Сообщение 1060890)
чтобы нубы не поняли где и как ковыряли

да пусть ковыряют, может чему дельному научатся. сам когда-то с нуля начинал.
Цитата:

Сообщение от ErikPshat (Сообщение 1060890)
чтобы игра запускалась на официальной прошивке

имхо подписанные игры давно не актуальны.
Но сам принцип знать конечно полезно.
Цитата:

Сообщение от lis5131 (Сообщение 1060894)
И еще одно иногда игры используют ЛБА вместо названия файлов.

Таких припоминаю аж 2 - ФФ3 и Рататуй. Правда в ФФ3 не совсем по лба. Может ещё о каких-то не знаю, но таких игр подавляющее меньшинство.
Цитата:

Сообщение от lis5131 (Сообщение 1060894)
понятно что оригинальный (разжатый ELF) не впихнешь туда.

Что-то не припомню, чтобы после декриптовки оригинальные соневские модули в размере прибавляли.

lis5131 06.01.2013 12:35

lupus, вот несколько примеров
Сжатый Распакованный
20,2 КБ 34,4 КБ
23,6 КБ 50,3 КБ

Распаковывал libfont.prx из разных игр.

lupus 06.01.2013 14:39

Хм, странно. Eboot.bin после декриптовки никогда размер не меняет, интересно, почему здесь так? о0

ErikPshat 06.01.2013 18:40

lupus, модули сжимаются, а EBOOT.BIN только шифруется.

Причём у нешифрованного размер меньше, чем у шифрованного, как ни странно :D

lupus 06.01.2013 23:39

Будем знать.

lis5131 21.01.2013 12:49


Ждемс.....

Yoti 18.02.2013 00:47

Цитата:

Сообщение от lupus (Сообщение 1059674)
Спс. Тут ещё такая идея возникла, можно ли запилить не плагин, а модуль, чтобы его в образ класть вместо eboot.pbp, и сначала он грузился, а затем родной eboot?

Заморочился вопросом. В общем, взял самый обычный usermode eboot.pbp, который грузит kernelmode prx. Перегнал его через eboot2iso, а также через pbp2iso. Оба варианта работают. То есть можно спокойно написать самую обычную программу, а затем просто DATA.PSP из неё использовать как EBOOT.BIN. Если всё правильно сделано, то оно без проблем заработает.

aloneunix 27.10.2013 22:55

Вложений: 1
Хочу также заменить шрифт в Planetarian, но вот незадача.
libfont.prx декриптовал успешно, но prxtool наотрез отказывается его дизассемблировать
http://puu.sh/5194J.png
Кто знает, в чём может быть проблема?
Ниже прикреплю оригинальную и декриптованную либу.
Вложение 9542

P.S.: причина замены шрифта — судя по дампу памяти в эмуляторе, в игре используется шрифт jpn0.pgf, при вставке в скрипт русского текста на выхлопе у кириллицы получается моноширинный шрифт, что не есть хорошо.

Yoti 28.10.2013 19:24

Вложений: 1
aloneunix,
забирай. И решай проблемы с компом - текст ошибки на скриншоте.

aloneunix 30.10.2013 19:58

Yoti, благодарю.
Решил разобраться, что было не так. Ошибка, что указана на скриншоте мало о чём говорит, т.к. заплатки стояли.
У меня всего-навсего оказался старый/нерабочий дистрибутив prxtool. Прекрасно с модулем справился билд, выложенный в этой теме.

riku.kh3 28.04.2014 01:38

Научите как перенаправить шрифт, думаю многим было бы интересно. :blush:
Хочу перенаправить из flash0:/font/jpn0.pgf в disc0:/PSP_GAME/USRDIR/X9DULE/jpn0.pgf

libfont.prx

frostegater 28.04.2014 16:50

riku.kh3, Zero VSH Patcher попробуй

COOLERbyPSP 28.04.2014 16:53

Zero VSH Patcher немного не из той оперы, он же просто берёт из папки на флешке, вместо того, чтобы брать из flash0

riku.kh3 04.05.2014 12:39

Да, через плагин конечно будет работать.. но немного попрактичней хотелось бы.. готовый проект страдает:

http://s52.radikal.ru/i135/1404/17/603cf8c982bf.png

Да и в патч это как бы тоже не добавишь, а форсировать ради одной игры устанавливать плагин всех подряд точно никто не будет.

UPD:
Нашел какой-то самопальный PRX, написанный китайцами. Ложится вместо libfont.prx, и в свою очередь грузит оригинальный файл переименованный в oldfont.prx и функцией fontfuck подменяет путь к шрифту)) Шрифт только там другой - zh_gb.pgf

http://rghost.net/54917474

ErikPshat 05.05.2014 19:13

Цитата:

Сообщение от riku.kh3 (Сообщение 1086647)
Научите как перенаправить шрифт, думаю многим было бы интересно. :blush:
Хочу перенаправить из flash0:/font/jpn0.pgf в disc0:/PSP_GAME/USRDIR/X9DULE/jpn0.pgf

libfont.prx

Эмм, так вроде об этом шла речь на предыдущей странице: https://www.pspx.ru/forum/showthread....48#post1059948
Думаю тут ситуация 1:1.

riku.kh3 05.05.2014 19:24

ErikPshat, так да, я потому сюда и написал. Сам просто не могу переварить информацию в ее текущем виде с предыдущей страницы. :scratch_one-s_head:

ErikPshat 05.05.2014 19:38

riku.kh3, ты там скачай готовые шрифты и либфонты, там ниже в сообщениях я выложил готовый пак. Сравни их и обнаружишь то место, где я менял пути. Да, файлы обратно зашифрованы, поэтому их нужно декриптовать.

Сейчас вспомнить трудно, но по-моему пути в оригинале отображаются в неявном виде, т.е. они как-то хитро завуалированы. Я эти смещения угадал, когда сдампил через дампер памяти этот модуль libfont.prx. В памяти он складывает путь в файле.

Короче, запускаешь игру, чтобы отображался шрифт в игре в нужном месте, например в меню настроек игры или в диалогах. И в этот момент дампишь память. Я вроде использовал дампер memdump от эмм... нашего разработчика, от фузы, плин памяти совсем нет )) Он лежит на форуме в какой-то теме.

Сейчас я уезжаю и инета не будет наверное, так что, если сам не справишься, то смогу помочь только спустя неопределённое время. Но думаю, если почитаешь диалоги на предыдущей странице, то сам поймёшь.

ErikPshat 05.05.2014 19:47

Цитата:

Сообщение от riku.kh3 (Сообщение 1086647)

Скачал, глянул. Файл нужно сначала декриптовать.

Перед этим нужно удалить заголовок ~SCE (0x40 байт) до заголовка ~PSP. После этого можно декриптовать через PRXdecrypter на PSP или на Vita.

Ну и в декриптованном ELF можно уже искать путь. Он будет находиться ровно в том же месте, где находится путь в сдампленном этом же модуле из памяти.

Чтобы зашифровать обратно, нужно:
  1. Из зашифрованного файлв ~PSP сдампить KIRK (спроси у Yoti).
  2. Этим же кирком зашифровать обратно - есть тема по нашему PRX Encrypter Mod с исходниками.
  3. Потом в начало файла обратно вернуть заголовок ~SCE

riku.kh3 05.05.2014 19:50

Вот досада, реальной PSP нет, декриптовать сравнить не могу. :(

А RAM дамп давно снял:
https://www.firedrive.com/file/EA7DD2E7373EA413

ErikPshat 05.05.2014 20:07

Цитата:

Сообщение от riku.kh3 (Сообщение 1086795)
А RAM дамп давно снял:

Это не тот вид дампа. Там вижу только ссылки на модули, например так: disc0:/PSP_GAME/USRDIR/X9DULE/libfont.prx
Но вот самого модуля libfont.prx я в дампе не вижу.

Ищи дампер от Andy_maN. Он дампит все загруженные модули по-отдельности.

Цитата:

Сообщение от riku.kh3 (Сообщение 1086795)
Вот досада, реальной PSP нет, декриптовать сравнить не могу.

Ну можно на Вите сделать или кого-нибудь попросить, например у Кулера есть PSP, у vash есть и много у кого есть ;) :)

А дампер вспомнил: moDumper plugin by Andy_maN

riku.kh3 05.05.2014 20:27

Эх, значит и RAM дамп нормальный не снять без PSP. :( Вита у меня на последней офф прошивке, там без вариантов - ничего не запустить.

UPD:
Нашел немного информации по по libfont.
http://translate.googleusercontent.c...M1z5EDSpxdsCmg

ErikPshat 08.05.2014 15:35

Вложений: 1
Цитата:

Сообщение от riku.kh3 (Сообщение 1086647)
Хочу перенаправить из flash0:/font/jpn0.pgf в disc0:/PSP_GAME/USRDIR/X9DULE/jpn0.pgf

Собсно забирай во вложении и проверяй. Если понадобится, то позже зашифрую файл обратно, как в оригинале.

P.S. Не забудь в образе перед заменой снять LBA позиции, а затем их вернуть обратно.

riku.kh3 08.05.2014 15:55

ErikPshat, спасибо. Подписать его - и вообще будет идеально. Собираюсь отправить его автору английского порта, мы с ним уже общались.

По поводу самого шрифта еще что говорил.. Так выглядят русские буковки в родном jpn0.pgf:

http://i021.radikal.ru/1405/13/d36239f5d746.png

Но при попытке сохранится, игра крэшится.. скорее всего из-за ASCII пробелов ($20), которые движок игры принимает за скриптовые команды.. С shiftjis пробелами все работает нормально, но выглядит так:

http://s020.radikal.ru/i720/1405/da/b2e49c67773a.png

Я пробовал играться с TTF шрифтом, и там свободно получается изменить ширину любой буквы и нужного пробела... но после конвертации в через ttf_pgf.exe, в самой игре ширина уже не становится.. то есть, думаю, либо она прописана в самом pgf и ttf_pgf при конвертации всегда вставляет ее статичное значение.. либо игра вставляет этот интервал после самой буквы. Как-то так. :scratch_one-s_head:

Перевод PC-версии на русский кстати ведется тут:
http://notabenoid.com/book/47139/
Если с техническими проблемами разобраться можно было бы организовать PSP версию.

ErikPshat 08.05.2014 16:31

riku.kh3, в архиве я положил свой jpn0.pgf - это не родной. Ты его пробовал?
TTF2PGF ты использовал мою сборку?

И кстати, на английском порте тоже видно, что идёт 2-ой пробел:

http://s52.radikal.ru/i135/1404/17/603cf8c982bf.png

Цитата:

Сообщение от riku.kh3 (Сообщение 1086833)
игра крэшится.. скорее всего из-за ASCII пробелов ($20)

А что если пробелы 0x20 подменить на другой код, например подглядеть в Shift-JIS?

Ну собственно получается та же история, как в предыдущем переводе с Лунаром. Там так же использовались служебные символы в русской кодировке. Эти символы можно все вычислить по коду переводимого файла и просто не использовать их, делать подмену из другого диапазона, либо в самом шрифте переместить буквы в другую область.

riku.kh3 08.05.2014 16:48

Цитата:

Сообщение от ErikPshat (Сообщение 1086835)
riku.kh3, в архиве я положил свой jpn0.pgf - это не родной. Ты его пробовал?
TTF2PGF ты использовал мою сборку?

Да, с ним (программа тоже оттуда), и с другим заведомо правильно собранными jpn0.pgf (у меня есть красивенький курсивчиком, там сразу же разницу видно). Да и по логам эмулятора видно что он грузится из flash0:/fonts/jpn0.pgf. Но если на реальном железе как положено работает, то не суть важно.

Цитата:

Сообщение от ErikPshat (Сообщение 1086835)
И кстати, на английском порте тоже видно, что идёт 2-ой пробел:

Ага, английские буквы тоже в двухбайтовом shiftjis'е.

Цитата:

Сообщение от ErikPshat (Сообщение 1086835)
А что если пробелы 0x20 подменить на другой код, например подглядеть в Shift-JIS?

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

Цитата:

Сообщение от ErikPshat (Сообщение 1086835)
Ну собственно получается та же история, как в предыдущем переводе с Лунаром. Там так же использовались служебные символы в русской кодировке. Эти символы можно все вычислить по коду переводимого файла и просто не использовать их, делать подмену из другого диапазона, либо в самом шрифте переместить буквы в другую область.

Как вариант конечно, но там в окошке сохранения фраза на которой сейв делается отображается системными шрифтами, биллиберда будет несовсем эстетичная, конечно, но как вариант.


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

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