PSP xvi

PSPプログラミングを教えるブログ(本気で頑張る人アクセス大歓迎サイト)

PSP-X.gif

記事の間違いを報告  新アップローダー
記事修正情報 PSPプログラミング資料 自作ゲーム PSP用エミュレータ リンク

公認リンク
公式PSP専科 公式PSVita専科 はじめるPSPSDK PSP EXEC GAME M@STER PSP 猫山のYouTubeチャンネル

TAG
全記事にタグをつけています  http://nekoyama2gillien.blog36.fc2.com/?tag=タグ
PSP PSPプログラミング DXライブラリPortable OSLib ショートプログラム ハローワールド
PSP自作ゲーム PSP自作ソフト エミュレータ ゲームアーカイブス PSP動画
動画 初音ミク ミクミクダンス MMDドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター

このブログについて

このブログでは、非公式のPSPソフト、いわゆる自作ソフト( PSP Homebrew )を作る事を目的とします。

著作権などの こまかい利用規約については、こちらを開いてお読み下さい

このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ


当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。


このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[edit]

CM: --
TB: --

page top

2011年10月14日、記事更新
・EasyPBPRX_1.0.0.3.zipを使うように記事内容を変更

EasyPBPRX_1.0.0.3.zip (263.38 KB)をゲットして下さい

ダウンロード
記事URL
http://wololo.net/talk/viewtopic.php?f=4&t=2416&p=29528#p29474

該当ツール
上記のLink Here をクリック

MEGAUPLOAD のリンクなら生きているようです


以下、署名化の手順

PSP xvi のアップローダーから、ソースコード付きのファイルをダウンロードして下さい(どれでもいいので1本)
http://loda.jp/nekomune_/ もしくは http://www42.tok2.com/home/nekomune/psp_soft/jpn/2file_DL.htm

Lhaplus や Lhaz で解凍して、Makefileをテキストエディタで開いてください(メモ帳でもおk!)

記述の真ん中ぐらいの行に、次の一行を 追加で記述してください(コピペ推奨)

BUILD_PRX = 1

そしたら、Makefile を上書きします

次に、!_ビルド.bat をテキストエディタに放り込みます。

HLWBAT.jpg

PSPSDK への PATH を、あなたのパソコン用に書き換えます
C:\PSPSDK\ にインストールしているのであれば下記のように記述(コピペ推奨)

set PSPSDK=C:\PSPSDK\

!_ビルド.bat をダブルクリックして EBOOT.PBP が生成されるのを確認してください

そしたら、その EBOOT.PBP を署名化! EasyPBPRX の出番です

使い方


書き出した EBOOT.PBP が署名されています。公式PSPで確認してください


この署名アプリをコマンド化する方法
かげさんのブログにて、コマンド化する方法が書かれているので参考にドゾ

> PSPアプリの署名、圧縮をバッチから自動実行
http://kage3.cocolog-nifty.com/blog/2011/06/psp-8f18.html

以上



「PSPデスクトップ・ドドド」はこっちにあります
(なんで作って配布するのかというと、結局誰かがやってしまいそうなことなので、作者である猫山 自ら作っておこうと思ったからです。ただし、S●NYさんからクレームが来たら配布終了します)

-- 続きを読む --
スポンサーサイト

[edit]

CM: 33
TB: 0

page top

建国記念の日も終わりまして、北海道札幌市では、雪ミク仕様の路面電車が藤田咲さんのアナウンス声で運行される運びとなりました(なぞ
http://www.rbbtoday.com/article/2011/02/11/74277.html


さて、皆さんはDXライブラリPortable v0.5.7 の勉強をしておいでだと思います.
そこで、DXライブラリPortable v0.5.7 を使用して 署名された EBOOT.PBP を作ってみてはいかがでしょう、という、猫山からの宿題を出します.

提出期限は、ありません.
完成するまで根気良く続けてください.コーヒーブレイクも忘れずに!
簡単なプログラムでいいので署名コンパイルされている作品を作ってみてください.

これは応募の無い、自由な自己学習実験です.拒否も出来ますし、記事を読むだけでもいいですが.

スペシャルヒントとして、こっち見てね
>署名済みPSP自作ソフトの作り方 @プログラミングで
http://nekoyama2gillien.blog36.fc2.com/blog-entry-417.html

出来た人は、この記事のコメント欄で報告してチョ(匿名投稿可能ですが、意味ないですよ?)

[edit]

CM: 11
TB: 0

page top


EBOOT.PBP は、以下のファイルたちが梱包されて出来上がります

【 PRX型 】

PARAM.SFO
ICON0.png
ICON1.PMF
ICON1.PNG
PIC1.PNG
SND0.AT3
DATA.PSP (target.prx)
DATA.PSAR


【 elf型 】

PARAM.SFO
ICON0.png
ICON1.PMF
ICON1.PNG
PIC1.PNG
SND0.AT3
DATA.PSP (target.elf を target_strip.elf に変換したもの)
DATA.PSAR


DATA.PSPは、実行命令が記述されている部分です


Makefile で、
TARGET = ●●●●
と指定した名前が ●●●●.elf や ●●●●.prx となります

署名ツールで署名可能な EBOOT.PBP を作りたい場合、
PRX型で梱包させる様にコンパイルすれば良いのです

つまり、Makefile中に

BUILD_PRX = 1

と記述しておけば良いという事です


ちなみに、
PRX型のtarget.prxファイルは、先頭から16~17バイト目が 0xA0 0xFF となっています


elf型のtarget.elfファイルは、先頭から16~17バイト目が 0x02 0x00 となっています



私の予想ですが、DATA.PSPの target_strip.elf ファイル を target.elf に復元できたら
C:\PSPSDK\bin\psp-prxgen.exe で target.prx に変換出来るので
その target.prx に 署名できる可能性がでてきます.

ま、target_strip.elf ファイル を target.elf に復元する方法なんて無いと思いますが



RPG_TESTで実験
BUILD_PRX = 1 を未記入でビルドした場合
EBOOT.PBP 393 KB (403,169 バイト)

BUILD_PRX = 1 を記入してビルドした場合
EBOOT.PBP 431 KB (441,871 バイト)

上記の例と、他の複数のビルド結果を見た結果、
BUILD_PRX = 1 を記入してビルドすると、EBOOT.PBPファイルが若干大きくなる、という事実
(BUILD_PRX = 1 を記入しないでビルドした EBOOT.PBPファイル と比較して)

あとで署名できる自作ソフトを作るには、
Makefile中に BUILD_PRX = 1 を記入してビルドすればおk!
ただし署名しちゃうと起動に失敗する場合もあります(お約束)



[edit]

CM: 0
TB: 0

page top

build.mak と Makefile ~ 署名に関する解説 

2011/06/05
Sun. 19:19

皆さんお馴染みのMakefileですが、build.mak というファイルがインクルードされているのに気付いてらっしゃいましたか?

> PSPSDK=$(shell psp-config --pspsdk-path)
> include $(PSPSDK)/lib/build.mak
>
> # 以下、任意で(開発しているソースに依存)
> main.o : main.c

この事実から、Makefile と build.mak は関係がある、と理解してくださいませ

そんな訳で、「署名技術」ですが・・・
ここまでで解かっているのは、
①PRX形式のEBOOT.PBPを作成
②fix-relocationsする
③prxEncrypterする
の3つの過程をすると署名化できる、という事実

で、Makefileへの記述は、
BUILD_PRX = 1 と記述すると ① が実現される
ENCRYPT = 1   と記述すると ②③ が実現される
・・・というからくりです。

詳細は、build.mak に記述してある手順を解読すれば分かると思います。
ちょっと書いてみると・・・

build.mak から抜粋
> ifeq ($(BUILD_PRX),1)
> $(PSP_EBOOT): $(TARGET).prx $(PSP_EBOOT_SFO)
↑↑ 「BUILD_PRX = 1」 と記述されていたら、PRX出力する、という条件式記述

> ifeq ($(ENCRYPT), 1)
>     $(FIXRELO) $(TARGET).prx
>     $(ENC) $(TARGET).prx
↑↑ 「ENCRYPT = 1」 と記述されていたら、$(FIXRELO)して、$(ENC)する、という条件式記述
           ↑↑↑↑↑↑
これをもっと詳しく説明すると、build.mak の最初のほうにある記述
> FIXRELO  = fix-relocations  ・・・$(FIXRELO)
> ENC     = prxEncrypter  ・・・$(ENC)

これで、PRXを fix-relocations して prxEncrypter しているんだな、と分かって貰えたかと思います

原理は、SONYのライセンスを受けて開発している、というような記述を埋め込む作業なんでしょうけど・・・


この記事で言いたかったことは、
①PRX形式のEBOOT.PBPを作成
②fix-relocationsする
③prxEncrypterする
の3つの過程をすると署名化できる!!
・・・・・・という事実と、
ビルド(コンパイル)手順でも全く同じ事をやって署名化している、という 技術の公開です(たいした事ないですが)

まぁ、これは深く考えなくてもいいので、気になっている方だけ学習して下さいませ。

次回は、旧OSLib版の "Hello,World." 作ってみようかな、と。
新OSLibは理解しにくいし、初心者向けではないと思うぞ(笑)

[edit]

CM: 2
TB: 0

page top


h o m e |


 

2017-05