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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
system32

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

#1

投稿記事 by system32 » 14年前

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

よろしくお願いします

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

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

#2

投稿記事 by h2so5 » 14年前

一応リソースの埋込みに付いては
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ディレクトリなどに入れておいたほうが、
画像データの更新などが楽なので無理に埋め込む必要はありません。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#3

投稿記事 by softya(ソフト屋) » 14年前

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

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

もう一度インストールしてもらえば良いので、リソースにしなきゃいけないメリットを感じません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

system32

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

#4

投稿記事 by system32 » 14年前

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#5

投稿記事 by softya(ソフト屋) » 14年前

ちなみに、BMPやPNGを単にexeに埋め込んでも簡単に取り出されますよ。そういうツールが出回っています。
取り出すツールを作る人よりも高度な知識がないと対抗できないのが現実です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

system32

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

#6

投稿記事 by system32 » 14年前

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

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

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#7

投稿記事 by softya(ソフト屋) » 14年前

それは、そのとおりです。
なので、そこまで隠したいならメーカーに負けない暗号化などを施す必要があります。
それはsystem32さんのやる気次第ですが、そこまでやる必要があるのかは疑問です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

system32

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

#8

投稿記事 by system32 » 14年前

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

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

アバター
h2so5
副管理人
記事: 2212
登録日時: 15年前
住所: 東京
連絡を取る:

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

#9

投稿記事 by h2so5 » 14年前

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

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

閉鎖

“C言語何でも質問掲示板” へ戻る