1

私のプログラムには、購入した dll があり、プログラムにはライセンス文字列があります。

コードはリリース前に難読化されていますが、文字列は難読化されていません。したがって、誰もがコードを逆コンパイルして文字列を読み取ることができます。文字列を暗号化/復号化する必要があります。問題は、文字列を暗号化/復号化する方法ではありません! 難読化されたコードで誰もそれを取り戻すことができない方法で創造的に行うことができるようになりました...おそらく3つの難読化された関数などを通過することによって..アドバイスをいただければ幸いです!

4

1 に答える 1

0

あなたの問題は、文字列を非表示にしないことだと思います。誰もそれを読むことができないからです。この文字列を変更から保護したいと思いますよね?

その場合、文字列をそのまま保持できますが、別の場所でこの文字列のチェックサムを保持し、プログラムの実行時にコードの奥深くでチェックサムを検証します。チェックサムが間違っている場合は、終了するか、何か他のことを行います。

たとえば、「else」については、各ユーザー入力で合計を検証し、チェックが失敗した場合は 10 メガバイトのメモリを割り当てることができます。その結果、「ハッキングされた」プログラムにはメモリリークが発生し、どこからリークが発生したのかを理解するのが難しくなります。

于 2013-09-18T02:01:41.253 に答える