問題タブ [proguard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
17699 参照

java - Javaの難読化-ProGuard/yGuard / other?

これは、これらの最近の質問と同様の線に沿っています。

サイズ縮小に最適なJava難読化アプリケーション リバースエンジニアリング不可能なJavaプログラムの作成

ただし、一方はyGuardともう一方のProGuardを推奨することになりますが、どちらも両方について言及していません。それぞれを比較して、柵の両側から人々の体験を聞くことができるのではないかと思います。ProGuard Webサイトでこの比較チャートを見ると、ProGuardに明確に傾いています。しかし、それぞれの実際の経験についてはどうでしょうか?どちらがより小さな出力を生成しますか?どちらから逆コンパイルするのが難しいですか?それぞれでサポートされているJavaのバージョンは何ですか?

個人的には、J2MEの観点から特に興味がありますが、議論をそれに限定しないでください。

0 投票する
3 に答える
3276 参照

obfuscation - ProGuard で OSGi バンドルを難読化する方法は?

現在、ProGuard を使用して Eclipse RCP アプリケーションを難読化しようとしています。問題は、パッケージ名を難読化する (クラス My.Package.Class が abc のようなものに変わる) ことですが、パッケージ名は MANIFEST.MF の Export-Package セクションに保持されます。

これは、MANIFEST.MFs の Export-Package セクションで指定されたパッケージ名を解決できないため、アプリケーション (実際には OSGi バンドルのセット) を実行できないという事実につながります。

ProGuard による OSGi ベースの RCP アプリケーションの難読化に成功した人はいますか? 基本的に、パッケージ名の難読化を完全に無効にするか、MANIFEST.MF の Export-Package セクションを難読化するかの 2 つの選択肢がありますが、いずれも実装する方法が見つかりません。Proguard は、MANIFEST.MF の Bundle-Activator クラス名のみを難読化し、他のすべてのセクションをスキップしているようです。前もって感謝します!

0 投票する
1 に答える
11214 参照

java - Maven、Proguard、およびアセンブリの問題

MavenをProGuardで動作させようとしています。

私が達成したいのは次のとおりです。

  • ソースファイルに対してProGuardを実行し、難読化されたクラスを作成します

  • メインクラスを参照するマニフェストファイルを作成して、jarとして実行できるようにします

  • 関連するすべてのライブラリjarを解凍し、それらすべてを含む1つの巨大なjarを作成します。このファイルは、.classファイルと.xmlファイルにのみ接続する必要があります。

  • それらを、さまざまなREADME.txtファイルなどを含む.zipファイルとtar.gzファイルにアセンブルします。

これまでのところ、私はこのようなものを持っています:

しかし、私には喜びがありません。誰かが私にこれについて漠然とした指針を与えることができますか?

よろしくお願いします、マット

0 投票する
3 に答える
2160 参照

java - 難読化の問題

私はアンテナを使用して、j2me アプリをビルド、パック、および難読化しています。ビルドとパッキングは正常に機能します。

このプロジェクトは、一部のインターフェースを除いて、すでに難読化されているサードパーティの jar を使用しています。

難読化しようとすると、次のようないくつかのエラーが発生しました。

クラス i と fooPackage.fooClass は、私が言及したこのサードパーティの jar からのものです。

更新

このサードパーティ ライブラリは、j2me-xmlrpc.jar を使用します。すべてをまとめてパッケージ化しないと、サードパーティ インターフェイスと j2me-xmlrpc.jar を難読化できなくなります。(そして、この方法でアプリを実行できません。理由はわかりません)

j2me-xmlrpc.jar とプロジェクト クラスのみをパッケージ化すると、難読化中にこのエラーが発生します。

更新 2:

Netbeans では Proguard を使用して難読化を行うことができるため、この難読化が可能であることはわかっています。

Netbeans 内部は ANT を使用してビルドを作成するため、生成された build.xml を自分の build.xml にコピーしようとしました。

難読化のために、Netbeans は、Netbeans の外部で使用できるライブラリ org-netbeans-modules-mobility-antext.jar を使用します。このライブラリをプロジェクトにインポートし、問題なく使用しました。

しかし、アンテナを使用して得たのと同じエラーが発生します。

Netbeans で難読化すると多くの警告が生成されますが、それでも難読化された jar が生成されます。

私は何が欠けていますか?

0 投票する
2 に答える
2941 参照

java - Proguard 難読化 Fat jar

私のアプリケーション jar には、java 1.5 用の無料のレイアウト マネージャーを含む swing-layout.jar のクラスが含まれています。難読化プロセス中に、次のような多くの警告が表示されます

proguard に org.jdesktop クラスをそのままにして、私が試した警告を取り除きたい

しかし、それはうまくいきませんでしたか?

0 投票する
3 に答える
2168 参照

java - Java proguard: 最適化後にライブラリが機能しない

proguard で jar を最適化していますが、最適化後にクラッシュします。ここに私のプロガードタスクがあります:

-dontoptimize オプションを入れるとすぐに動作します。

例外のスタックによると、nullpointer を持つクラスの static public メンバーにアクセスするとクラッシュします。コードは次のとおりです。

ありがとう!

0 投票する
1 に答える
2275 参照

java - Spring を使用するコードを難読化しようとするプロガードに問題がある

私のプロジェクトでは IoC に春を使用しています。難読化後、クラス名が変更されているため、アプリケーション コンテキストは Bean を見つけることができません。-adaptresourcefilecontents オプションを使用して、context.xml ファイルをクラス名に従って更新しようとしましたが、うまくいきませんでした。ファイルは変更されませんでした。何か案は?

0 投票する
9 に答える
57596 参照

java - Javaコードをすばやく難読化する方法は?

コードをすばやく難読化する方法。私は非常に小さなJavaアプリを持っており、難読化されたコードをクライアントに配信したいと考えています。コードを難読化するためのProGuardについて多くのことを聞いてダウンロードしましたが、「abc.jar」ファイルを難読化する方法がわかりません。

そのウェブサイトをチェックしましたが、読むべき資料がたくさん含まれています。重い難読化は必要ありません。変数、メソッド、クラスの名前を読み取り不可能なものに変更するだけの難読化が必要です。私は、ProGuardがこれらすべてに他の多くの機能も提供していることを知っています。

Q1。だから誰かが私に「abc.jar」と入力するだけで「obfuscate_abc.jar」またはそのような単純なものを出力できるように、いくつかの簡単な難読化ツールまたはproguardを使用するためのいくつかの簡単な手順を教えてもらえますか?

Q2。もう1つ、私のJavaプログラムは外部ライブラリを使用しているので、それらのライブラリも難読化する必要がありますか?

Q3。この難読化に利用できるEclipseまたはNetBeansプラグインはありますか?

また、将来、難読化時に作成されたマッピングテーブルを使用して難読化を解除することで、難読化されたコードをデバッグまたは編集できるように、マッピングテーブルファイルを保持する必要があると聞いています。

Q4。では、もう1つの質問は、なぜそのマッピングテーブルを保持する必要があるのか​​ということです。難読化されていないアプリケーションのコピーを保持するだけで、変更を加えることができます(将来必要になった場合)。そのマッピングテーブルファイルを私たちと一緒に保持する理由はありますか?

0 投票する
1 に答える
11427 参照

netbeans - NetBeans 6.7 / 6.8でProGuardを使用するにはどうすればよいですか?

ProGuardをNetBeans6.7/ 6.8と統合する方法を知っている人はいますか?NetBeansを長年使用していますが、ProGuardを使用したいのですが、プラグインとして追加し、ボタンをクリックするだけでプログラムの難読化を開始する方法はありますか?NetBeansモビリティパックに含まれていることはわかっていますが、通常のNetBeansバージョンに含まれていないのはなぜですか。

0 投票する
4 に答える
6334 参照

obfuscation - プロガードで難読化した後、googleguiceによるインジェクションは機能しなくなりました

誰かがグーグルのguiceの使用を難読化(特にプロガード)と組み合わせようとしたことがありますか?難読化されたバージョンのコードは、guiceが型パラメーターの欠落について不平を言っているため、googleguiceでは機能しません。この情報は、関連するクラスが難読化から除外されている場合でも、proguardが実行する変換ステップによって消去されるようです。

スタックトレースは次のようになります。

問題を再現しているように見える小さな例を(guiceを使用せずに)作成しようとしました:

このコードをsbfuscatedなしで実行すると、出力は次のようになります。

しかし、プロガードで難読化されたバージョンを実行すると、次のようになります。

これらは、難読化に使用したオプションです。

誰かがこれを解決する方法のアイデアを持っていますか(関連するファイルを別のjarに入れて、それを難読化しないという明白な回避策は別として)?

よろしく、
ステファン