• ベストアンサー

画像ファイルの暗号・復号化

ゲームを作っているのですが、それに使う画像ファイルを暗号化したいです。 むき出しのままだと、所謂ネタバレ的なCGも簡単に見れてしまうので……。 自分の知識では、せいぜい拡張子を変えて誤魔化すぐらいしか出来ません。 ただ、それでは流石にみすぼらしいというか……。 分かる人なら簡単に解けてしまうようなもので構いませんので 教えて頂ければ幸いです。 ちなみに、JPEGとPNGファイルの暗号・復号化です。

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

以前ゲーム開発で使っていた手法を 目的のPINGなりJPEGなりを暗号化する独立したツールを作ります。 例えば全部のバイトに1を足すとか、ビットを反転させるとか。 最後の1ビットを反転させただけでも、もう解読不能です。 暗号化したものはバイナリファイルとして出力します。 この辺のルールを決めておけばデコードルーチンは反対の処理をすればいいので楽です。 必要枚数分のCGのバイナリファイルができます。 それをマージして1つの巨大なデータファイルにします。 1つにまとめると余計に正体が分かりにくくなります。 このデータファイルをゲーム開始時にロードさせるなり、 途中でロードさせるなり、ゲーム内に埋め込むのはそちらで決めて下さい。 市販のゲームはたいていこの方式を用いています。

ryosan991
質問者

お礼

回答有難うございます。 早速試してみたいと思います。

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

JPEG なり PNG なり、元画像のバイナリ先頭に独自ヘッダ (例えば16バイト程度)をくっつけ、さらに拡張子も変える。 面倒なら、ファイルシグニチャを1バイト書き換えるだけでもいい。 多くの画像ビューアは、画像のバイナリ先頭で画像フォーマットを 特定するから、ここを書き換えただけで読み込めなくなります。 実際、ファイルシグニチャを1バイト書き換えただけで 「Windows 画像と FAX ビューア」では表示できなくなりました。 読み込む際には17バイト目から読み込むとか・・あと略。 思いつきです。 でも、某有名ネットゲームですら「拡張子を変えただけ」って場合 が多いですよ。

ryosan991
質問者

お礼

回答有難うございます。 早速試してみたいと思います。 ちなみに書き忘れましたが、.NETです。

関連するQ&A

  • 画像(jpg)⇒暗号⇒文字列(txt)⇒復号⇒画像(jpg)をやりたい

    画像(jpg)⇒暗号⇒文字列(txt)⇒復号⇒画像(jpg)をやりたい。 画像を文字列で取得して、 それを以下のURLの暗号メソッドを使用して http://dobon.net/vb/dotnet/string/encryptstring.html 変換した文字列をテキストで保管する。 そして、逆に先程のテキストを文字列で取得して、 先程のURLの復号メソッドを使用して、 変換した文字列をjpgで保管する。 これがやりたいのですが、 暗号する前と、暗号した後で変換される文字列が違ってしまいます。 画像とかは、テキストで開けるから普通に文字列として扱って問題ないのかな と思っているのですが・・・なんで違ってくるのかが分かりません。 ちなみに、URLのメソッド(暗号/復号)は普通の文字列での動作は確認が取れています。 自分がこれ原因かな~って思うと子は以下の通りです。 ・復号したファイルをファイルストリームで拡張子jpgにしている為、  画像ファイル作成時にしなければいけない処理が抜けている? ・読み込んだ文字列を一度テキストに書き込んでいる際に、何かしら文字コード関係で  不具合が生じている。 ・というか元々文字列で処理してjpgを暗号しようなんて無理 こんな私に助け舟を!! ・・・忘れていました。言語はC#です。 ご回答の程よろしくお願い致します。

  • binファイルが開けない

    あるゲームのファイルの画像をパソコンで見ようとしたら拡張子がbinで開くことができませんでした。 バイナリエディタで見てみましたが拡張子は見当たりませんでした。この場合は暗号化されている可能性が高いのでしょうか? もし復号出来るのであればアドバイスよろしくおねがいします。

  • ファイルの暗号化

    皆さんこんにちは。 私は今、ファイルを暗号化するソフトを探しています。 でも、なかなか良いものが見つかりません。 私は、ファイルを開く時だけ復号化して、ファイルを閉じると自動的に暗号化される機能が付いている暗号化ソフトを探しています。 そこで、皆さんはそんな暗号化・複合化ソフトを知っていますか?もし知っていたら教えて下さい。 ちなみに、OSはVistaです。 では、よろしくお願いします。

  • OSで暗号化したファイルの復号が出来なくなった

    OSは「WindowsXP Pro SP2」の自作機です。 SP2導入にあたり、いい機会だと思ったのでクリーンインストールをしました。 SP2導入以前、あるとても重要なファイルを「内容を暗号化してデータをセキュリティーで保護」していました。今思えば、よく理解せずに軽率でした。 以前と全く同じ環境にしたのですが、復号出来ません。 後々知ったのですが、証明書/秘密鍵のバックアップを取らなければいけなかった様です。もしくは、おそらくOSを「消す」前に暗号状態を解除しておけば良かったのでしょうか。 色々調べ、思いつく事は試してみたのですが、もはや自力ではどうにもならなそうです。完全なスタンドアロン環境だったので、セキュリティーポリシー?証明書?辺りには「うとい」ものでしたから、調べたといっても未だ良く理解は出来てないかと思います。 どなたか知識をお持ちの方いらっしゃいましたら、知恵をお貸し頂けませんでしょうか。

  • 画像のテキストデータ化・暗号化について

    いつもお世話になってます。 今回は画像の暗号化と変換についておしえてください。 現在、Androidのアプリ制作をしています。 画像をテキストデータにし暗号化したものをサーバにアップロードし、それをユーザがダウンロードしたときにプログラム(Java)によって復号し、元のpng画像に変換したいのですが、その方法がいまいちわかりません。 Q1.画像pngのバイナリデータをテキストデータにするにはどうしたらいいですか? Q2.テキストデータをプログラム(?)で暗号化するにはどうしたらいいですか?(できればJavaで。 初心者なので的外れな質問があるかと思いますが、どうぞよろしくお願いいたします。

    • ベストアンサー
    • Java
  • .pngの画像ファイルについての質問

    自分は今まで、画像ファイルを(画質は落ちるが)容量を小さく保存するのは.jpeg方式だと思ってました。それ以外は、bmpとgifしか知りませんでした。最近.pngの拡張子の画像を見かけるようになったのですが、これは新しい画像の保存形式でしょうか?.pngは.jpegよりも高画質の小容量で保存できますか?だとすると、どうやって.jpegや.bmpを.pngに変えられるのでしょうか?(ソフト使用ですか?)

  • 暗号化ソフト

    暗号化ソフトのアタッシェケースver.2.49を使用して ファイルの暗号化及び復号化をしていますが、この間ふと 気がついたのですが、復号化すると復号化したファイル容量の2倍位、ハードディスクの空き容量が減少するみたいなんですが? ちなみに暗号化及び復号化した場合、元ファイルは常に削除しています。 どなたか、この現象をわかる方説明して頂たく、宜しく御願いいたします。

  • 画像ファイルの大きさを小さくしたい

    png画像ファイルが10MBでしたが、あるサイト掲載するのに重たすぎるため、Jpegにしましたら、6.6MBになりました。 掲載はできたものの、もう少し小さなファイル画像にしたいのですが、 どのようにすれば、画像のサイズを小さくすることができるのでしょうか。

  • 拡張子について・・・

    画像の拡張子についてお聞きしたいのですが、例えば下記のような拡張子 (画像の代表的な拡張子) ~jpeg ~png ~gif などの拡張子を例えばpng→jpegに変更する事は可能なんでしょうか? どうしてもpngという拡張子をjpegに換えなくてはならなくなってしまった為、情報が必要です。すいませんが何方かpng→jpegにかえる手段をご存知の方パソコン初心者の私に教えていただけたら幸いです。宜しくお願いします。

  • オススメの暗号化ソフトは?

    外付けハードディスクにデータを保存する際、私は一部の重要なデータに暗号化を施しています。 暗号化ソフトはSecureLockWare(http://buffalo.jp/products/slw/index.html)を使っているのですが、いろいろ不満な点があるため、別の暗号化ソフトを探しております。 ちなみに不満な点は以下の通りです。  (1)1つの暗号ファイルにまとめられるのは2GBまで  (2)ファイル名に常用外の文字を含んだファイルの暗号化に失敗する Internet Explorerでお気に入りを保存する際、大量にあるインターネットショートカットの中にそれらのファイルが紛れ込んでしまうので、お気に入りのバックアップフォルダを含むフォルダ全体の暗号化にも失敗します。 絞り込んで暗号化できないファイルを探し、ファイル名を変えることで問題は解決しますが、非常に手間がかかります。  (3)復号に失敗することがある 原因はよくわからないのですが、「ファイル名が長過ぎます」というようなメッセージが表示されます。 最上層のフォルダごと暗号化せず、その直下にある複数のフォルダを全て選択して暗号化したものの復号には成功したので、おそらくフォルダを重ね過ぎると復号に失敗するのではないかと思われます。 復号できないのなら暗号化する時になんらかの警告を出してくれてもいいような気がしますが、そのようなこともなく、例えば何ヶ月も経ってから復号する段になって「復号できない」と言われるので非常にタチが悪いです。当然その手のファイルが必要になった時には、その暗号化したファイルの中にあるものは既にPCから失われているか、データが変わってしまっているわけですから。  (4)暗号化、復号化、どちらの作業も基本的に重い 暗号化の複雑さと暗号化の速度のどちらを重視するかは設定できるし、重いファイルの処理に時間がかかるのは仕方ないと思うので、それ程気にしているわけではありませんが、暗号化、複合化が速いに越したことはないですね。  (5)復号したフォルダにはアイコン設定が残っていない マメな性格なのでほとんどのフォルダのアイコンを変更してるのですが、復号されたフォルダは全てアイコン設定がデフォルトに戻っています。まあこれは些細な問題なのであまり重視していませんが…。 以上の点を踏まえた上で、お勧めの暗号化ソフトを教えていただけないでしょうか。 感じているメリット、デメリットについても付け加えて貰えるとありがたいです。 ちなみに、意味のないこだわりなのかもしれませんが、暗号化ソフトにフリーソフトやシェアウェアを利用するのは抵抗があるので、できれば実績のある企業が製品として販売しているものが良いな…と思っております。 そのような品はそれなりの責任を負って作られたものだと思うので…。 「そんなこだわりは意味がない」ということであれば、その辺りのアドバイスもいただけたらと。 OSはWindows XPのサービスパック3です。 よろしくお願いします^^

専門家に質問してみよう