当前位置: 首页 > 知识库问答 >
问题:

如何在不访问源代码的情况下从现有Java应用程序中检索实时数据?

澹台承
2023-03-14

我试图从正在运行的Java应用程序中检索实时数据,并将其推送到服务器上的API中|

我无法访问正在运行的应用程序的源代码;我只有Jar文件。我已尝试反编译到。java文件;然而,由于应用程序的规模,我无法修复所有丢失的access$000函数调用。

从现有的Java应用程序中检索实时数据时,我应该使用某种方法吗?以前做过吗?我是否错过了一些我不知道的东西?

非常感谢您的帮助。

共有1个答案

钮边浩
2023-03-14

这显然是一个巨大的挑战。如果您能够从反编译和读取日志文件中收集到足够的程序工作原理的理解,以针对您怀疑API中有感兴趣的数据的某些方法,那么我将阅读面向方面编程(AOP)并使用这些工具。

使用AOP,您可以在运行时将jar文件中的类修改为JVM加载的类,并访问这些类。

例如:可以从以下位置收集数据:

  1. 拥有方法的类中的字段
  2. 传递给方法的参数
  3. 从方法返回的值

收集数据后,您还可以插入对API的调用。

从这里开始-https://www.baeldung.com/aspectj。

 类似资料:
  • 问题内容: 我在Android应用程序上使用Firebase,我知道如何使用EventListener从数据库中获取数据。到目前为止。 我的问题是:我有一个ReciclerView,它显示数据中的信息,但仅当我修改数据库时才显示。如果我关闭该应用程序然后再次打开,它什么也不会显示。然后,我进行一些修改,并将所有元素显示在容器中。 有什么方法可以加载数据而无需等待事件,而是手动获取? 先感谢您。 更

  • 我们想要自己的db连接配置而不是使用JNDI,但同时,我们也想使用DataSource而不是使用Drive verManager,怎么做?

  • 问题内容: 我试图将配置(例如URLs / etc)放入资源文件夹中,以供实用程序类使用。但是,我不想从任何地方的活动中传递上下文。我希望能够通过路径名(似乎使用assess /是为此用途设计的)来访问资源,而无需使用上下文来访问资源。 在这种特殊情况下,我希望单例实例化时在配置中使用某些东西。除了实例化期间的那一次之外,它不需要任何资源。因此,每次调用getInstance()时都必须传递Con

  • 我有一个带有maven的spring boot应用程序,并使用Hikari数据源连接Mysql数据库。但当我运行spring boot应用程序时,HikariPool关机启动如下: 我将属性文件配置如下,并且可以通过正常使用单元测试来获得数据查询: 任何人都可以为我提供解决此问题的解决方案。谢谢

  • 问题内容: 我尝试的第一件事是创建一个静态库,但后来我发现尚不支持该库。Apple Xcode Beta 4发行说明: Xcode不支持构建包含Swift代码的静态库。(17181019) 我希望Apple能够在下一个Beta版本或GA版本中添加它,但我在他们的博客上阅读了以下内容: 在确保应用程序的运行时兼容性的同时,Swift语言本身将继续发展,并且二进制接口也将发生变化。为了安全起见,应使用

  • 问题内容: 如何在Java程序中打开和关闭调试?如何在不重新编译Java程序的情况下打开和关闭调试? 问题答案: 无需使用IDE进行调试 1)您可以使用Assertions编写Java程序。您随时可以启用/禁用它们。 2)您可以使用配置了log4j.properties的日志。在Java程序中,您可以随时指定信息和调试日志,只要您想显示调试或信息日志等信息,就可以在log4j.properties