またまた来ました・・。
http://dixq.net/g/63.html
に書かれているのですがどうやってセキュルティ?するのでしょうか。
あとデーターを非表示し?、ロック?する方法はありますか?
無題
Re:無題
>またまた来ました・・。
>http://dixq.net/g/63.html
>に書かれているのですがどうやってセキュルティ?するのでしょうか。
そのページにも書かれている通りバイナリエディタで文字を書き換えるだけです。
なんかリンクが切れているみたいなので、こちらから。
http://www.forest.impress.co.jp/lib/std ... ditbz.html
>あとデーターを非表示し?、ロック?する方法はありますか?
暗号化やら圧縮やら色々と方法はありますが高度なテクニックが必要です。
初心者のうちはそんなことを気にぜず動くゲーム作りを優先してください。
>http://dixq.net/g/63.html
>に書かれているのですがどうやってセキュルティ?するのでしょうか。
そのページにも書かれている通りバイナリエディタで文字を書き換えるだけです。
なんかリンクが切れているみたいなので、こちらから。
http://www.forest.impress.co.jp/lib/std ... ditbz.html
>あとデーターを非表示し?、ロック?する方法はありますか?
暗号化やら圧縮やら色々と方法はありますが高度なテクニックが必要です。
初心者のうちはそんなことを気にぜず動くゲーム作りを優先してください。
Re:無題
セキュリティを考えるのはsoftyaさんも仰るようにゲームが完成してからでも良いと思いますが
気になるようなので少しだけ回答しましょう。
> あとデーターを非表示し?、ロック?する方法はありますか?
ユーザーが勝手にデータを閲覧したり改竄したりしないようにする方法という事でしょうか?
それであれば、「暗号化」という話になるでしょう。
例えば、リンク先のように「見られてはいけないデータ」なる文字列があったとしましょう。
実行ファイルは膨大なデータ量である為、一文字ずつ見ていく人はあまりいないでしょう。
(と言っても実行ファイルの仕組みを知ればどこに何のデータがありそうか大体わかってしまうのですが)
多くの場合は検索をかけてデータを見つけると思います。
今回の場合で言えば「データ」という文字列で検索をかければ見つかります。
しかし
「デ」「ー」「タ」それぞれに文字コード+1したものを保存してみたとしたらどうでしょう。
文字コードに1足しただけであっても全く意味の解らない文字列にかわるはずです。
検索してもひっかからなくなるでしょう。
これはシーザー暗号といって最も簡単な暗号化の一つです。
先ほども言ったように解る人が見ればそれでも大体データの場所が解ってしまうので、
データをいくつかシフトするだけで発見されるかもしれません。
ですので、暗号化にはより複雑な方法等様々な方法が存在します。
すごく大事なデータであればライブラリを利用して暗号化するのが良いでしょうが、まぁフリーゲームではそこまでしなくても良いように思います。
いくらデータファイルにこだわってもしょうがない事もありますので。
何故かというと、例えば私のゲームのセーブデータには簡単な暗号化がかけてあって、
改竄するとゲームが起動できなくなるようになっています。
しかし、いくらセーブデータをきっちり暗号化したって、保存する前に書き換えられてはしょうがありません。
ゲームをプレイ中、そのゲームが使っているメモリのデータを書き換える事が出来るので、
例えば、ゲームをクリアした時「1200ポイント」だったとしましょう。
「1200」のデータを持っているメモリのデータを探して「10000ポイント」に書き換えてしまうと
保存する前に変数のデータが変わっているので防ぎようがないのです。
それを防ぐには変数に値を代入する時は常に暗号化するなどの処置が必要かもしれません。
その辺の効率的な方法は私も良く知りませんが、この辺の分野は突き詰めていくとドンドン深くなりそうです。
そしてプログラムコードはドンドン読みにくくなりそう・・。
ですから、最初は気にせずにゲーム本体のプログラムを勉強していった方が良いように思います。
気になるようなので少しだけ回答しましょう。
> あとデーターを非表示し?、ロック?する方法はありますか?
ユーザーが勝手にデータを閲覧したり改竄したりしないようにする方法という事でしょうか?
それであれば、「暗号化」という話になるでしょう。
例えば、リンク先のように「見られてはいけないデータ」なる文字列があったとしましょう。
実行ファイルは膨大なデータ量である為、一文字ずつ見ていく人はあまりいないでしょう。
(と言っても実行ファイルの仕組みを知ればどこに何のデータがありそうか大体わかってしまうのですが)
多くの場合は検索をかけてデータを見つけると思います。
今回の場合で言えば「データ」という文字列で検索をかければ見つかります。
しかし
「デ」「ー」「タ」それぞれに文字コード+1したものを保存してみたとしたらどうでしょう。
文字コードに1足しただけであっても全く意味の解らない文字列にかわるはずです。
検索してもひっかからなくなるでしょう。
これはシーザー暗号といって最も簡単な暗号化の一つです。
先ほども言ったように解る人が見ればそれでも大体データの場所が解ってしまうので、
データをいくつかシフトするだけで発見されるかもしれません。
ですので、暗号化にはより複雑な方法等様々な方法が存在します。
すごく大事なデータであればライブラリを利用して暗号化するのが良いでしょうが、まぁフリーゲームではそこまでしなくても良いように思います。
いくらデータファイルにこだわってもしょうがない事もありますので。
何故かというと、例えば私のゲームのセーブデータには簡単な暗号化がかけてあって、
改竄するとゲームが起動できなくなるようになっています。
しかし、いくらセーブデータをきっちり暗号化したって、保存する前に書き換えられてはしょうがありません。
ゲームをプレイ中、そのゲームが使っているメモリのデータを書き換える事が出来るので、
例えば、ゲームをクリアした時「1200ポイント」だったとしましょう。
「1200」のデータを持っているメモリのデータを探して「10000ポイント」に書き換えてしまうと
保存する前に変数のデータが変わっているので防ぎようがないのです。
それを防ぐには変数に値を代入する時は常に暗号化するなどの処置が必要かもしれません。
その辺の効率的な方法は私も良く知りませんが、この辺の分野は突き詰めていくとドンドン深くなりそうです。
そしてプログラムコードはドンドン読みにくくなりそう・・。
ですから、最初は気にせずにゲーム本体のプログラムを勉強していった方が良いように思います。
Re:無題
>っと言いたいところですが、動画の再生はどうしたらできるのでしょうか?
色々飛びますね!
まぁ、好奇心旺盛なのは勉強のモチベーションになるので好奇心旺盛でいてください。
「DXライブラリ置き場 リファレンスページ」
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
に色々関数とサンプルコードがありますので眺めてみてください。
お望みのものもありますよ。
色々飛びますね!
まぁ、好奇心旺盛なのは勉強のモチベーションになるので好奇心旺盛でいてください。
「DXライブラリ置き場 リファレンスページ」
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
に色々関数とサンプルコードがありますので眺めてみてください。
お望みのものもありますよ。