プログラムをバイナリエディタで見たら・・・?

解決


m  2005-06-04 01:36:43  No: 90218

プログラムのコードにパスワードを直接書いたプログラムをコンパイルして、EXEを作ります。作ったプログラムをバイナリエディタ等でみるとそのままパスワードが丸見えになってしまいます。
プログラムのコード中にパスワードを指定する必要がある場合などはどのようにすればいいでしょうか?


魔界の仮面弁士  2005-06-04 02:33:35  No: 90219

バイナリエディタでexeを見る……という事は、VB6かな?
VB.NETなら、ildasm や Reflector等で見るでしょうから。

で、VB6の場合の対応策としては:

バイナリにパスワードが平文で埋め込まれていなければよいなら
  →「S = "Pass"」ではなく、たとえばChr関数等を用いて、
    「S = Chr(&H50) & Chr(&H61) & String(2, &H73)」のようにする

一致性のチェックに使うパスワードの場合であれば
  →不可逆暗号化しておく。(MD5等)

SQL Serverへの接続に使うパスワードの場合なら
  →SQL Server認証ではなく、Windows認証を採用する。

その他、可逆暗号を含めなければならない場合には
  →Crypt APIを試してみる。


m  2005-06-04 02:36:59  No: 90220

>バイナリにパスワードが平文で埋め込まれていなければよいなら
>  →「S = "Pass"」ではなく、たとえばChr関数等を用いて、
>    「S = Chr(&H50) & Chr(&H61) & String(2, &H73)」のようにする
暗号化などは面倒なので、上記の方法でやってみたいと思います。
ありがとうございました。


medaka  2005-06-04 20:27:14  No: 90221

VB.NETでもDBの接続文字列とかstringでそのまま持つと
バイナリエディタで見るとそのまま見えます
のでTripleDESCryptoServiceProviderで暗号化した文字列を持たせて
プログラム内で複号化しています


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加