PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   PSP хакинг и девелопмент (https://www.pspx.ru/forum/forumdisplay.php?f=195)
-   -   Адаптация CTFtool GUI для конвертирования тем CTF под прошивку 6.60 (https://www.pspx.ru/forum/showthread.php?t=103804)

mino-sama 30.06.2013 22:59

Адаптация CTFtool GUI для конвертирования тем CTF под прошивку 6.60
 
так, псп приобрела только вот сегодня и сразу возник такой вопрос. как конвентировать темы ctf на 6.60 прошивку?

ErikPshat 01.07.2013 12:05

mino-sama, хороший и животрепешущий вопрос :)
Всё очень просто. Только нужно иметь некоторые знания - уметь пользоваться Хекс-редактором, уметь дескрамблировать код, знать все файлы прошивки, отвечающие за графический интерфейс, уметь вычислять и изменять все байты в файлах, ну и затем собирать все изменённые файлы в контейнер CTF.

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



А если вам нужен автомат, то давно стоит такая проблема и я давно хотел адаптировать CTFtool GUI v5 beta2 под 6.60.
Дело в том, что последняя версия этого конвертера выходила под прошивку 6.39 и на этом разработка оборвалась, так как у разработчика patpat украли ноутбук со всеми наработками и исходным кодом.



Ну я надеюсь, что наши хакеры и разработчики решат эту проблему, специально для Вас ;)

Yoti 02.07.2013 23:09

ErikPshat,
темы - ненужная мишура.

ErikPshat 03.07.2013 11:35

Yoti, ну это кому как. Кому-то они нравятся, кому-то мешают, а кому-то просто интересно. Ведь с этого всё начиналось, с ковыряния файлов прошивок, чтобы изменить внешний вид интерфейса PSP. Не зря же у нас существует самый первый и самый древний раздел "Тюнинг интерфейса".
Меня же, например, не оставляет в покое сам факт того, что CTFtool GUI не конвертит темы под 6.60.

ErikPshat 03.07.2013 17:26

Вложений: 5
Ну пока хакеры и разрабы спят, пожалуй потихоньку начну хоть с чего-то...

Шаг 1: Исследуем ресурсы

Для начала, думаю, необходимо посмотреть на внутренние ресурсы и определиться с тем, каким способом можно это дело пофиксить.
Для просмотра и редактирования ресурсов советую воспользоваться знаменитой программой, которую каждый must have и называется она Restorator.
Так же можно воспользоваться её младшими, более скромными братьями: Resource Hacker (free) или Resource Builder (скачать)

  1. Итак, открываем файл CTFtool_GUI.exe в редакторе ресурсов:
    Restorator 2007
    Resource Hacker
    Resource Builder
  2. Нас там интересует только один ресурс "Custom-101". Это по сути текстовой файл profile.ini, который извлекается в папку с программой после первого запуска. Он содержит в себе строки контекстного меню, вызываемого правой кнопкой мыши по файлу. Так же, содержит скрипты исполняемых команд CMD, которые выполняются при выборе соответствующей строки в контекстном меню.

  3. Как видно, многие команды универсальные, которые трогать не стоит. Но есть несколько разделов, в которых происходят изменения в соответствии с версией прошивок. Вот эти разделы нам и следует отредактировать, чтобы добавить поддержку прошивки 6.60.
    Это разделы [RCO], [PRX], [CTF] и [PTF]. Для примера вот так выглядет раздел [RCO]:


  4. Как видно по содержимому, оно постоянно повторяет 3 строчки:
    Код:

    cn_item_1=К№УГRcomage·ЦЅв%filename%(УўОД)
    en_item_1=Dump%filename%with Rcomage(English)
    cmd_1=%CTFtoolGUI% -dump rco -input %path%


    1. Первая строка - пункт контекстного меню по правой кнопке мыши на Китайском.
    2. Вторая строка - пункт контекстного меню по правой кнопке мыши на Английском.
    3. Третья строка - сама исполняемая команда CMD при нажатии на этот пункт.
    Вот так этот пункт выглядет в 'Контекстном меню'
  5. Нам же нужно добавить поддержку прошивки 6.60 вот в такого плана строчки:
    Код:

    cn_item_5=RCO°ж±ѕЧЄ»» 500->635/637/638/639
    en_item_5=Convert RCO 500->635/637/638/639
    cmd_5=%CTFtoolGUI% -convert rco -base 500 -version 635 -input %path%


  6. Ну там понятно, что в данном случае преобразуются файлы RCO от прошивки 5.00 к прошивке 635/637/638/639
    Дело в том, что у прошивок 635/637/638/639 никаких изменений произведено не было в плане GUI интерфейса PSP, поэтому их все объединили в один скрипт.

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

Думаем товарищи!!! Какие будут у вас хорошие идеи? Вернее вопрос в том, какую версию прошивки заменить на 6.60...

ErikPshat 03.07.2013 20:23

Короче, вот здесь я вычистил весь лишний мусор, чтобы было более наглядно.
Остаётся только решить, какую прошивку нам лучше выкинуть и взамен её поставить 6.60...

Код:

[RCO]
en_item_3=Convert RCO 500->550
en_item_4=Convert RCO 500->620
en_item_5=Convert RCO 500->635/637/638/639
en_item_6=Convert RCO 550->500
en_item_7=Convert RCO 550->620
en_item_8=Convert RCO 550->635/637/638/639
en_item_9=Convert RCO 620->500
en_item_10=Convert RCO 620->550
en_item_11=Convert RCO 620->635/637/638/639
en_item_12=Convert RCO 635/637/638/639->500
en_item_13=Convert RCO 635/637/638/639->550
en_item_14=Convert RCO 635/637/638/639->620
en_item_15=Convert topmenu_icon nomenclature 5xx->620
en_item_16=Convert topmenu_icon nomenclature 5xx->631
en_item_17=Convert topmenu_icon nomenclature 5xx->635/637/638/639
en_item_18=Convert topmenu_icon nomenclature 620->5xx
en_item_19=Convert topmenu_icon nomenclature 631->5xx
en_item_20=Convert topmenu_icon nomenclature 635/637/638/639->5xx

[PRX]
en_item_4=Convert%filename%to 500
en_item_5=Convert%filename%to 550
en_item_6=Convert%filename%to 620
en_item_7=Convert%filename%to 631
en_item_8=Convert%filename%to 635
en_item_9=Convert%filename%to 637
en_item_10=Convert%filename%to 638
en_item_11=Convert%filename%to 639

[CTF]
en_item_6=Convert CTF 500/550/620/635/637/638/639->503
en_item_7=Convert CTF 500/503/620/635/637/638/639->550
en_item_8=Convert CTF 503/550/620/635/637/638/639->500
en_item_9=Convert CTF 500/503/550/620/635/637/638->639
en_item_10=Convert CTF 500/503/550/620/635/637/639->638
en_item_11=Convert CTF 500/503/550/620/635/638/639->637
en_item_12=Convert CTF 500/503/550/620/637/638/639->635
en_item_13=Convert CTF 500/503/550/635/637/638/639->620
en_item_14=Convert CTF 500/550/620/635/637/638/639->503 and send to psp
en_item_15=Convert CTF 500/503/620/635/637/638/639->550 and send to psp
en_item_16=Convert CTF 503/550/620/635/637/638/639->500 and send to psp
en_item_17=Convert CTF 500/503/550/620/635/637/638->639 and send to psp
en_item_18=Convert CTF 500/503/550/620/635/637/639->638 and send to psp
en_item_19=Convert CTF 500/503/550/620/635/638/639->637 and send to psp
en_item_20=Convert CTF 500/503/550/620/637/638/639->635 and send to psp
en_item_21=Convert CTF 500/503/550/635/637/638/639->620 and send to psp

[PTF]
en_item_4=Convert%filename%to 637 CTF
en_item_5=Convert%filename%to 635 CTF
en_item_6=Convert%filename%to 631 CTF
en_item_7=Convert%filename%to 620 CTF
en_item_8=Convert%filename%to 550 CTF
en_item_9=Convert%filename%to 503 CTF
en_item_10=Convert%filename%to 500 CTF
en_item_11=Convert%filename%to 401 CTF
en_item_12=Convert%filename%to 390 CTF
en_item_13=Convert%filename%to 371 CTF

Думаю, лучший вариант будет с заменой 5.00 на 6.60.
То есть, мы получим возможность конвертировать в 6.60 из любых других прошивок.
НО! мы не сможем конвертировать из 5.00 в 6.60, как из 6.60 в 5.00.
А все темы вообще-то были сделаны под 5.00 и потом конвертировались под другие прошивки.

Если подменить любую из 635/637/638/639 на 6.60, то мы потеряем в конвертере сразу 4 прошивки.

COOLERbyPSP 03.07.2013 22:02

не лучше 5.03 заменить? На 5.00, уверен, ещё люди сидят)
стабильная же

а вот на 5.03 сидят извращенцы)
и все равно нельзя будет конвертировать из 5.00 в 6.хх?

ErikPshat 03.07.2013 23:35

COOLERbyPSP, да, тоже была первая мысля такая. Но дело в том, что 5.03 функции нет в секциях [RCO] и [PRX].
Может из-за того, что в 5.00 и 5.03 смещения не изменялись в этих типах файлов GUI. Это нужно проверять.

Всё основано на папке "base". Там даже папки 503 нет )))
Оттуда берутся смещения ко всевозможным прошивкам. Но это следующий этап по составлению base => 660.


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

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