VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 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桁程度では総当りで解かれてしまうので、もう少し手を加える必要がありますが…)

あるいは、公開鍵暗号を用いる方法などもありますね。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -