私は過去にJava難読化ツールを使用しましたが、一部はリバースエンジニアリングが容易です。私はおそらく十分に難読化されていないと思った。難読化されたコードを再難読化するのは間違っていますか?
2段階難読化を適用するのは間違っているか問題がありますか?商品Zelix Klassmaster
- 難読化 -
それとも悪いアプローチということでしょうか? 1つだけの難読化装置を使用する必要がありますか?
私は過去にJava難読化ツールを使用しましたが、一部はリバースエンジニアリングが容易です。私はおそらく十分に難読化されていないと思った。難読化されたコードを再難読化するのは間違っていますか?
2段階難読化を適用するのは間違っているか問題がありますか?商品Zelix Klassmaster
それとも悪いアプローチということでしょうか? 1つだけの難読化装置を使用する必要がありますか?
コードが正しく実行されている限り、使用している難読化ツールの数に関係なく、問題はありません。難読化ツールを使用する主な関心事は、コードの正しさを維持しながらコードをできるだけ読めないようにすることです。
難読化されていない難読化コードは、コードを解読するための周知の方法です。例: あなたは有効なWindowsファイル名ではありませんので、多くの逆コンパイラを壊しCOM1.javaという名前のファイル、につながる
class COM1 { ... }
逆コンパイルなどの有効なWindowsファイル名を形成しない名前を持つようにクラスを難読化することができます。
解決策は、class1、class2、method1、method2、field1、field2のような名前の辞書を使用して最初に再難読化し、次に逆コンパイルすることです。逆コンパイルされたコードは、逆コンパイルでより有効になるだけでなく、より読みやすくなります。
obfuscatorsを連続して使用すると、通常、最後に使用された難読化されたコードほど難読化されたコードが生成されます。 (つまり、チェーンは最後のリンクほど強くなります)
難読化する人に固執することをお勧めしますが、難読化プロセスのすべてのオプションと取り消しの容易さを理解してください。
悪いことは起こらないという意味で「大丈夫」です。 –
私はそれが良い質問だと思います。なぜそれが「近い」投票を得たのか分からない。たぶん少し言い換えてください。 – MByD
客観的な意味で、「大丈夫」と「悪い」のどちらが意味するのかがはっきりしないので、私は投票に投票しました。 –