1

たまたまアプレット タグ付きの Html を受け取ったのですが、Chrome 開発者ツールを介して受け取ったクラスにアクセスする方法はありますか?スクリプトで見ることができません。ない場合、どうすればアクセスできますか?

<applet name="tradesapp" id="tradesapp" code="loader3.SunLoaderApplet.class" archive="loader_20110113.jar" codebase="http://ih.advfn.com/" width="1100" height="2000" mayscript="" alt="This browser either has java disabled or does not support it" title="Java"><param name="manifestcrc" value="1211857157"><param name="storagepath" value="ih.advfn.com"><param name="masterloader" value="master"><param name="initial_focus" value="false"><param name="cache_archive" value="loader_20110113.jar"><param name="cache_version" value="1.0.7.7"><param name="java_arguments" value="-Dsun.java2d.d3d=false"><param name="advfn_url" value="http://ih.advfn.com/"><param name="streamer" value="stream-9.advfn.com"><param name="user" value="ih_340884"><param name="root" value="advfnclient.framework.BaseControl"><param name="page" value="advfnclient.TradesContainer"><param name="tz" value="US/Eastern"><param name="clearAllDateStamp" value="1272534624504"><param name="clearCacheDateStamp" value="1272534624504"><param name="language" value="us"><param name="view" value="ih"><param name="config_name" value="trades"><param name="config_default" value="Default"><param name="params" value="w=1100&amp;h=2000&amp;symbol=N%5EMSFT&amp;montage=true&amp;sources=afx:ukreg:rssnon&amp;dims=664 79 15 0&amp;col_widths=45 55 344 90 115&amp;sid=1f58fa6b4ea88725c5b8e23d614a6e80&amp;page_key=1338581393&amp;w=1100&amp;h=2000&amp;pid=applet_embed&amp;mypid=trades"><center><iframe width="600" height="300" src="/p.php?pid=javadisabled"></iframe></center></applet>
4

2 に答える 2

1

Chrome には Java デバッガーが含まれておらず、アプレットはスクリプトではありません。

document.getElementById('tradesapp');JS コンソールからアクセスできます。それを使って何かをしたい場合、アプレットは明示的にメソッドを JavaScript に公開する必要があります。

于 2012-05-29T14:37:55.983 に答える
0

これはあなたのJavaプロジェクトではないと思うので、Quentinのアドバイスがあなたを助けるとは想像できません。Javaアプレットを自分で実行したいように思えますが、おそらく変更を加えてデバッガにアクセスできます。こんなことは今まで経験したことがないので、自分に何ができるか見てみることにしました。

まず、アーカイブプロパティで.jarファイルをダウンロードできます。あなたの場合、それはhttp://ih.advfn.com/loader_20110113.jarにあるように見えます

その後、 JavaDecomiplerを使用して.jarファイルを逆コンパイルできます。そうすると、このjarファイルがローダーとして機能し、advfn.comからさらに多くのJavaクラスをプルすることがわかります。次の場所に保存されます。

String path = System.getProperty("user.home");

Windowsでは、これはC:\ <USER>\advfnです。

興味があれば、これらのクラスを逆コンパイルすることもできます。元のソースコードの概算が残ります。この場合、かなり良いものです。

さらに一歩進んでプロジェクトを自分でビルドすることにした場合は、クラスをEclipseにインポートできます。次のような奇妙なエラーがあることに気付くでしょう。

LoadFile(String paramLong, long arg3)
{
    this.name = paramLong;
    Object localObject;
    this.size = localObject;
}

私は自分で逆コンパイラを構築したことがなく、Javaバイトコードにまったく精通していませんが、推測しなければならない場合、逆コンパイラは渡された引数のローカルインスタンスを表現しようとしていたと思います。

this.sizeタイプがであることがわかったら、修正はかなり明白ですLong

LoadFile(String paramLong, long arg3)
{
    this.name = paramLong;
    this.size = arg3;
}

これらの変更を続けると、コードは正常にコンパイルされます。ただし、HTMLで設定されたパラメーターが欠落しているため、それでも実行されません。LoaderApplet.javaのサンプル行は次のとおりです。

this.manifestCRC = Long.parseLong(getParameter("manifestcrc"));

これを見つけたHTMLページに戻ると、さまざまなパラメータが指定されていることがわかります。プロジェクトを実行し、パラメーターの要求を適切な値に置き換えることができるはずです。

これはJavaを逆コンパイルする最初の経験だったので、いくつかの詳細を見逃したかもしれません。さらにサポートが必要な場合はお知らせください。

于 2012-11-07T04:19:21.413 に答える