トップページgamedev
148コメント40KB

ゲームのデータファイルについて語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/18 12:27ID:YbPM6OMf
ゲームのデータファイルについて語るスレです

データファイルの種類(画像、BGM、効果音、音声など)は問いません
データファイルのフォーマット、圧縮、プロテクトなど語りましょう
0026名無しさん@お腹いっぱい。01/11/19 13:13ID:???
どの部分が鍵かなんて逆アセでもしないと解らないと思うけど。
0027名無しさん@お腹いっぱい。01/11/19 14:51ID:???
逆汗すりゃわかるんでしょ。
0028名無しさん@お腹いっぱい。01/11/19 15:11ID:???
圧縮の方の技術だけど、
ブロックソート後のデータもほとんど暗号と変わらんよ。
ゲームに使うなら十分でしょ
0029名無しさん@お腹いっぱい。01/11/19 15:40ID:???
http://www.interq.or.jp/www-user/enra/rina/
こんなのどう?
0030名無しさん@お腹いっぱい。01/11/19 16:23ID:???
たかがゲームデータ抜きたさに逆汗するヴァカがいるか!
0031名無しさん@お腹いっぱい。01/11/19 16:35ID:???
とりあえず貼っとくか。
http://www.jisyo.com/viewer/faq/mag_tech.htm
MAG仕様書(原文) もちろん日本語ね。
0032名無しさん@お腹いっぱい。01/11/19 16:56ID:???
>>30
結構いる
0033名無しさん@お腹いっぱい。01/11/19 16:57ID:???
>>29 作者がドキュン
0034名無しさん@お腹いっぱい。01/11/19 17:44ID:???
>>29 waveletにはちょっと興味あるけど。
0035名無しさん@お腹いっぱい。01/11/19 18:23ID:???
解析を楽しむページ
ttp://ku-www.ss.titech.ac.jp/~yatsushi/analyze.html
参考までに。
0036名無しさん@お腹いっぱい。01/11/19 20:17ID:???
基本的に、解析クン一人にでも負けたらツールばら撒かれて終わりだからなあ(藁
0037名無しさん@お腹いっぱい。01/11/19 21:36ID:???
>>25
鍵とデータが一緒になきゃ復号できないじゃん。
勘違いしてるのかもしれないけどこれはゲームの話で、実際に暗号を
使う場面では利用者がそれぞれに鍵を持っているので一緒も糞もない。
0038名無しさん@お腹いっぱい。01/11/20 00:12ID:???
TIM2ってどうよ?
0039名無しさん@お腹いっぱい。01/11/20 00:35ID:???
>38 PS2の開発なんてやったことも機会もなさそうだしなぁ…
PCで使う意義もないし。
0040名無しさん@お腹いっぱい。01/11/20 05:03ID:y/kAXWZY
Camelliaのコードをみましたが、8bitASIC系に特化されてて
16,32bitの最適化ソースが公開されていないようですね。
最適化ソースが無いのでRijndaelには速度で勝てないでしょう。残念ながら。
Feistel回数が比較して多いのとFeistelとSBOXの手間が他の方式と比べて
煩雑です。Feistelを何回か回すだけでも簡単な暗号系になりますから
それでもいいんですけどね。
0041名無しさん@お腹いっぱい。01/11/20 11:19ID:???
>>37
そりゃそうだ。
しかしどんなに強力な暗号化を使っても、鍵と一緒に配布されてるんじゃなあ(藁
0042名無しさん@お腹いっぱい。01/11/20 12:29ID:???
たかがゲーム(失礼)のデータを、そこまで暗号化しなくても
と思うのは、俺だけか?
0043名無しさん@お腹いっぱい。01/11/20 13:30ID:LstOLEvl
俺もそう思う。どうせ>>35のリンク先のようなレベルのにかかったら
何やったって解析されてしまうんだから無駄無駄。
シェアウェアのクラック問題にも似てるけど。
0044名無しさん@お腹いっぱい。01/11/20 13:42ID:???
>>42
同感。
複雑な暗号化は速度的にも不利なうえに鍵添付じゃあ、その鍵で
暗号化を解除してくださいとクラッカーに言ってるようなもの。
暗号化にかける時間があったら他のことやったほうがよい。
0045名無しさん@お腹いっぱい。01/11/20 14:13ID:???
>>43
あのリンク先程度じゃ、変形算術圧縮とか、TripleDES掛けただけでも解析できなくなるだろ
0046名無しさん@お腹いっぱい。01/11/20 14:17ID:???
まぁしばしばルーチンの解析なんかしないで、ルーチンごと
ブッこぬいて使ったりするけどね。
0047名無しさん@お腹いっぱい。01/11/20 15:56ID:???
複雑になればなるほど、所詮手動の解析では手間がかかる。
つまり、複雑度を限りなくあげてやればよい。
0048名無しさん@お腹いっぱい。01/11/20 16:04ID:???
結局、複合化後のデータを抜き出すようなコード書けば
意味無いんじゃないの?
ネトゲなんかで課金がからむと真面目にやったほうがいいんだろうが、
普通のオフラインゲームであんまり気張ってもなぁ。
0049名無しさん@お腹いっぱい。01/11/20 16:04ID:???
暗号化アルゴリズムをどう複雑にしたって、たとえば
bool decrypt(byte *out, byte *in, int len);
みたいな関数の入り口見つけられたら、そこからそのまま
ひっこぬかれておしまい。
アルゴリズムではなくてプログラムを複雑にすると
今度はプログラムが単に汚くなる。
00504801/11/20 16:05ID:???
>>49 かぶった。結婚する?(ワラ
0051名無しさん@お腹いっぱい。01/11/20 16:18ID:???
こういう暗号化は、暗号化アルゴリズムをいかに
複雑にして解読を防ぐかじゃなくて、復号ルーチンを
どうリバースエンジニアリングから守るかだよ。
0052名無しさん@お腹いっぱい。01/11/21 04:09ID:XcI+VzyT
皆さんソフトにリバースエンジニアリングを防ぐ建設的な手法を使って
いらっしゃいますか?(結局理論的には解析可能だから対策をしないと
いうのはとても簡単なことですが…)

>>51
>暗号化アルゴリズムをいかに複雑にして解読を防ぐかじゃなくて

おおむね同意します。でも暗号アルゴリズムなんてXORでもない限り
複雑なものを導入しても大してコストはかからないですよ。感覚としては
XORをかけるならAESかけるのもさして違いはないです。
00535201/11/21 04:13ID:???
>XORでもない限り
すみません "s/XORでもない限り/"
0054名無しさん@お腹いっぱい。01/11/21 12:09ID:???
XORとAESってそうとう違うような・・・
0055名無しさん@お腹いっぱい。01/11/21 13:01ID:kTxoHJqc
どうせ鍵を同梱するなら、XORでももっと凝った暗号でも
防御力は一緒だと思ってたんだけど、違うの?
0056名無しさん@お腹いっぱい。01/11/21 13:45ID:???
>>55
鍵と暗号済みのデータがあれば、解読できるわけ?
0057名無しさん@お腹いっぱい。01/11/21 14:46ID:???
ゲームを普通に起動して、
メモリ上に展開された解読済みデータを
ReadProcessMemory で抜き取るとか。
0058名無しさん@お腹いっぱい。01/11/21 15:13ID:K8u4BtIq
>>49
グローバルなレジストフラグをプログラム全体に散りばめておいて、
レジストチェックルーチンの中でそのフラグを直接操作する。
こうすることで、レジストチェックルーチンをスキップしただけでは
動作しないようになる。
あとはひたすらチェックルーチンを冗長に複雑にする。
例えば、チェックルーチンは仮想マシンコードで実装する。
これによって直接の逆アセンブラは防げる。
あとは、そのルーチンを圧縮して、展開コードを仮想マシンで書いて
インタプリタで動かして、無駄なコードをつけまくって、ひたすら頑張る。

一度このシステムを作れば、プログラムにフラグを生めこむだけなので再利用はきくよ。
0059名無しさん@お腹いっぱい。01/11/21 15:20ID:???
なんか話がいつのまにかレジストチェックルーチンの話に
すりかわってますぜ旦那・・・
0060名無しさん@お腹いっぱい。01/11/21 15:27ID:???
みんなサウンドやBGMのコーデックに何使ってる?
0061名無しさん@お腹いっぱい。01/11/21 15:45ID:K8u4BtIq
>>59
暗号化も鍵を隠すという点ではにたようなものでしょうが。
0062名無しさん@お腹いっぱい。01/11/21 15:51ID:???
>>60
OggVorbis
0063名無しさん@お腹いっぱい。01/11/21 16:10ID:???
暗号の鍵を暗号化する?w まぁがんばれや
ネットゲーの場合はときどきサーバからあたらしい
アルゴリズムの復号化DLLが送られてくる、とかで
結構なんとかなるかな。
0064名無しさん@お腹いっぱい。01/11/21 17:21ID:???
>>60
漏れもOggVorbis使ってる
0065名無しさん@お腹いっぱい。01/11/21 18:41ID:???
普通のゲームの場合、暗号化されたデータと鍵と復号ルーチンを全部配布してるわけで、
その辺が普通の暗号解読とは違う。

個人的にはあんまりむきになっても仕方ないと思ってるんだけど
0066名無しさん@お腹いっぱい。01/11/21 20:11ID:16mzDT/7
鍵と金庫を一緒にユーザにしてんのに、
南京錠だろうがIDカードだろうが同じことだと思う今日この頃。
シェアウェアなら、パスワードにデータの解除キー混ぜたり
できるかもしらんけどどのみち気休めでんな。
0067名無しさん@お腹いっぱい。01/11/21 20:12ID:16mzDT/7
s/してんのに/渡してんのに/
0068名前は開発中のものです。01/12/16 02:56ID:inKSfJGH
age
0069名前は開発中のものです。01/12/16 06:56ID:???
OggVorbis 重くない?
これ入れてから FPS が激減しちゃったんだけど・・。
0070名前は開発中のものです。01/12/17 00:01ID:7KBcu3BJ
MP3 2%, OGG 5%, APE 15%, MPC 1%, AAC 15% (Celeron450MHz@Winamp における負荷調べ)

どこぞから拾ってきた参考資料
多少は重いかも
0071名前は開発中のものです。01/12/17 01:57ID:???
www.din.or.jp/~glit/TheOddStage/Progs/audioplayer/
こんなのがある。CPU使用率調べ。
0072名前は開発中のものです。01/12/17 06:58ID:???
>>71
やっぱ、mp3もoggも遅いマシンだと負荷は馬鹿にならないなー。
0073名前は開発中のものです。01/12/17 06:58ID:???
いやそのページのPenIIIマシンが遅いという気はないんだが。にんともかんとも
0074名前は開発中のものです。01/12/23 03:58ID:nVi8CRdJ
OggVorbis RC3 早くでないかな・・・。
0075名前は開発中のものです。02/01/09 13:03ID:4uvwfI59
>74
でまして。
0076名前は開発中のものです。02/01/09 23:33ID:SWMCUrMt
OggVorbis RC3 すごく音がいいぞ
0077名前は開発中のものです。02/02/03 13:30ID:???
>>29,33
去年の話でなんですけど、閉鎖ということでご勘弁を。
0078名前は開発中のものです。02/02/04 09:16ID:eg/wWGzG
>>76
160kbpsとか?
0079名前は開発中のものです。02/04/26 09:07ID:???
プレイ中のゲームの変数改竄方法と対策について語り合ってるスレはないですか?
0080名前は開発中のものです。02/04/26 10:44ID:???
プレイ中のゲームの変数改竄方法と対策について語り合ってるスレはないですか?
0081名前は開発中のものです。02/04/26 11:43ID:???
>プレイ中のゲームの変数改竄方法と対策について語り合ってるスレはないですか?
プログラムコードを書き換えることで、変数改竄をするパターンが
多いです。なので、これに対する対策は、全てのアプリケーションデータを
プログラムコード全領域をキーとする暗号をかけてしまうことです。
こうすれば、プログラムコードを変化させようものならば、
アプリケーションデータも解凍時に支障が起きます。
プログラムコードが変更するたびにデータも作成しなければならないという
点がデメリットと、絶対に常駐するコード領域をキーにするというのが
必要条件です。

もっとも気休め程度の暗号なのですが。
0082名前は開発中のものです。02/04/26 12:27ID:???
>>81
結局、コード書き換えされればいつかは改造されるのか。

オフラインなら良いかもしれないんだけど、ネットゲーだと致命的だよな。
課金とか絡んでくるし。
チートキャラだらけのネトゲに金払うなんてバカバカしいってことで
ゲームの存続にもかかわってくるから結構重要な問題かと…
0083名前は開発中のものです。02/04/26 12:54ID:???
プレイ中にプログラムを切り替えてターゲットゲームの変数の増減を検索して
何の値であるか推定し、書き換えるアプリがありますね。
プロセスの切替時の各パラメータチェックサムの変化で書き換えを検出
できそうですが、いずれ高度な書き換えソフトが出ないとも...
0084名前は開発中のものです。02/05/04 04:02ID:???
折れは男らしく全部ビットマップ
ダブルキュリックで中身が見える親切設計だ折れもユーザーも大ハッピー。まいったか
0085名前は開発中のものです。02/05/14 09:00ID:???
ネットだと結局、改竄してもらっては困るデータ(能力値等)をサーバーに、
改竄してもどうでもいいデータ(テクスチャ)を置いて、完全にクライアント
とサーバーを分割するしかない。 というか、それでオケな気もする。
0086名前は開発中のものです。02/05/14 21:45ID:x.mXxrcs
 
0087名前は開発中のものです。02/08/22 20:45ID:???
>84
まいった。
アナタ最強でつ。
0088102/09/07 01:56ID:???
おお、このスレまだあったんだなぁ・・・(涙
0089名前は開発中のものです。02/09/23 06:51ID:???
ねぇ3Dのデータ扱うのに「これ使っとけヽ(`Д´)ノゴルァ!!」って感じの
フォーマット教えて下さい……
0090名前は開発中のものです。02/09/23 07:18ID:hVSm4E2G
自作
0091名前は開発中のものです。02/09/23 07:56ID:???
xsi
0092名前は開発中のものです。02/09/23 07:58ID:???
いややっぱしtmd使っとけ
0093名前は開発中のものです。02/09/23 08:12ID:???
いやrokだろう
00948902/09/23 21:13ID:???
>91>92>93
ありがとうございます、試してみます。
でもみんな>90みたいに自作の独自フォーマット使ってたら(((( ;゜Д゜))))ガクガクブルブル
0095名前は開発中のものです。02/09/23 23:07ID:???
マジレスすると世間では基本的に自作フォーマットだ。がんがれ
0096名前は開発中のものです。02/09/28 22:55ID:???
>>66
個別に違う鍵を渡すなら漏洩元を特定でるるから無意味でもないのでは?
0097名前は開発中のものです。03/02/23 02:53ID:pM6P4J9p
保守あげ
0098名前は開発中のものです。03/02/23 03:12ID:1ggXx80g
            o.
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは見苦しく.  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /    モララーより     /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0099名前は開発中のものです。03/02/25 01:43ID:/DNQkTBe
データは全部変数に代入してコンパイラすればいいんではないか
というのはだめか?
0100名前は開発中のものです。03/02/25 07:36ID:UeuqW1xz
                o.
                /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
               /   このスレは無事に .  /
               /  終了いたしました    /
              / ありがとうございました  /
              /                /
             /   ペイピッニダより     /
             / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
            /
          . /
   __<`∀´>./
  /__ \ /
  | |   |  |
  (_) (__)
0101名前は開発中のものです。03/04/05 09:34ID:6xZbet/l
保守
0102名前は開発中のものです。03/04/27 23:39ID:CROTLl3J
http://yokohama.cool.ne.jp/rr_ri/html/SoftWare/GpcFileMaker.exe
0103名前は開発中のものです。03/05/19 00:02ID:993Tdot1
??
0104名前は開発中のものです。03/09/23 03:39ID:HNIyLmTg
>>99
ROMに焼くならそうするしかない。
static const指定して全部プログラムROMに詰め込む。
0105名前は開発中のものです。03/10/03 23:27ID:qU13l1Ia
改造ソフトってパラメータがやたら増えてたりするみたいだが
それやると
チェックサムに引っかかってセーブデータ無効になったりしないか?
なんで皆平気で改造してるんだろ。
優秀で親切ひと、教えてください

0106名前は開発中のものです。03/10/03 23:28ID:+EC7zeWT
マルチ氏ね
0107名前は開発中のものです。03/10/04 00:06ID:sM2y81o/
>106
105さんは前のスレッドで撤退宣言してますよ
0108名前は開発中のものです。03/10/04 00:52ID:xzRZ7GXR
>>105
ゲーム製作じゃなくてゲームプレーだろそれ。
板違いだって言ってんのに何でまたしつこくこの板で聞くんだ?
0109名前は開発中のものです。03/10/04 01:01ID:YxrpxQrl
りょおかいしました、じゃ家庭用ゲーム板で伺います

プログラマじゃないとわからないだろうとおもったんですよ、、
0110名前は開発中のものです。03/10/06 02:21ID:GOGRRG4D
画像データなら…
昔のしょぼい市販ゲームでは、ビットマップのヘッダ潰しただけってのも
あったけど、大体は、ランレングスかスライド辞書でOKだろ。

そういや、アンバランスのザナドゥはベタベタのビットマップだったな。
マスクデータも見えていや〜ん(w
0111名前は開発中のものです。03/10/09 00:40ID:5lC1R2nJ
スレ違いと思われるが、Susieプラグインを作ったりしてる人たちは、どうやって作っているのか知りたい。
delphi始めて少ししかたってない厨にはやはり無理なのだろうが
0112名前は開発中のものです。04/04/15 13:03ID:/5QJcWoM
保守
0113名前は開発中のものです。04/05/02 10:22ID:jvA7QL+W
保守
0114名前は開発中のものです。04/05/09 02:10ID:OieRmYAk
>>111
susieなんて参考にしたら駄目。
あれは作者も認める失敗策。
0115名前は開発中のものです。04/05/28 11:52ID:RHmeZuoM
基本的にゲーム内で使われるテクスチャやモデルデータなどは
どういった形で置かれているのでしょうか?
圧縮して鍵をつけておられるのでしょうか。
どなたか教えていただけますか。
0116名前は開発中のものです。04/05/28 12:14ID:6Pc/e8Iv
基本などない
0117名前は開発中のものです。04/05/28 20:57ID:K+pPvjca
フリーの一般ゲームは一般的なフォーマットをそのまま使っている事が多い
市販ゲームは独自形式が多いかな(単に適当なゴミヘッダつけてるだけかも)
18禁ゲームは画像を独自形式にする必要ありかと
0118名前は開発中のものです。04/05/30 22:11ID:HM800C26
>>117
>18禁ゲームは画像を独自形式にする必要ありかと
bmpやjpgを抽出するソフトがあるから18禁では独自形式にしないと
すぐ見られちゃうな。

そして見られちゃうゲームが少なくない。
0119名前は開発中のものです。04/06/15 09:25ID:Qit+XtM0
age
0120名前は開発中のものです。04/06/20 20:07ID:S/v3KCiT
jpgやpngをビットシフト(?)させるだけでも十分なのかい?
0121名前は開発中のものです。04/06/22 10:09ID:2/i7gsvf
解析するやつは何やってもやるんで、ほどほどでいいんでない。
解析時間>攻略時間 になるのがいいんだろうけど
最近はネットでツールが出回るのが問題だよなぁ・・・。
0122名前は開発中のものです。05/03/05 20:09:12ID:iSU781a/
保守
0123名前は開発中のものです。2005/05/30(月) 15:00:51ID:lHJfT2IG
保守
0124名前は開発中のものです。2005/06/15(水) 15:45:12ID:G1JAVN4A
保守
0125名前は開発中のものです。2005/12/04(日) 21:42:09ID:MDlMlQWK
∧∧
( 'A `)
(⊃⌒*⌒⊂)
/__ノωヽ__)
    
             _,.>
                   r "
   >>1       \    _
                    r-''ニl::::/,ニ二 ーー-- __
                 .,/: :// o l !/ /o l.}: : : : : : :`:ヽ 、
                  /:,.-ーl { ゙-"ノノl l. ゙ ‐゙ノノ,,,_: : : : : : : : : :ヽ、
              ゝ、,,ヽ /;;;;;;;;;;リ゙‐'ー=" _゛ =、: : : : : : : :ヽ、
              /  _________`゙ `'-- ヾ_____--⌒     `-: : : : : : : :
...-''"│    ∧  .ヽ.  ________   /   ____ ---‐‐‐ーー    \: : : : :
    !   /   .ヽ  ゙,ゝ、      /  ________rー''" ̄''ー、    `、: : :
    .l./     V   `'''ー-、__/__r-‐''"゛     ̄ ̄   \   ゙l: : :
                   l     .,.. -、、 _ ‐''''''''-、    l   !: :
                  |   /    .| .!     `'、  |   l: :
                      l   |     .l,,ノ     |  !   !: :
                       / '゙‐'''''ヽ、 .,,,.. -''''''''^^'''-、/  l   !: :
             r―- ..__l___    `´            l   /   /: :
                \      `゙^''''''―- ..______/_/   /: : :
■ このスレッドは過去ログ倉庫に格納されています