Java用の分解 +デバッガー(Ala ollydbg / Softice for Assebler)はありますか?
-
23-09-2019 - |
質問
Javaのollydbg / softiceに似たユーティリティはありますか? IEはクラス(JAR / FROM CLASS PATHを使用)を実行し、ソースコードなしで、中間コードの分解を表示し、参照 /ステップオーバー /検索 /メモリの特定の中間コードを編集 /編集 /編集 /編集します。 。
そうでない場合、このようなものを書くことさえ可能ですか(デバッグ期間のためにホットスポットなしで生きることをいとわないと仮定しています)。
編集:私はJad、JD、Cavajについて話していません。これらは細かい逆コンパイラですが、いくつかの理由で逆コンパイラを望んでいません。最も注目すべきは、その出力が正しくないことです(せいぜい、時には単に間違っています)。私は魔法の「コンパイルされたバイトからJavaコード」を探しているわけではありません - 実行されようとしている実際のバイトを見たいです。また、これらのバイトを変更して(アセンブリデバッガーのように)、うまくいけば、変更された部分をクラスファイルに書き戻す機能を希望します。
edit2:Javapが存在することはわかっていますが、1つの方法しか行いません(および分析の種類はありません)。例(VMSPECドキュメントから取得したコード):Javaコードから、「Javac」を使用してこれをコンパイルします。
void setIt(int value) {
i = value;
}
int getIt() {
return i;
}
Java .classファイルへ。 Javap -Cを使用して、この出力を取得できます。
Method void setIt(int)
0 aload_0
1 iload_1
2 putfield #4
5 return
Method int getIt()
0 aload_0
1 getfield #4
4 ireturn
これは、分解部分では問題ありません(分析なしでは本当に良くありません - 「フィールド#4はexample.i」です)が、他の2つの「ツール」が見つかりません。
- 実際のコードと環境を調べることができるように、指示自体(スタック、メモリダンプなど)を通過するデバッガー。
- プロセスを逆転させる方法 - 分解されたコードを編集し、.classファイルを再作成します(編集されたコードを使用)。
解決
scriptLinkを使ってみてください
<sharepoint:scriptlink defer="false " id="SPScriptLink " localizable="false " name="jquery-x.x.x.js " runat="server"></sharepoint:scriptlink>
.
または
<SharePoint:Scriptlink runat="server" Name="~sitecollection/Style Library/[YOUR SITE]/js/jquery.js" Language="javascript" />
.
ScriptLinkコントロールは、スクリプトが一度だけロードされていることを確認します。 また、他の依存関係が最初にロードされていることを確認します
他のヒント
を見てみましょう Jad Decomplier javaコードを逆コンパイルするため。その後、生成されたソースを使用してIDEの組み込みデバッガーを実行できます。 IDEは、Intellij、Eclipse、またはNetBeansです。このアプローチは完全に自動ではありませんが、仕事をするはずです。