gpt4 book ai didi

java - 访问正在运行的小程序的内部

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:15 26 4
gpt4 key购买 nike

这听起来像是一个荒谬的问题,但我不得不问这个问题,因为我有一个工作产品正在做这个。

我有一个在浏览器中运行的小程序。这个小程序不仅仅是普通的小程序,而是一个相当复杂的CRM/ERP 应用程序包。一家供应商公司告诉我,他们可以通过在运行时用自己的主类替换 applet 的主类来监视用户在 applet 中的操作。使用的术语是“认可”。

我现在有点不知所措。即使您可以以某种方式入侵它,您如何查看小程序内部并监听用户点击和键盘事件?我可以告诉你这是一个真实的故事,因为我看过这个供应商公司的应用程序,它只是坐在后台记录所有上下文信息(例如,用户在小程序中填写了哪个文本框,文本框的名称和等)。

他们是否在类加载级别有任何 hack(我觉得问这个很愚蠢),或者我在 java 中没有遇到的其他东西可以让你做这样的“城市传奇”?

最佳答案

Java 小程序使用这样的 HTML 标签加载:

<applet archive="ApplicationSP1.jar,Application.jar" code="Main.class" name="myApp" width="800" height="600"></applet>

如您所见,“archive”属性支持多个 .jar 文件。

您可以使用此技术加载您自己版本的应用程序 Java 类,方法是将它们放入 ApplicationSP1.jar 文件中。它们将在存储在第二个 Application.jar 中的那些类之前加载。

显然,您需要进行一些逆向工程以了解要覆盖或包装原始应用程序中的哪些类。然后您必须创建与您要覆盖的名称完全相同的新名称(相同的包和类名称)。

其他选择是开发方面来捕获应用程序中的事件,并在 HTML applet 标记的存档属性中使用多个 .jar 的相同技术加载这些方面。

关于java - 访问正在运行的小程序的内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36442978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com