ゲームのデータファイルについて語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/18 12:27ID:YbPM6OMfデータファイルの種類(画像、BGM、効果音、音声など)は問いません
データファイルのフォーマット、圧縮、プロテクトなど語りましょう
0012名無しさん@お腹いっぱい。
01/11/18 19:32ID:ZN+7V7L8固定長マンセー
001311
01/11/18 19:50ID:???0014PSEC鍵生成パラメータ教えて
01/11/18 20:06ID:dvJg5esYhttp://info.isl.ntt.co.jp/
のEPOC PSEC Camelliaはどうか。
特にCamellia。
0016名無しさん@お腹いっぱい。
01/11/18 20:29ID:???データはアーカイブにして、すべてを一つにまとめてる。
データのフォーマットは
struct header {
u32l sign;
u32l size;
u32l crc32;
};
あとは簡単な暗号化を施したカタログ情報と、
その後に圧縮データが続く。
0017名無しさん@お腹いっぱい。
01/11/19 01:02ID:mVW1u3JE俺もほぼパクリで使ってるけど、なんかそのまま使うと怖いような。
0018名無しさん@お腹いっぱい。
01/11/19 01:14ID:???同人ソフトなどでMAGフォーマットのデータを使ったりしても
いいですよ。みたいな事が書いてあった。
00191
01/11/19 01:34ID:???知りませんでした・・・
ちなみにMAGフォーマット検索してたら
こんなページ見つけました
〜 圧縮法入門 〜
http://www.ingnet.or.jp/~kojif/mu/comp/index.htm
00201
01/11/19 01:42ID:???http://www.gavo.t.u-tokyo.ac.jp/~hosoyama/report/ex2b6.html
0021名無しさん@お腹いっぱい。
01/11/19 02:15ID:???開発されたものだから、当然MAGも自由に使えます。
適度な圧縮率と展開の速さ&容易さで今でも便利なMAG萌え。
0022名無しさん@お腹いっぱい。
01/11/19 02:23ID:???0023名無しさん@お腹いっぱい。
01/11/19 05:16ID:zy4OsR/0おお国産ですな。暗号化はAESしかしらないですなぁ
ブロック長より鍵長のほうが重要だと思うんですが AES 互換を全面に出した
ということですかな。Rijndaelより高速で256bit-keyが使えるなら使いたい。。
問題は Optimize されたレベルでより高速かということですが。。。
0024名無しさん@お腹いっぱい。
01/11/19 11:21ID:mVW1u3JEごまかすってのはダメ?(w
というかゲームデータを隠すのに128bit暗号も使わないて。
0025名無しさん@お腹いっぱい。
01/11/19 11:49ID:???そういうのってすごい気になるけど、データの鍵は
プログラムがもってるわけ?
鍵とデータを一緒に配布するって馬鹿くせえとおもったが・・・
0026名無しさん@お腹いっぱい。
01/11/19 13:13ID:???0027名無しさん@お腹いっぱい。
01/11/19 14:51ID:???0028名無しさん@お腹いっぱい。
01/11/19 15:11ID:???ブロックソート後のデータもほとんど暗号と変わらんよ。
ゲームに使うなら十分でしょ
0029名無しさん@お腹いっぱい。
01/11/19 15:40ID:???こんなのどう?
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:???結構いる
0033名無しさん@お腹いっぱい。
01/11/19 16:57ID:???0034名無しさん@お腹いっぱい。
01/11/19 17:44ID:???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:???鍵とデータが一緒になきゃ復号できないじゃん。
勘違いしてるのかもしれないけどこれはゲームの話で、実際に暗号を
使う場面では利用者がそれぞれに鍵を持っているので一緒も糞もない。
0038名無しさん@お腹いっぱい。
01/11/20 00:12ID:???0039名無しさん@お腹いっぱい。
01/11/20 00:35ID:???PCで使う意義もないし。
0040名無しさん@お腹いっぱい。
01/11/20 05:03ID:y/kAXWZY16,32bitの最適化ソースが公開されていないようですね。
最適化ソースが無いのでRijndaelには速度で勝てないでしょう。残念ながら。
Feistel回数が比較して多いのとFeistelとSBOXの手間が他の方式と比べて
煩雑です。Feistelを何回か回すだけでも簡単な暗号系になりますから
それでもいいんですけどね。
0041名無しさん@お腹いっぱい。
01/11/20 11:19ID:???そりゃそうだ。
しかしどんなに強力な暗号化を使っても、鍵と一緒に配布されてるんじゃなあ(藁
0042名無しさん@お腹いっぱい。
01/11/20 12:29ID:???と思うのは、俺だけか?
0043名無しさん@お腹いっぱい。
01/11/20 13:30ID:LstOLEvl何やったって解析されてしまうんだから無駄無駄。
シェアウェアのクラック問題にも似てるけど。
0044名無しさん@お腹いっぱい。
01/11/20 13:42ID:???同感。
複雑な暗号化は速度的にも不利なうえに鍵添付じゃあ、その鍵で
暗号化を解除してくださいとクラッカーに言ってるようなもの。
暗号化にかける時間があったら他のことやったほうがよい。
0045名無しさん@お腹いっぱい。
01/11/20 14:13ID:???あのリンク先程度じゃ、変形算術圧縮とか、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);
みたいな関数の入り口見つけられたら、そこからそのまま
ひっこぬかれておしまい。
アルゴリズムではなくてプログラムを複雑にすると
今度はプログラムが単に汚くなる。
0051名無しさん@お腹いっぱい。
01/11/20 16:18ID:???複雑にして解読を防ぐかじゃなくて、復号ルーチンを
どうリバースエンジニアリングから守るかだよ。
0052名無しさん@お腹いっぱい。
01/11/21 04:09ID:XcI+VzyTいらっしゃいますか?(結局理論的には解析可能だから対策をしないと
いうのはとても簡単なことですが…)
>>51
>暗号化アルゴリズムをいかに複雑にして解読を防ぐかじゃなくて
おおむね同意します。でも暗号アルゴリズムなんてXORでもない限り
複雑なものを導入しても大してコストはかからないですよ。感覚としては
XORをかけるならAESかけるのもさして違いはないです。
005352
01/11/21 04:13ID:???すみません "s/XORでもない限り/"
0054名無しさん@お腹いっぱい。
01/11/21 12:09ID:???0055名無しさん@お腹いっぱい。
01/11/21 13:01ID:kTxoHJqc防御力は一緒だと思ってたんだけど、違うの?
0056名無しさん@お腹いっぱい。
01/11/21 13:45ID:???鍵と暗号済みのデータがあれば、解読できるわけ?
0057名無しさん@お腹いっぱい。
01/11/21 14:46ID:???メモリ上に展開された解読済みデータを
ReadProcessMemory で抜き取るとか。
0058名無しさん@お腹いっぱい。
01/11/21 15:13ID:K8u4BtIqグローバルなレジストフラグをプログラム全体に散りばめておいて、
レジストチェックルーチンの中でそのフラグを直接操作する。
こうすることで、レジストチェックルーチンをスキップしただけでは
動作しないようになる。
あとはひたすらチェックルーチンを冗長に複雑にする。
例えば、チェックルーチンは仮想マシンコードで実装する。
これによって直接の逆アセンブラは防げる。
あとは、そのルーチンを圧縮して、展開コードを仮想マシンで書いて
インタプリタで動かして、無駄なコードをつけまくって、ひたすら頑張る。
一度このシステムを作れば、プログラムにフラグを生めこむだけなので再利用はきくよ。
0059名無しさん@お腹いっぱい。
01/11/21 15:20ID:???すりかわってますぜ旦那・・・
0060名無しさん@お腹いっぱい。
01/11/21 15:27ID:???0061名無しさん@お腹いっぱい。
01/11/21 15:45ID:K8u4BtIq暗号化も鍵を隠すという点ではにたようなものでしょうが。
0062名無しさん@お腹いっぱい。
01/11/21 15:51ID:???OggVorbis
0063名無しさん@お腹いっぱい。
01/11/21 16:10ID:???ネットゲーの場合はときどきサーバからあたらしい
アルゴリズムの復号化DLLが送られてくる、とかで
結構なんとかなるかな。
0064名無しさん@お腹いっぱい。
01/11/21 17:21ID:???漏れもOggVorbis使ってる
0065名無しさん@お腹いっぱい。
01/11/21 18:41ID:???その辺が普通の暗号解読とは違う。
個人的にはあんまりむきになっても仕方ないと思ってるんだけど
0066名無しさん@お腹いっぱい。
01/11/21 20:11ID:16mzDT/7南京錠だろうがIDカードだろうが同じことだと思う今日この頃。
シェアウェアなら、パスワードにデータの解除キー混ぜたり
できるかもしらんけどどのみち気休めでんな。
0067名無しさん@お腹いっぱい。
01/11/21 20:12ID:16mzDT/70068名前は開発中のものです。
01/12/16 02:56ID:inKSfJGH0069名前は開発中のものです。
01/12/16 06:56ID:???これ入れてから FPS が激減しちゃったんだけど・・。
0070名前は開発中のものです。
01/12/17 00:01ID:7KBcu3BJどこぞから拾ってきた参考資料
多少は重いかも
0071名前は開発中のものです。
01/12/17 01:57ID:???こんなのがある。CPU使用率調べ。
0072名前は開発中のものです。
01/12/17 06:58ID:???やっぱ、mp3もoggも遅いマシンだと負荷は馬鹿にならないなー。
0073名前は開発中のものです。
01/12/17 06:58ID:???0074名前は開発中のものです。
01/12/23 03:58ID:nVi8CRdJ0075名前は開発中のものです。
02/01/09 13:03ID:4uvwfI59でまして。
0076名前は開発中のものです。
02/01/09 23:33ID:SWMCUrMt0077名前は開発中のものです。
02/02/03 13:30ID:???去年の話でなんですけど、閉鎖ということでご勘弁を。
0078名前は開発中のものです。
02/02/04 09:16ID:eg/wWGzG160kbpsとか?
0079名前は開発中のものです。
02/04/26 09:07ID:???0080名前は開発中のものです。
02/04/26 10:44ID:???0081名前は開発中のものです。
02/04/26 11:43ID:???プログラムコードを書き換えることで、変数改竄をするパターンが
多いです。なので、これに対する対策は、全てのアプリケーションデータを
プログラムコード全領域をキーとする暗号をかけてしまうことです。
こうすれば、プログラムコードを変化させようものならば、
アプリケーションデータも解凍時に支障が起きます。
プログラムコードが変更するたびにデータも作成しなければならないという
点がデメリットと、絶対に常駐するコード領域をキーにするというのが
必要条件です。
もっとも気休め程度の暗号なのですが。
0082名前は開発中のものです。
02/04/26 12:27ID:???結局、コード書き換えされればいつかは改造されるのか。
オフラインなら良いかもしれないんだけど、ネットゲーだと致命的だよな。
課金とか絡んでくるし。
チートキャラだらけのネトゲに金払うなんてバカバカしいってことで
ゲームの存続にもかかわってくるから結構重要な問題かと…
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.mXxrcs0087名前は開発中のものです。
02/08/22 20:45ID:???まいった。
アナタ最強でつ。
00881
02/09/07 01:56ID:???0089名前は開発中のものです。
02/09/23 06:51ID:???フォーマット教えて下さい……
0090名前は開発中のものです。
02/09/23 07:18ID:hVSm4E2G0091名前は開発中のものです。
02/09/23 07:56ID:???0092名前は開発中のものです。
02/09/23 07:58ID:???0093名前は開発中のものです。
02/09/23 08:12ID:???009489
02/09/23 21:13ID:???ありがとうございます、試してみます。
でもみんな>90みたいに自作の独自フォーマット使ってたら(((( ;゜Д゜))))ガクガクブルブル
0095名前は開発中のものです。
02/09/23 23:07ID:???0096名前は開発中のものです。
02/09/28 22:55ID:???個別に違う鍵を渡すなら漏洩元を特定でるるから無意味でもないのでは?
0097名前は開発中のものです。
03/02/23 02:53ID:pM6P4J9p0098名前は開発中のものです。
03/02/23 03:12ID:1ggXx80g/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは見苦しく. /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ モララーより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
0099名前は開発中のものです。
03/02/25 01:43ID:/DNQkTBeというのはだめか?
0100名前は開発中のものです。
03/02/25 07:36ID:UeuqW1xz/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ このスレは無事に . /
/ 終了いたしました /
/ ありがとうございました /
/ /
/ ペイピッニダより /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/
. /
__<`∀´>./
/__ \ /
| | | |
(_) (__)
0101名前は開発中のものです。
03/04/05 09:34ID:6xZbet/l0102名前は開発中のものです。
03/04/27 23:39ID:CROTLl3J0103名前は開発中のものです。
03/05/19 00:02ID:993Tdot10104名前は開発中のものです。
03/09/23 03:39ID:HNIyLmTgROMに焼くならそうするしかない。
static const指定して全部プログラムROMに詰め込む。
0105名前は開発中のものです。
03/10/03 23:27ID:qU13l1Iaそれやると
チェックサムに引っかかってセーブデータ無効になったりしないか?
なんで皆平気で改造してるんだろ。
優秀で親切ひと、教えてください
0106名前は開発中のものです。
03/10/03 23:28ID:+EC7zeWT0107名前は開発中のものです。
03/10/04 00:06ID:sM2y81o/105さんは前のスレッドで撤退宣言してますよ
0108名前は開発中のものです。
03/10/04 00:52ID:xzRZ7GXRゲーム製作じゃなくてゲームプレーだろそれ。
板違いだって言ってんのに何でまたしつこくこの板で聞くんだ?
0109名前は開発中のものです。
03/10/04 01:01ID:YxrpxQrlプログラマじゃないとわからないだろうとおもったんですよ、、
0110名前は開発中のものです。
03/10/06 02:21ID:GOGRRG4D昔のしょぼい市販ゲームでは、ビットマップのヘッダ潰しただけってのも
あったけど、大体は、ランレングスかスライド辞書でOKだろ。
そういや、アンバランスのザナドゥはベタベタのビットマップだったな。
マスクデータも見えていや〜ん(w
0111名前は開発中のものです。
03/10/09 00:40ID:5lC1R2nJdelphi始めて少ししかたってない厨にはやはり無理なのだろうが
■ このスレッドは過去ログ倉庫に格納されています