警告: C++ 初心者
文字列の暗号化に関する StackOverflow の複数の投稿を読みました。ところで、彼らは私の疑問に答えません。コードに1 つまたは 2 つのハードコードされた文字列を挿入する必要がありますが、デバッグやリバース エンジニアリングの際にプレーン テキストで読みにくくしたいと考えています。それだけではありません。文字列は URL であるため、単純なパケット アナライザー (Wireshark) で読み取ることができます。私が難しいと言ったのは、コードが実行されると、文字列がどこか (RAM 内?) で平文として復号化され、誰かがそれを読み取ることができることを知っているからです。それで、私の文字列を完全に保護することは不可能であると仮定すると、C ++で暗号化/復号化する最良の方法は何ですか? 私は次のようなことを考えていました:
//I've omitted all the #include and main stuff of course...
string encryptedUrl = "Ajdu67gGHhbh34590Hb6vfu6gu" //Encrypted url with some known algorithm
URLDownloadToFile(NULL, encryptedUrl.decrypt(), C:\temp.txt, 0, NULL);
パケット分析はどうですか?URL を非表示にする方法はないと確信していますが、何か不足している可能性がありますか? ありがとう、そして私の最悪の英語でごめんなさい!
編集 1: 私のアプリケーションは何をしますか?
これは単純なログイン スクリプトです。私のアプリケーションは、URL からテキスト ファイルをダウンロードします。このファイルには、fstream ライブラリを使用して読み取られる暗号化された文字列が含まれています。文字列は復号化され、別のサイトへのログインに使用されます。データベースもソルトもハッシュも存在しないため、非常に脆弱です。私の成果は、URLもログイン文字列も、バイナリの静的分析から読み取るのが「簡単」ではなく、動的分析(デバッグ、リバースエンジニアリングなど)で可能な限り困難であることを確認することです。