HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0424
サトシテキストの暗号化?17解決


サトシ

リンク

2008/4/24(Thu) 17:44:21|NO.15353

例えば、シューティングゲームなどでハイスコアなどをテキストに記録する場合に
テキストをいじくられないように、操作禁止または暗号化にする方法はあるのでしょうか?



この記事に返信する


flory

リンク

2008/4/24(Thu) 18:33:33|NO.15354

暗号化ならば、ググればいくらでも情報が出てくるし、
モジュールや拡張プラグインも見つかる。



サトシ

リンク

2008/4/24(Thu) 23:38:29|NO.15358

テキストを暗号化するソフトはあったのですがそれを読み込もうとすると
そのまんま暗号のkashiahsidgaudgasjidhgausgみたいな
文字しか出てきません。何かオススメなソフトがあれば
教えて下さい。。。



SYAM

リンク

2008/4/25(Fri) 00:18:34|NO.15359

それを使えば暗号化、復号がわかりやすく簡単にできるモノ
…を勧めてもらっても、それは使いやすいが故に「使えない」んじゃないかなぁ……。


たとえば、
一文字ずつずらす、とか、
奇数桁目でずらし方を変える、とか、
ダミーのデータを混ぜるとか、
特定の数字との排他的論理和をとる、とか、

そういう簡単に元に戻せるようなデータの「壊し」方をいくつか組み合わせれば、自分で暗号化できるんじゃないでしょうか。
暗号化も復号も同じプログラムがやるのですから、鍵の受け渡しとか小難しい話もないですし。



begriff

リンク

2008/4/25(Fri) 01:25:01|NO.15362

簡単なやつ  "号"など一部の文字ができない・・・

str_="暗号化できるかな・・・? “号”がうまくいかん" str2_="":s="" syscolor 15:boxf pos 12,12:objsize 300,21 input str_ objsize 88,21:pos 224,ginfo_cy+6 button "暗号",*an width 324,ginfo_cy+12 stop *an str2_="" repeat strlen(str_) a=peek(str_,cnt) poke str2_,cnt,a xor %00010101 loop objprm 0,str2_ stop



begriff

リンク

2008/4/25(Fri) 01:31:02|NO.15363


str_="暗号化できるかな・・・? “号”がうまくいかん" str2_="":s="" syscolor 15:boxf pos 12,12:objsize 300,21 input str_ objsize 88,21:pos 224,ginfo_cy+6 button "暗号",*an width 324,ginfo_cy+12 stop *an str2_="" randomize 60 randomize rnd(512) repeat strlen(str_) a=peek(str_,cnt) poke str2_,cnt,a xor rnd(21) loop objprm 0,str2_ stop
↑一次元でランダムにしている 文字破損は直らん



osakana

リンク

2008/4/25(Fri) 14:32:05|NO.15372

> "号"など一部の文字ができない・・・

どうやら objprm が原因のようです
試しに mes などで表示して見て下さい。



SYAM

リンク

2008/4/25(Fri) 16:25:49|NO.15377

暗号化したあと str_ に str2_ の内容を書き込んでおかないといけません。
str_ は既に何も指していませんから。
最後の stop の前に str_=str2_ が必要です。



コンテスト出品者

リンク

2008/4/26(Sat) 00:06:15|NO.15396

「ダミーデータを混ぜる」は簡単に搭載できてなおかつデータを解析する側には嫌がられるのでかなり効果的かと。



appleare

リンク

2008/4/26(Sat) 04:31:16|NO.15397

to our we watched is still the dead Forest. had probably called by themselves



greentomjuic

リンク

2008/4/26(Sat) 04:31:35|NO.15398

and dream. parents names. every [URL=http://www.google.com]green tom juicy house vacant[/URL] and eat still there. for the caught it [URL=http://www.hoopsu.com]yahoo america are[/URL]



tomgerman

リンク

2008/4/26(Sat) 04:31:41|NO.15399

the forests community often exploring http://rdre1.yahoo.com the boys along having http://www.housemd-guide.com



サトシ

リンク

2008/4/26(Sat) 07:02:01|NO.15400

皆様アドバイスありがとうございましたm(_ _)m
是非参考にさせていただきます



As

リンク

2008/4/27(Sun) 23:26:55|NO.15456

ちなみに自前で暗号化モジュールを作るときに注意しないといけないことを少し書いてみたいと
思います。

◆暗号化済み文章の終端以外に”\0”というNUL文字を含ませない

  これを含ませてしまうと、暗号化済み文章をnotesave命令で保存したときに、この文字
  が現れた位置までを文章とみなしてここまでしか保存されず、また読み込みも同様でこ
  の文字が現れたところまでの文章しか読み込まれません。

◆暗号化には乱数を使う

  乱数値を加算しておくだけで、かなりの難読度があがります。

◆暗号化する文章のデータサイズの値をrandomizeの引数として使う

  暗号文を解析する場合、文字を減らしたり同じような文字のパターンをつなげたりして
  暗号文の変化の動向を窺います。その際、文字数を減らしたのにも関わらず暗号文全体
  にあまり変化が見られない場合解読されてしまう可能性がたかくなるため、暗号化する
  文章のデータサイズの値をrandomizeの引数として使い初期化するといいと思います。

それでも解読されてしまうこともありうるので、様々な方法を駆使して暗号化モジュールを作れ
ば、ハイスコアはみやぶれません。

また、ハイスコアの場合は 暗号化する某体が”数値”であるため、デタラメな暗号文を入力
すると、数値として認識されてしまう可能性があるため、ハイスコア値のほかにハイスコアとして
認識させるための秘密の言葉を含ませておくとそういったことが回避できます。



As

リンク

2008/4/29(Tue) 04:26:44|NO.15477

参考までに、暗号化モジュール作ってみました。ヌル文字対策しているので
ファイルの読み書きにも対応しています。



#module //暗号化 (STR)暗号化する変数,(STR)鍵 #deffunc Ascrypt_enc var p1,str p2, local s1, local s2, local s3, local s4, local s5, local s6, local s7, local s8, local s9 //キーの数値化(配列変数) s1=p2 //キーの文字列が代入される s2=strlen(s1) //キーの文字数が代入される s3=strlen(p1) randomize s3 //p1の文字数値で乱数を初期化 repeat if s4=1:s4=-1:else:s4=1 //+- //世界のなべあつ仕様 if cnt\3=0{ s5(cnt)=0xff continue } if cnt\5=0{ s5(cnt)=0x00 continue } s5(cnt)=peek(s1, s6)*s4^rnd(s2) //キー配列 s7+=s5(cnt) //乱数値初期化用数値 s6+ if s6>=s2:break loop randomize s7 //乱数の初期化 //s2, s3, s4, s5 //暗号化 s1=length(s5) s7=0 s8=0 repeat s3 if s4=1:s4=-1:else:s4=1 //+- s6=peek(p1,cnt)+(rnd(rnd(s3)+1)+s5(s7))*s4 poke p1, cnt, s6 //ヌル文字を除去 if peek(p1,cnt)=0x00{ poke p1, cnt, 0xff s8(s9)=cnt s9+ } s7+ if s7>=s1:s7=0 loop randomize(s2*s2) //s2,s8,s3 s1=length(s8) s6=0 //ヌル文字の位置情報を付加する memexpand p1, s3+s1*8 repeat s1 s4=","+strf("%x",s8(cnt)) s5=strlen(s4) repeat s5-1,1 poke s4, cnt, peek(s4, cnt)+42+limit(s2*s2,0,150) loop memcpy p1, s4, s5, s3+s6 s6+=s5 loop poke p1,s3+s6,0x00 //終端 return //復号化 (STR)復号化する変数,(STR)鍵 #deffunc Ascrypt_dec var p1,str p2, local s1, local s2, local s3, local s4, local s5, local s6, local s7, local s8 //キーの数値化(配列変数) s1=p2 //キーの文字列が代入される s2=strlen(s1) //キーの文字数が代入される //s1,s2 randomize(s2*s2) //ヌル文字を元に戻す s3=strlen(p1) repeat if peek(p1, s3-cnt)=','{ s5=0 getstr s4, p1, s3-cnt+1, ',',8 s6=strsize dim s7,s6 repeat s6 poke s4, cnt, peek(s4, cnt)-42-limit(s2*s2,0,150) loop memset p1, 0x00, s6, s3-cnt poke p1, int("$"+s4), 0x00 } if s5=8{ s3=s3-cnt+8 break } s5+ loop s6=0 s7=0 //s2, s3 randomize s3 repeat if s4=1:s4=-1:else:s4=1 //+- //世界のなべあつ if cnt\3=0{ s5(cnt)=0xff continue } if cnt\5=0{ s5(cnt)=0x00 continue } s5(cnt)=peek(s1, s6)*s4^rnd(s2) //キー配列 s7+=s5(cnt) //乱数値初期化用数値 s6+ if s6>=s2:break loop randomize s7 //乱数の初期化 //復号化 s1=length(s5) s6=0 repeat s3 if s4=1:s4=-1:else:s4=1 //+- s2=peek(p1,cnt)-(rnd(rnd(s3)+1)+s5(s6))*s4 poke p1, cnt, s2 s6+ if s6>=s1:s6=0 loop return #global #if 1 font msgothic,12,1 notesel a noteload dir_exe+"\\readme.txt" objsize ginfo_winx,200 Ascrypt_enc a,"暗号キー" mes "暗号化:" mesbox a,,,5 Ascrypt_dec a,"暗号キー" mes "復号化:" mesbox a,,,5 #endif



limewire

リンク

2008/5/2(Fri) 22:58:24|NO.15604




freelimewire

リンク

2008/5/3(Sat) 00:22:53|NO.15608




downloadfree

リンク

2008/5/12(Mon) 04:10:34|NO.15788




ONION software Copyright 1997-2021(c) All rights reserved.