2009-05-04 11 views
3

図のように、JavaアプリケーションにはJarファイルがあり、その内部には依存するライブラリ用のJarファイル、jdbcまたは他のサードパーティ製のjarファイルがあります。他のJarファイルが埋め込まれたJarファイルの難読化

どのようにフリーソフトウェアで難読化するのですか?つまり、あなたのコードを難読化し、Jarsをそのままにしておいてください。

Proguardで試してみましたが、役に立たなくなりました。著者でさえ、sourceforgeフォーラムでは不可能であると私に言った。

しかし、手作業で行うことができます。醜いハックで、瓶の名前を変更して内側のデータを圧縮してマングリングする必要があります。なぜソフトウェアではできないのでしょうか?

答えて

0

おそらく、ソースをコンパイルし、他のjarファイル(One-Jar/Fat Jar/etc)でパッケージ化してjarをビルドするために、ある種のビルドスクリプトがあると思われます。

コンパイルとパッケージ化の間に難読化タスクを挿入できるはずです。

選択した難読化ツールがjar入力のみを受け取る場合は、コードを個別にコンパイル、ジャー、難読化することができます。その後、スクリプトで難読化されたファイルを解凍し、パッケージ化します。

-2

時間を無駄にしないでください。誰でもあなたの難読化されたコードを逆コンパイルすることができます。あなたがしようとしている唯一のことは、あなたのソフトウェアの問題をデバッグしたいあなたの正当なユーザーを苛立たせることです。

難読化は、法的な問題に対する技術的解決策(およびそれでは貧弱なもの)です。

+2

あなたのIPを保護することが唯一の目的ならば、あなたはここにポイントがありますが、難読化には他にもいくつかの利点があることを覚えておいてください。 jarのフットプリントが重要な場合、難読化はしばしばそれを小さくし、ほとんどの場合、より多くの圧縮を行います。 – willcodejavaforfood

+0

私は瓶のフットプリントが懸念されているのは疑いがあります。なぜなら、彼は他の瓶の中の濁っていない瓶を梱包しているからです。 – Kevin

+8

これは多少は当てはまりますが、努力の問題があります。難読化されていないjarファイルは、逆コンパイル時に元のソースコードとほとんど同じに見えます。よく難読化されたjarファイルは逆コンパイルされませんし、作業用ソースコードを抽出するためにかなりの労力を要します。これは最適ではありませんが、カジュアルな攻撃者を抑止することは確かに優れています。 –

2

Jar Jar Linksを使用して複数のジャーから1つのjarを作成できます。 次に、結果をProGuardで処理します。

+2

ひどい名前ですが、とにかくチェックします。 – Saiyine

+0

@サイエイン、それはできましたか? –

関連する問題