ページ 11

EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 18:29
by system32
DXライブラリで画像を読み込むときってLoadGraph("img/img01.png");こんな感じで読み込みますよね
でも、もしimgディレクトリを誤って削除したりするとその画像がゲームで表示できなくなりますよね(そりゃ当たり前だが)
そういうのを防止するためにexeに画像などを埋め込みたいのですがどのようにやれば良いのでしょうか?
私はVS2008EEを使っているのですが、リソースを埋め込むとかいうのが出来るらしいです(ビルドの時になんか下に出てきます)
このリソース?を埋め込む作業の時に一緒に画像とかも埋め込めますか?
exeに埋め込んだ場合画像のロードはどのようにすればいいのでしょうか?

よろしくお願いします

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 18:57
by h2so5
一応リソースの埋込みに付いては
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1285
http://www.play21.jp/board/formz.cgi?ac ... 8&from=all
このあたりに書かれていますが、
system32 さんが書きました:DXライブラリで画像を読み込むときってLoadGraph("img/img01.png");こんな感じで読み込みますよね
でも、もしimgディレクトリを誤って削除したりするとその画像がゲームで表示できなくなりますよね(そりゃ当たり前だが)
そういうのを防止するためにexeに画像などを埋め込みたいのですがどのようにやれば良いのでしょうか?
このような理由のためにexeにファイルを埋め込む利点はあまり無いと思いますよ。
そんなことを言ったら、exeファイルを誤って削除したり、セーブファイルを誤って削除してしまう場合だってあります。

imgディレクトリなどに入れておいたほうが、
画像データの更新などが楽なので無理に埋め込む必要はありません。

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 18:59
by softya(ソフト屋)
埋め込むことは出来ますが、次のデメリットがあります。
(1)表示や再生するのが面倒。
(2)全部メモリにロードされるので、常駐メモリ量が巨大化。
(3)実行ファイルを作るのが遅くなり、exeファイルが巨大化する。
(4)DXライブラリのアーカイブツールが使えない。
「DXライブラリ置き場 ミニテク」
http://homepage2.nifty.com/natupaji/DxL ... c.html#T11

>もしimgディレクトリを誤って削除したりするとその画像がゲームで表示できなくなりますよね(そりゃ当たり前だが)

もう一度インストールしてもらえば良いので、リソースにしなきゃいけないメリットを感じません。

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 19:19
by system32
すいませんなんか勢いでimgディレクトリを削除したら……とか言っていましたがほんとうの理由は画像を使われたくないからです
友人が僕のゲームのために書いてくれた画像を他の人にまた使われたりするのではないかと、そういう理由です
それにエンディングで使われる画像がゲーム始める前から見れるとかってなんか嫌じゃないですか

そんな感じでこの質問をさせていただきました
貼ってもらったリンクを見て今から実際に試してみます

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 19:21
by softya(ソフト屋)
ちなみに、BMPやPNGを単にexeに埋め込んでも簡単に取り出されますよ。そういうツールが出回っています。
取り出すツールを作る人よりも高度な知識がないと対抗できないのが現実です。

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 19:24
by system32
リソースに埋め込んでもあまり意味はないみたいですね(やろうと思えばデータを取り出せるのかな?)
もう完全にココのタイトルからずれますがDXライブラリのアーカイバ(暗号化する方ですよね)ってどうなんでしょう
たしかにコレ使えば中身はパッと見わからないし、拡張子をdxaからdatとかにすればデータを取り出してやろうって人はなかなか現れませんよね
しかし、一個気になったのはこれってオープンソースですよね
ということはどうやって暗号化しているのか分かってしまうのでは?
それにパスワードを掛けてもソースを見ればパスワードの格納先って分かっちゃいますよね
これだったら中身はやろうと思えば開けてしまうのではないでしょうか?

もうタイトルからズレてしまってますがよろしくお願いします

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 19:28
by softya(ソフト屋)
それは、そのとおりです。
なので、そこまで隠したいならメーカーに負けない暗号化などを施す必要があります。
それはsystem32さんのやる気次第ですが、そこまでやる必要があるのかは疑問です。

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 19:53
by system32
今DXアーカイバのソースを見てきましたが全部で3000行ぐらいありましたw
あんなのfopenをなんとか理解した程度の私には読めません
softyaさんの言うとおりもうDXアーカイバを使うだけでいい気がしてきました
またやる気があったらDXアーカイバを改造してみようと思います

いろいろとありがとうございました

Re: EXEに画像や音声ファイルを埋め込みたい

Posted: 2011年5月15日(日) 19:54
by h2so5
身も蓋もない話ですが、いくら強固な暗号化を施そうが、
最終的に画像データはメモリに展開され、さらに画面に表示されるわけですから
スクリーンショット撮るとか、いくらでも利用できてしまうことになります。

なゲームハードを自作して、
ハードウェアレベルで暗号化するとかなら別かもしれませんが。