投稿日 | : 2005/11/24(Thu) 17:33 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: 実行ファイルの内容を読み取れてしまう |
> 実行ファイルを作成したのですが、その実行ファイルをメモ帳などで開いた時に、
> 変数に代入するために記述した内容が半角スペースで区切られた形で
半角スペースというか、null文字ですね。
VB内の文字コードは Unicode であり、全角/半角いずれも 2バイトで表現されています。
> 実行ファイルを作成する際に、ソースの内容を読み取られないように
> してコンパイルする方法をご存知ありませんでしょうか?
厳密には無理でしょう。コンピュータがexeの内容を読み取れる以上、
絶対に読み取れないような処理を記述する事はできません。
ですが、簡単には読み取られないようにするという程度の意図であれば、
文字列のパスワードを埋め込まないようにすれば大丈夫でしょう。
たとえば、
Public Function Hoge(ByVal X As Long) As Long
Hoge = ((X / 1234) + (X Mod 8765)) * 90
End Function
のような関数を用意しておき、
Dim CODE As Long 'この場合は 1727 なら正解
CODE = 4桁の暗号コード
If Hoge(CODE) = 155556 Then
MsgBox "OK!"
Else
MsgBox "NG..."
End If
のような処理仕様にしておけば、「パスワード文字列」が埋め込まれていないので、
メモ帳で開いた程度では、簡単には判読できないでしょう。
(実際には、4桁程度では総当りで解かれてしまうので、もう少し手を加える必要がありますが…)
あるいは、公開鍵暗号を用いる方法などもありますね。