【问题标题】:Is there a way to determine possible arguments for jar file?有没有办法确定 jar 文件的可能参数?
【发布时间】:2021-03-10 02:41:41
【问题描述】:

我有一台具有 kvm 重定向功能的 hp 服务器,用于远程管理。它是通过java小程序制作的。我已经从这个 url 下载了一个应用程序本身:http://ip_of_lo100/M2.JAR。我可以使用 java -jar M2.JAR 运行它。 现在我想让它自动连接到远程控制台,所以我不需要每次都复制服务器地址、用户名和密码的粘贴值。

在带有小程序的网页源代码中,我可以看到以下代码:

<APPLET CODE="com.serverengines.mahogany.MahoganyViewer.class" mayscript="true"ARCHIVE = "M2.JAR" WIDTH="400" HEIGHT="250"alt="JavaScript has been disabled or is not supported by your web browser which is needed by the Virtual KVM/Media applet. Please correct this problem.">
<PARAM NAME="NonSecure_KVMPort" VALUE="80">
<PARAM NAME="sessiontype" VALUE="kvm" >
<PARAM NAME="port" VALUE="5901" >
<PARAM NAME="ipaddress" VALUE="172.17.10.77" >
<PARAM NAME="sessiontype" VALUE="kvm" >
<PARAM NAME="httpdata" VALUE="72E36147CB88E76E6B6A8ECB9FADB95B208CB9509682452D1DDA3EC715C91B031C83F3F842D109E34378933F3E14649F" >
<PARAM NAME="username" VALUE="admin" >
<BR><p class="errorcolor">JavaScript has been disabled or is not supported by your web browser which is needed by the Virtual KVM/Media applet. Please correct this problem.</p></APPLET>

我不知道他们为什么使用 sessiontype 两次。然后我尝试像这样启动 jar 文件:

java -jar M2.jar \
NonSecure_KVMPort="80" \
sessiontype="kvm" \
port="5901" \
ipaddress="172.17.10.77" \
sessiontype="kvm" \
httpdata="72E36147CB88E76E6B6A8ECB9FADB95B208CB9509682452D1DDA3EC715C91B031C83F3F842D109E34378933F3E14649F" \
username="admin"

这很有效:我得到了远程控制台,没有(有点)将任何东西复制粘贴到 java 应用程序。

但问题是这个 httpdata 的值总是不同的。所以无论如何我都需要访问网页(可能使用 curl)。

但我想启动远程控制台之类的东西:

java -jar M2.jar \
ipaddress="172.17.10.77" \
username="admin" \
password="mypassword"

但应用程序似乎不知道这样一个参数“密码”,它只是立即退出。

所以我想探索一个 jar 文件本身以确定它接受哪些参数。这可能吗?

编辑:对于这个特定问题,我找到了this project,它允许您自动启动控制台。

【问题讨论】:

  • 您可以使用 JD-GUI 等工具来试试运气。你看过stackoverflow.com/questions/272535/… 吗?
  • 但请注意:请注意,您的 JAR 可能会被混淆,或者该代码的所有者可能会在服务条款中明确告诉您不允许逆向工程。你最好先检查这些东西!
  • 另一件要尝试的事情是看看它是否有--help-h 选项,或者你是否可以激发它输出某种“使用”消息。
  • 第三种可能:搜索或向供应商索取文档!
  • 不,不是。如果您想取得进步,请尝试 GhostCat 的建议。

标签: java jar disassembly


【解决方案1】:

感谢问题的评论者。我正在以答案的形式总结收到的信息。

不,不可能清楚地确定可能的 jar 参数。

唯一的选择是:

  • 联系开发者/供应商并要求他们提供文档
  • 使用 JD-GUI 等工具试试运气
  • 对 jar 文件进行逆向工程

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2014-07-26
    • 1970-01-01
    • 2013-05-25
    • 2020-05-21
    • 2013-04-16
    • 2012-12-10
    • 2018-02-21
    • 1970-01-01
    相关资源
    最近更新 更多