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 Applet,可能进行更改并访问调试器。我决定看看我能做些什么,因为我以前从未有过这种东西的经验。

首先,您可以在存档属性中下载 .jar 文件。在您的情况下,它看起来位于http://ih.advfn.com/loader_20110113.jar

然后,您可以使用Java Decomipler反编译 .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一旦你知道是 type ,修复就相当明显了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 回答