有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

我有一个小程序在浏览器中运行。这个小程序不仅仅是任何小程序,而是CRM/ERP的一个相当复杂的软件包应用程序。一家供应商公司告诉我,他们可以在运行时用自己的类替换applet的主类,从而监控用户在applet中的行为。使用的术语是“背书”

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

它们是在类加载级别的黑客(问这个问题我觉得很愚蠢),还是我在java中没有遇到过的其他东西,可以让你做这样的“都市传奇”的事情


共 (2) 个答案

  1. # 2 楼答案

    Java小程序使用如下HTML标记加载:

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

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

    您可以使用这种技术,通过将应用程序的Java类放在ApplicationP1中来加载自己版本的Java类。jar文件。它们将在存储在第二个应用程序中的类之前加载。罐子

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

    另一种选择是开发方面,以捕获应用程序中的事件,并使用相同的多线程技术加载这些方面。HTML小程序标记的存档属性中的jar