2016-05-01 14 views
-3

実行ファイルがあり、16進値を移動したいと思います。その16進数値は解読の鍵ですので、安全のためにそれを下げる必要があります。C++を使用して16進値の位置を変更します

C++コード:

static DWORD s_adwEterPackKey[] = 
{ 
    45129401, 
    92367215, 
    681285731, 
    1710201, 
}; 

16進値:

¹ž°.oi..c˜›(y... 

誰かがHXDと "AVCEterPackManager" などのテキストを検索するときにキーを見つけることができるでしょうので、私はそれを下に移動する必要があります。 enter image description here

+2

「下に移動する」とはどういう意味ですか?あなたは鍵をあいまいにしようとしていますか?曖昧さによるセキュリティは最終的には壊れることに留意してください – tangrs

+0

メモリが実行可能ファイルのスコープ内にある限り、メモリの場所を変更することは可能です。コードが絶対位置としてロードされないため、正確な位置を見つけることが難しいかもしれません。実行ファイルは、アプリケーションの起動時にローダによって実行スタックにロードされます。 – jdweng

+0

あなたは正しいですが、本質的なコードではありませんなぜ私はそれを下に移動したいだけの鍵です。 –

答えて

1

バイナリに格納されている場所に関係なく、暗号化されていない状態で格納すると、バイナリからキーを抽出するのは簡単です。

非常に弱い暗号化(あなたのケースでは明らかに「security by obsurity」)を実装する代わりに、その仕事を行うためにはライブラリを使うのがよいでしょう。あなたのデータを安全に暗号化するアルゴリズムと実装がたくさんあります。

関連する問題